As far as the current economic environment is concerned, it is very pessimistic, and life for Java programmers is also very difficult. Whether they are still looking for a job, or have been employed for many years, or even if they are project managers and technical managers, they are under extraordinary pressure. It's huge and seems to be full of dangers everywhere.
However, if you analyze it carefully, there is still a way out. It is even possible to meet the needs of food and clothing and live a life with a house, a car and no loans. First of all, in today's impetuous society, most people have an impetuous mentality. As long as you can concentrate on studying a certain technology in depth and develop a skill, the problem of food and clothing can definitely be solved first.
If you are determined to work in the Java industry, generally Java programmers have three development directions: 1. Architect (requires long-term technical accumulation); 2. Project manager (requires certain technical and management experience); 3. Manager (General management experience required).
1. Toward an architect
For any Java developer, architect is a coveted role. So is there any obvious difference between programmers and architects? In fact, the boundary between architects and programmers is not very big. For example, I still write code every day. In fact, growth first comes from one's own learning, and reading the code of mature projects will benefit people a lot. Secondly, it comes from experience in the field in which you are engaged. You must understand the characteristics of distributed systems and be able to pay attention to performance and performance when working on projects. Scalability, reliability, availability and other indicators.
Architecture is actually a long accumulation process. From the preparation period to the turbulent period, we are constantly exploring and learning. Most architects are around 35 years old, and this stage is the golden age of programmers.
So how do we strengthen our capabilities according to the standards of an architect? To develop into an architect, programmers need to further strengthen their skills. For Internet companies, the most important skill is the understanding of networks and distributed systems. There are many books on the Internet. Distributed systems are more troublesome. In addition to being distributed in large Internet companies now, for technical knowledge, I personally recommend You also have to master high performance and understand things in a simple way. Performance tuning, Spring, JVM and other technologies.
Of course, good ability to control and manage the development team and good personality cultivation can enable the architect to work with ease in the development project without unexpected interference, and can exude personality charm from within. .
2. Towards a project manager
There are also some programmers who have better job opportunities. They are not only responsible for the design of the project, but also for the project management. I have tried my hand at the job of project manager.
Therefore, this type of programmers can examine themselves to see if they are suitable for this job. If you are satisfied with this kind of work and meet the requirements of a project manager, you can develop in the direction of a project manager.
The project manager assumes the responsibility of project management and is primarily responsible for the project. Its role is also different from that of programmers. The focus of project managers has shifted from programming to the management of people, technology, progress, and projects. Since the software project manager is closely related to the software project, he must understand all aspects of software development, understand various development technologies and applications, and understand the level and characteristics of the development team members. So he still has something to do with programmers.
From programmers to project managers can enable project managers to better understand the status and role of programmers in the project and understand various regularities in software development. This ensures the normal completion of the project. Moreover, the project manager's income and status in the company are also relatively high. Therefore, I think becoming a project manager is another development space for programmers.
I would like to remind programmers that it is best to do a good job in software design before becoming a project manager, so that they will have a good foundation when becoming a project manager.
3. Towards managers
Many programmers hope that they can become supervisors, managers, CEOs, and bosses in the company, so that both in terms of income and status in the company They are all relatively high.
In addition, on the one hand, programmers may be tired of programming work year after year and have developed resistance to work, hoping to get rid of this pressing work state. To become a manager actually requires programmers to make more preparations and do more transformation work than ordinary people. It does not mean that you can become a manager if you want to be a manager.
However, if a programmer has this ambition and hobby, has accumulated work experience in this area, and feels that he can develop in this area, and more importantly, if he has such an opportunity, it is possible to become a manager. . After all, managers of software companies are different from managers of ordinary companies. The stronger their professional ability, the easier they are to manage. Management without professional ability will encounter many problems and it will be difficult to solve them.
Therefore, my suggestion is that programmers should lay a good foundation in programming, project design, project management, etc. In this way, the success rate of transitioning to a manager will be higher.
4. Stay where you are
Of course, there are also some programmers who are relatively inert and are content with the status quo and enjoying the fruits of victory in front of them, which is understandable. When dealing with these programmers, we should not force them to change their ideas. My suggestion is to develop where they are, do their job better, and improve their technical level one step further. In the process, their abilities and self-confidence will be improved, and their ideas will not remain static. The skill of sharpening the knife is to chop firewood. If the knife is sharp, it will naturally chop wood.
No matter which industry you are in, you should make career plans as early as possible. People need a goal to motivate themselves, especially Java programmers. It is always better to gradually improve your strength towards a goal than to go around in circles. I believe you are smart and know what to do.
According to incomplete statistics, as of now (2017.07), the number of Java programmers in China has exceeded 1 million. Moreover, with the continuous development of the IT training industry and a large number of fresh graduates entering the society, Java programmers are facing increasing competitive pressure.
So, as a Java programmer, how can you work hard to quickly grow into a senior programmer or architect, or what kind of technical knowledge system should an excellent senior engineer or architect have? This is a problem that not only a junior programmer who has just entered the workplace, but also an old programmer who has become confused after working for three to five years must face and figure it out.
The above is the detailed content of How to develop as a java programmer. For more information, please follow other related articles on the PHP Chinese website!