preface

Time flies, time flies.

It’s a time to look back and niu

Professional review

I was ready to run away at the end of last year, and then I had an interview before the end of last year, and got the offer of the headline. I started working after the end of last year

I am applying for the position of Android- multimedia development engineer. The specific position can be found on the official website: Multimedia platform r&d engineer -Android – Douyin Volcano

The job content is simply to make audio and video SDK and support some business of Toutiao.

I didn’t actually do audio and video in the early days.

After graduating from XDIAN in 2016, I was mainly engaged in Android application development. At that time, I was keen on using excellent open source libraries such as RxJava, Retrofit and Glide, and wrote the famous MVP and MVVM architecture codes. Meanwhile, I studied the source code of Android system. I learned Android plugins and components in depth, and then MASTERED Kotlin and JetPack series, which greatly improved the efficiency of application development. It was the time when the effectiveness was at its peak. What a pure and beautiful era ~~~

Unfortunately, I didn’t get into the car until now, so it’s still too late to get into the Flutter.

Later, the painting style changed and entered the pit of audio and video, and gradually began to transform. After all, the skills mentioned above are seldom used, mainly in writing C++ code, of course, writing is not good.

Many people say they want to learn audio and video development, but do not know how to get started, so how do I transition?

Due to the assignment of my former company, I made a camera application project on my own. Later, I participated in a drawing board application and filled in a lot of holes. However, I also lit up the skill tree related to OpenGL and audio and video through these two projects.

In fact, before the above project development, I was also doing chores, doing the development of application business. However, at that time, short video application became a bit hot, so I paid more attention to this technology. I read a lot of relevant open source project codes and blog articles, such as GPUImage, Grafika, CameraView, etc. When I had the opportunity to do related development, I decided to go ahead with it, which led to the following story ~~~

Thus, if you want to do something, it may have nothing to do with what you are doing now, you should also act silently, not only heartbeat without action, waiting for the opportunity to come one day, is the moment of accumulation.

This kind of chicken soup is not familiar, I drink too much chicken soup, but feel another taste.

Technology in fact, this thing is also pay attention to draught, more accurately should be said that business pay attention to draught, technology is just a tool for business services.

With the advent of short video, the market is large, and major companies want to get a share of the pie, it is inevitable that there will be a greater demand for technical talents. And short video business involves audio and video technology, either the company has the corresponding technical precipitation, or build from scratch, if the time is tight to recruit outside, or spend money to use the services provided by others. But anyway, we just need people.

Therefore, as an important part of the whole industry chain, technical personnel can also do a good job in the corresponding study before this, after all, the opportunity is left to those who are prepared, if you have to prepare.

This thought and fry buy fund to have a bit similar, go up in pay treasure and a few fund software, often can see say ahead of schedule layout 5G, recommend to buy all sorts of stocks and fund next.

Buying stock funds, or copying coins, is value investing. It is also about buying when it is undervalued and selling when it is overvalued. Do technical truth is about the same, early obscene development, behind a wave away.

Said a little exaggerated, in fact, later luck, catch the headlines of Shenzhen recruitment, just the team in the expansion of recruitment, recruitment quota, large demand, DO not know how much water, I this small dish chicken to pit.

So, if you see a company expanding its program, don’t hesitate to apply for it.

Getting back to the point, I mentioned audio and video development, but actually, what I do is neither video nor audio development. The range of audio and video is too wide, and each point can be subdivided, there are audio groups and video groups, specializing in all kinds of audio gameplay, all kinds of video algorithms, the lofty content is not to understand anyway.

But as a complete system, there is always a need to link up each link. In addition to lofty research, engineering practice, performance optimization, interface docking, daily testing and other links are needed, depending on which link you are in.

It’s so hard these days to master everything by yourself, top to bottom. Looking at the vast code, twisting the screws in his hands, kind of feel too small.

Stay interested and explore a little bit more.

Personal development

This year began to operate the public number [paper shallow talk], but also the Buddhist operation, has not had too much time to invest in this.

There is also a blog, glumes.com/, where technical articles are posted first.

The average daily page view of the website from Monday to Friday is in hundreds of more, to the weekend slump, we can see the holiday technical articles read less.

Through Google search YUV, CameraX, Vulkan and other keywords, you can directly search for blog articles, and the blog reading experience will be better, to achieve the whole site HTTPS pure without advertising. Of course, it’s not that I don’t want to display ads, and after countless unsuccessful applications to Google AdSenese, I finally got tired of trying and gave up (feeling like I missed out on a few billion)…

In fact, it is a very difficult thing to deal with blog, from the early independent host, WordPress site, DEALING with WP template, domain name purchase resolution, to GitHub Pages site, VPS self-built map bed, HTTPS, this way, full of sadness and compromise.

Every webmaster is not easy, experienced people will understand, there is basically not too much traffic, but still insist on writing, this should be a manifestation of the Geek spirit ~~~

At the same time, I also maintained a relatively pure technical communication group [OpenGL ES technical communication group]. From one or two people in the early days, now there are more than 300 people, including many toutiao and Tencent bigwigs. In addition to discussing OpenGL, we will also discuss audio and video development.

Group chat is more resistant to advertising links, do pure technical communication. Some people may ask how toutiao XXX function is implemented, and how douyin XXX effect is implemented, which I don’t know, even if I know, I can not say, after all, the job is important, fortunately, there are many enthusiastic leaders, always can answer questions.

In addition, I wrote many OpenGL blogs in the early days. Many people pay attention to nuggets and public accounts because of this. Here are a series of articles on OpenGL:

  • OpenGL learning series – basic drawing process
  • OpenGL learning series – basic shape drawing
  • OpenGL learning series – Coordinate system
  • OpenGL Learning series – Projection matrix
  • OpenGL Learning series – Observation matrix
  • OpenGL Learning series – Texture
  • OpenGL glDrawElements drawing method
  • Replace the video frame content with OpenGL
  • OpenGL optimization terms of the surface of the elimination and attention points
  • OpenGL depth testing with precision values for those things
  • OpenGL GPUImage source code analysis
  • OpenGL EGL usage practices
  • OpenGL frame buffering practices
  • OpenGL practice bezier curve drawing
  • OpenGL realizes the transition effect in video editing

In fact, I wrote a series of Vulkan anthologies later, but I felt that there were a little less developers in this area, so I didn’t continue to write.

  • Invader Vulkan mobile Development (I) of this life prelife
  • Vulkan Mobile Development (II) : Understanding the rendering process
  • Instance & Device & Queue for Vulkan mobile development
  • Attack Vulkan mobile development Command Buffer
  • SwapChain for Vulkan mobile development

However, the skills I have learned have not been forgotten. They have been stored in my mind and notebook as lines of code to accompany me on my travels.

I also recently tried recording video courses, recording a set of free technology videos developed by Android NDK in moOCs.

Moocs videos are now online

They used to write articles, but now they start to record technical videos. The forms of expression of the two are different, but they have in common the need to master the relevant knowledge well in advance, and in the process of recording and writing, it is also necessary to constantly check and fill up the gaps, which is very helpful to the improvement of personal ability.

As for whether or not to continue recording videos, I’m just trying now and exploring constantly, but mainly it takes too much time and the income is not high.

When can the technology video not only talk about boring code, but rich and interesting like Huannong brothers, gastronome Wang Gang and Handwork Geng, popularize some basic knowledge of computer and show handwork small projects, just like the finished products made in the project competition to show everyone. If that were true, it might be more fun to write code.

Finally, there’s the nuggets’ success, which currently has 4,500 + followers and counting.

Recall how to have a controlled happy, since started writing OpenGL relevant content, it continues to grow, and the nuggets of OpenGL, audio and video content more and more, this is a good sign, the more learning resources, to illustrate the craft demand is also growing, always not do more harm than good for migrant workers.

All see this, do not pay attention to a wave of public number, your attention is my constant renewal of power…

The program life

It’s a New Year and it’s time to set new flags.

In other words, I have worked for three years and changed jobs twice. I have cleared customs in the Pearl River Delta and left footprints in Zhuhai, Guangzhou and Shenzhen. Generally speaking, Zhuhai is the most livable city, the beach life is very pleasant, suitable for retirement, but now the quality of life has plummeted with the increase of salary.

The next few years are always going to be code writing, so why not make it a better business? Holding such thoughts and ideas, there will be no idea of learning not to move, but there is no time, but the coming days are long, slowly do bai…

Some time ago, I also made one or two iOS requirements, so I specially looked at OC and Swift. I have to say that the syntax of Swift is very similar to Kotlin, and the threshold for entry is greatly reduced.

After all, audio and video are cross-platform, so it is always good to learn a wave of iOS and understand the idea of dual-terminal implementation. In addition, when writing an article, listen to the beginning and end of the article. Flutter should take time to understand a wave.

In addition, there are a lot of interesting things to do, I hope to write more audio and video, image rendering articles and blogs, in addition to basic theory introduction, code analysis, it is best to bring some practical items, do something fun ~~

What specific do not say first, how to predict the future, continue to pay attention to a wave of it ~~~

Denver annual essay | 2019 technical way with me The campaign is under way…