Some young programmers asked me about the future path. As the saying goes, all roads lead to Rome. Different paths can lead to success. Which path to choose depends on your own interests. Some programmers may ask: What should I do if I haven’t found my interest yet? My advice is to try more and work hard, this is the only way to go in your career. When you accumulate certain skills and experience, you will be faced with many choices. Which path to choose varies from person to person.
If you are very interested in one or several technologies and can continue to study, after a certain period of accumulation, you can gradually grow into an expert programmer. Expert programmers’ proficiency in the professional technologies they master is beyond the reach of ordinary programmers. All kinds of common programming problems can be easily solved in their hands. It can be said that such experts "get more valuable as they get older". However, these experts also have certain advantages. Risk: As experience and age increase, the wages of these people will get higher and higher. When the company changes its technical route and no longer needs the professional skills mastered by expert programmers, or wants to reduce the cost of doing things, They may face unemployment or find another job.
Senior training experts are also a good development direction. Becoming a training expert requires not only profound technical skills, but also excellent communication and expression skills, because their main job is no longer to develop a certain technology, but to disseminate technical knowledge. This road is very broad, and there are some excellent technical trainers who, in addition to their regular jobs, also give lectures at universities part-time. Although the skills of training experts may not reach the level of expert programmers, the work content is relatively richer and they come into contact with more people.
Becoming the technical director of a company is the dream of many programmers. This route is to grow from a junior programmer to a senior programmer, focusing on doing projects, and then develop into a project manager, development manager, and eventually a technical director or even a company vice president. These programmers take the technical management route. They start by working on projects, gradually accumulate management experience, and then grow into excellent technical managers. The technical director's influence in the company and even the technical world is extraordinary, and it is a great temptation for programmers who aspire to become company leaders. However, having great power and managing many people means greater pressure. The technical director must not only remain sensitive to new technologies, but also devote energy to management. This road may be more difficult than becoming a pure technical expert.
There are also some programmers whose career development ends as chief architect or chief designer. The interest of this type of programmer is not in a specific technology, but in the design of software products or software application projects. If the software project development team is compared to a band, then the programmer is equivalent to a musician (such as a violinist, flutist, etc.), who is responsible for playing their own instrument well; the project manager is the band conductor, responsible for command and coordination The coordination of this orchestra; the architect is equivalent to the composer. Starting from an entry-level architect, gradually becoming a senior architect or even a chief architect. Like great composers throughout history, outstanding architects are able to compose melodic "songs" in a variety of software.
Other programmers have entrepreneurial ideals. Once they have accumulated a certain amount of technology and mastered some market demands and management methods, they will start their own business. Once successful, such people will have great influence. The founders of Google and Yahoo are all successful examples of technology entrepreneurship. But this road is also the most difficult. There is a saying that "you don't know the price of firewood and rice when you are not a family member." It is difficult for people who do not start their own business to understand the hardship. Entrepreneurship involves all aspects, and if you make the slightest mistake, your success will fall short. There are many programmers who devote themselves to entrepreneurship, but very few can actually succeed. To embark on this path requires not only extraordinary courage and determination, but also perseverance, in-depth business wisdom, and market opportunities to win in the end.
Many programmers will take the technical support route and then develop into technical and industry consulting experts who are proficient in business. This type of programmer will join the sales team after becoming a senior programmer, face customers directly, and be responsible for technical issues. If you are very familiar with a certain industry (such as banking, telecommunications), over time, you will become an expert in the technology of this industry; if you are very good at a certain type of solution (such as ERP, CRM, SCM), you can develop into a cross-industry expert. Technical experts.
There are also some programmers who will become IT columnists and freelancers. These people are usually more interested in writing and have good writing skills. They will write out the content or experiences of their technical work, and then publish articles to earn royalties. As long as they are proficient in technology, these people are very popular with magazines. In North America, there is also a type of freelancer called a contractor, who takes on projects from time to time. An agreement is signed before the project starts, and the cooperation ends after the project is completed. Although there are not many such professions in China at present, its freedom is also very attractive to many programmers.
Programmers can choose among the several paths mentioned above according to their own interests, but generally speaking, no matter which path they take, there is a prerequisite: to advance from a junior programmer to a senior programmer programmer. Because before that, you didn't even have a choice. It usually takes 2 to 5 years to advance from beginner to advanced, depending on personal qualities. Everyone says that programmers must endure loneliness and boredom, and young programmers must overcome their impetuous mentality. At the beginning of their career, many people are always confused. At this time, they must calm down and seek advice from senior programmers, and gradually become familiar with the technology, development process and industry. Sometimes you will feel like you have fallen into an ocean of knowledge, surrounded by unfamiliar things that are difficult to grasp. Therefore, it is even more important to explore around, gradually find the direction, and make progress in the search.
Successfully becoming a senior programmer does not mean that the future is bright. If what you need from beginner to advanced is learning, then what you need from advanced to expert is constant trying and perseverance. Compared with the previous stage, this process is longer, usually taking 5 to 8 years. During this period, because of previous accumulation and certain achievements, people will be more confident and at the same time more hesitant. There is a question that often hovers in the mind: How to take the future? At this time, you can use the resources you have accumulated to make more attempts, try different roles, different projects, and deal with different customers. Over time, you will naturally find the development direction that best suits you.
To sum up, the junior programmer and senior programmer periods are both the first stage of career development, which we can call the golden period. Programmers at this stage are between 20 and 35 years old. Because they are young, they are better at learning and have sufficient physical strength. Many programmers who have passed this stage have the experience of working all night. During this period, you have a lot of time to learn and improve and lay a solid foundation for your future career. Once you are over 30 years old, you will undergo changes both physically and mentally. The period from 30 to 40 years old is a period of transformation. At this time, programmers (many of whom no longer program) have clearly defined their development direction and are working hard towards their goals to make achievements. The age of 40 to 60 is the age of experts. At this point, an excellent programmer will completely realize his wish to "break out of his cocoon and become a butterfly" and grow into an expert.
The career of a programmer is exciting, but also very difficult. Enjoy high wages, master the latest technology, you may become a rich and successful entrepreneur, and you may even have the opportunity to change human lifestyles (such as the development of Internet browsers, e-commerce applications, mobile phone text messages, etc.) This is the life of a programmer in the eyes of others , perhaps because of this, many new people join this huge team every year to experience the wonderful life they have longed for. But most people ignore the hardships behind the glamor. The price of high wages is high work intensity, the price of learning new technologies is high work pressure, and the price of becoming a rich man is physical and mental exhaustion. If you want to change human life style, you must I can endure the boredom and loneliness day after day. You have to taste the ups and downs by yourself. There are many development paths for programmers, it depends on how you choose.