preface
Many years ago, when I was just graduating from college, many companies came to recruit students. One of the most banal interview questions is: “Where do you want to be in the next three to five years?” . My standard answer at the time was [quote] : “To become a technical expert who can do something on his own”. Later, I went through several different companies in different directions and realized that this was really a difficult problem. Because soldiers are impermanent potential, what things are in constant change, early in the morning when the optimistic thing may be eliminated.
Nobody (almost) knows where technology is going next because the problem is so difficult that you become the Warren Buffett of technology. For example, I joined Google in 2011, Facebook in 2014 and Alibaba in 2016. The person who does this has to have the capital and the vision to make a venture capital investment, even if you don’t make a venture capital investment then you can be financially free.
Now six years after graduation, I have traveled from Beijing to Shanghai to Silicon Valley, and from domestic Internet companies to foreign companies. I have seen the good and bad aspects of the company. Here I just write some general direction suggestions based on my own experience for reference only.
First, industry background is important
Industry background is important; After working for 3 years, I must determine my industry background, such as telecom industry, banking project, ERP industry and so on.
It is impossible for a programmer to write code all the time. As the saying goes, different industries are like mountains, and the business of each industry is different or even very different. For example, if you have been engaged in the research of streaming media, you will be transferred to a bank project. After that, you can learn everything from the beginning, and the previous industry experience will not be used. Moreover, when a company hires people, it wants to find programmers who are easy to learn and don’t need to train for a long time. If you change jobs frequently, be aware of this.
If you stay in an industry long enough, you can become an expert in that industry. We can often see that a leader of a project team is mediocre in code writing, but he can communicate smoothly with customers and control the proposal of new requirements and the correction of bugs. Clients are also willing to deal with him because he is the only one who can maintain the old projects, and he even knows every table structure of the system — how long he has been in the industry.
Second, reasonable career planning
What is a career plan – a short or long term career plan for you! All right, let’s keep it simple. Let me ask you a few questions:
A. You’ve been working for a few years. Do you want to be a simple programmer all the time?
B. Would you like to keep writing code and not care about anything else?
C. In the early stage of a project, the design, the later deployment and maintenance, the leader came to you, you said WE can not handle, ok?
Programmers are not machines that type code. In the first year, you don’t know too much. You can do whatever your boss tells you to do. But the second year, are you still like that? Impossible, one year of experience you can go into the industry, it’s time to learn how to do requirements analysis, how to design databases, how to write all kinds of documents, how to write better code? This is a requirement for advanced programmers!
What is an advanced programmer?
Has the analysis design ability, can carry on the technical breakthrough, and has some industry deep background programmer!
All, after a project is set up, you should actively participate in the preliminary design, thinking and analyzing problems together with the old comrades, learning experience! OK, you’re growing up now!
Don’t think programmers just write code!!
Also, through the development of a project, you need to be able to roughly calculate the development time of a feature; For example, if a module has 20 small feature points and you develop it for 80 hours, each small feature point averages 2 hours — then you can evaluate the effort early on. Of course, everyone’s efficiency and work quality are different from person to person, but the approximate workload should be statistically available for the statistical work cycle of a project;
According to incomplete statistics, as of July 2017, the number of Java programmers in China has exceeded 1 million. Moreover, as the IT training industry continues to grow and a large number of new graduates enter the society, Java programmers face more and more competitive pressure. Then, as a Java programmer, how to quickly grow up to be a senior programmer or architect, or a good senior engineer or architect should have what kind of technical knowledge, this is not only a junior programmer, just step into the workplace and work after three to five years old programmers began to confusion I have to face and figure out. To help you avoid the pitfalls, I’ve come up with a roadmap for Java programmer growth.
I have specially sorted out the above technologies, which can not be explained clearly in a few words, so I simply recorded some videos. The answers to many questions are simple, but the thinking and logic behind them are not simple. It is necessary to know what is and why. If you want to learn, you can add to my group: 650385180. I will share my years of working experience in the group and upload these knowledge points for everyone to learn and download for free.