Abstract

The Development of Internet information technology is too fast, as an excellent programmer, must continue to learn, simple accumulation of experience is not sustainable, the speed of technology elimination is much faster than the speed of experience accumulation, therefore, it becomes quite important to update knowledge.

Why keep learning, not by experience?

Many people say that programmers earn a good salary, comparable to doctors and lawyers, but the difference between programmers and doctors and lawyers is continuous learning. This is not to say that doctors and lawyers do not need to learn. Doctors and lawyers can accumulate profound experience based on previous cases (which is one of the reasons why people tend to trust older doctors), and this experience can be reused to a large extent. The programmer profession is different, mainly because the industry information changes so quickly that the accumulated experience is no longer applicable.

A few examples:

If you are a Java programmer and are very good at Struts + JSP development, you solved a lot of the problems of the Struts framework, but today, this part of the knowledge is outdated and needs to be relearned. If you still insist on using the previous technology, it will bring great technical burden to colleagues and the company. If you look back on how many technologies you have lost sight of since graduation, many technologies have been eliminated from alibaba.

When it comes to programming, there are a lot of languages and families, and the experience you gain in one language may not translate to another. I rarely hear of a Java group recruiting one. Net senior engineer, if any, it is for the product. Net SDK Client; Software experience is also reflected in the design of an architecture. Many students will say that more experience leads to better architecture design, which is not necessarily true today. Everyone is on the cloud, and the services provided on the cloud are basically similar, with the same architectural ideas and services used on the cloud.

First, tools to be very skilled

I once had dinner with some Google engineers and asked them which ones were good. One engineer said that his leader was so good that when helping him find bugs, he was dazzling in the use of tools and debug. Many of the tools were new to him, and Python scripting was almost effortless. The reason is not that the leader can see the problem at a glance. Some problems are also the first time for him to encounter, but he tries many times in unit time, so he quickly forces out the problem.

When it comes to troubleshooting and coding, if you can only do one thing an hour and someone else can do it 10 times, that person is better than you. Fast is the only way to learn and try new things. How skilled you are at writing demos, asking questions, and using tools will determine how quickly you learn and try new things.

Two, reading & reading documents

Daily reading is about accumulation, and using your spare time to read a chapter or even a piece of code will inspire you. “Reading thousands of books, writing like god” is a certain truth, develop the habit of taking notes when reading, taking notes on the one hand to deepen the impression, on the other hand, second reading on the basis of notes, they will have a deeper understanding.

In addition to books, we also need to focus on documentation, and many frameworks and technologies are now well documented and of increasing quality. If you’re stuck with documentation, just a few pages of introductions and demos, then you might want to change your point of view. If you look at the projects on CNCF, the documentation quality of almost every project is very high. Now many projects are not one or two programmers working alone, but a team with a very collaborative platform like Github, so there is very little mismatch between documentation and code and new features, and many issues are about documentation.

3. Video learning

What’s the difference between a video and a book?

First of all, the compilation of books is time-consuming, and the author of books should have a certain writing level, which is more demanding for people who are skilled in writing but not good at writing. He needs to fully express his ideas with words. And many people are more allergic to large paragraphs of text, especially books with strong theories and academics, mainly because the text is too much, there is no code, and unlike novels with plots, it is very difficult not to feel sleepy. On the contrary, the video is not the same, PPT is very well made, and animated, relevant instructions are appropriate, easier to learn.

The video also has some functions that words cannot express: the book will only post a piece of code, and the code in the video needs to be input, then you will find a lot of black technology or black skills of the author, you can also learn. For example, in some introductory books, it is usually explained or quoted, while in the teaching video, it will open the corresponding website and give you some key features. In addition, some things that are easily overlooked in the book may be well supplemented in the video. Moreover, many of the video producers themselves are from the framework and technology development team, rather than third-party book authors, so the freshness and skill are very obvious.

Tech news, tech influencers on Twitter & attending tech conferences

The books, documents, and videos that have been introduced so far allow us to understand and delve into a particular technology should be no problem for the job. However, if you want to keep up with the trend and get inspiration, you may also need to pay attention to some technical news. Technical news is not managed by a good local platform, which is relatively messy. You need to have your own method. If you’ve been following a particular technology, join a Slack or Gitter discussion group for that technology, where people share good news and tech articles.

If time and money allow, I suggest you can attend the technical conference, after all, the scene atmosphere is different. Two or three days, no work, no thinking about anything else, around this topic, and Keynote, with multiple peers, the feeling is different. You need to believe that you are looking in the right direction, so that you have more motivation to understand further. There are many booths in the technology conference, and it is not easy to gather the very outstanding enterprises and technologies in this industry.

Five, do the project, write Demo, look at the source

I mentioned learning, but the programmer can’t do it without writing a Demo. Consider trying new techniques in your project. We’re doing microservices now, so there’s a lot of freedom in the tech stack, depending on how you handle it. Not all of these techniques can be applied to the project, some are heuristic or intuitive, you need to write demos, and there’s nothing wrong with sharpening knives. As mentioned earlier in this article, the tools need to be very skilled, or a one-hour demo isn’t worth it. I read a lot, I read a lot, and it would be nice to use some code. I am not saying that all of this knowledge is for code, but a lot of it is for architecture. For example, learn ES 6 + React. It is hard to imagine how to master this knowledge without code.

Reading source code is a very important skill, at least your code review skills improve, but the cost is really high. Personally Kubernetes is still relatively familiar with, but let me see Kubernetes source code, great pressure, especially not good at the field. It’s ok to look at Spring Fu’s source code, but it’s too stressful to look at Istio and Envoy’s source code, but it’s helpful if you decide to dive in.

Try to learn as much as you can on a project. Don’t just stick to the technology you’re familiar with. It’s too late to adjust after it’s gone. Write more demo, more grinding knife, the technology of your industry, some source code or to be able to understand. Crossover technology, read the source code according to his ability, let the Java program to see JS framework source code or C++ source code, is the need for psychological preparation.

6. Fewer people are reading nowadays

It’s unique to see a tech guy on YouTube talking about reading. In fact, modern people read more than before. They read more news, articles, videos and moments of friends when they open their mobile phones every day. Compared to paper reading, such as books, the life cycle of knowledge is too short, and the nutrition is not high, which is why people think that reading less, does not help you grow knowledge.

If you are not a product manager or need to analyze the industry, news apps may not be of much use to you as a technical person. It’s all about helping you find something to talk about, and it’s not going to be much use after dinner. It’s a waste of your time. You can spend half an hour scrolling through the news, and now there’s a smart algorithm for news that’s guaranteed to stick with you. They don’t care about your knowledge. They just want you to stay longer and watch more ads.

7. Appropriate hardware support

If you go into the office and look at a colleague’s computer, you can probably tell some occupations apart. You are not a Java programmer with a 13-inch MacBook Pro or Air. If you are a Golang or C++ programmer, you will not use JetBrains’ IDE tools, which are mostly Editor classes. The hardware advice is only suitable for Java class programmers, hardware is good for making you faster.