Chief Architect of IBM Greater China: Talking about the career of programmers

 

Some young programmers asked me how to go in the future? As the saying goes, all roads lead to Rome. There are different paths to success. Which path you choose depends on your interests. Some programmers may ask: What should I do if I haven’t found my interest? My suggestion is to try more and work hard. This is the only way for a career. When you have accumulated a certain amount of technology and experience, you will face a variety of 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 are more proficient in professional technology than ordinary programmers, and can solve all kinds of common programming problems in their hands. It can be said that such experts are "the older they are, the more valuable they are", but such experts also have certain Risk: With the increase of experience and age, the wages of these people will be higher and higher. When the company changes the 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. To become a training expert requires not only a solid technical background, but also excellent communication and presentation skills, because their main job is no longer to develop a certain technology, but to disseminate technical knowledge. This road is very wide, and some excellent technical trainers will not only hold their own jobs, but also give lectures in universities part-time. Although the skills of training experts may not reach the level of expert programmers, the work content is relatively richer and more people are in contact.

  Becoming the technical director of the company is the dream of many programmers. This route is to grow from a junior programmer to a senior programmer, focus on projects, and then develop into project managers, development managers, and finally become technical directors and even vice presidents of the company. These programmers take the technical management route, starting from working on projects, gradually accumulating management experience, and then growing into excellent technical managers. The technical director has extraordinary influence in the company and even in the technical world. It is a great temptation for programmers who aspire to become the company's leadership. However, more power and more people in charge means greater pressure. The technical director must not only remain sensitive to new technologies, but also spare energy for management. This road may be more difficult than becoming a pure technical expert.

  There are also some programmers whose career development ends with the chief architect and chief designer. The interest of such programmers is not a specific technology, but 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 violinist, flute player, etc.), they are responsible for playing their instruments well; the project manager is the band conductor, responsible for directing and coordinating The coordination of this band; the architect is equivalent to the composer. Start from an entry-level architect, and gradually become a senior architect and even a chief architect. Like the great composers in history, outstanding architects can compose melodic "songs" in various software.

  Other programmers have the ideal of starting a business. When they have accumulated a certain amount of technology and mastered some market demand and management methods, they will start their own business. Once successful, such people will have great influence. The founders of Google and Yahoo are examples of successful technology entrepreneurship. But this road is also the most difficult. There is a saying that "if you are not in charge of a family, you will not know how expensive it is." It is difficult for people who do not start their own businesses to understand its hardships. Entrepreneurship involves all aspects, and if there is a slight mistake, it will fall short. There are many programmers who devote themselves to entrepreneurship, but very few of them can really succeed. Embarking on this road requires not only extraordinary courage and courage, but also perseverance, in-depth business wisdom, coupled with market opportunities, in order to win to the end.

  Many programmers will take the technical support route, and then develop into business-savvy technical and industry consulting experts. This type of programmer will join the sales team after becoming a senior programmer, directly face customers, and be responsible for technical issues. If you are very familiar with a certain industry (such as banking, telecommunications), you will become an expert who is proficient in this industry technology over time; 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 their content or experience in technical work, and then publish articles to earn manuscript fees. As long as they are proficient enough in technology, such people are very popular with magazines. There is also a kind of freelancer in North America called contract workers, who undertake projects from time to time, sign an agreement before the project starts, and end the cooperation after the project is completed. Although there are not many such occupations in China at present, its freedom is also very attractive to many programmers.
    For the several paths mentioned above, programmers can choose according to their own interests, but generally speaking, no matter which path they take, there is a prerequisite: from junior programmers to advanced programmers. Because before that, you didn't even have a chance to choose. From elementary to advanced, it usually takes 2 to 5 years, depending on individual qualities. Everyone says that programmers must endure loneliness and boredom, and young programmers must overcome impetuous mentality. In the initial stage of career, many people will always be confused. At this time, we must calm down and ask senior programmers for advice, and gradually become familiar with technology, development process and industry. Sometimes you feel like you have fallen into an ocean of knowledge, surrounded by unfamiliar things, which are difficult to grasp. So it is even more necessary to explore the way around, gradually find the direction, and make progress in the search.
    Successfully advancing to a senior programmer does not mean that the future is bright. If learning is what is needed to go from beginner to advanced level, then what is needed to go from advanced level to expert is continuous trial and persistence. Compared with the previous stage, this process is longer and usually takes 5-8 years. During this period, because of the previous accumulation and certain achievements, people will be more confident and at the same time more hesitant. One question will often hover in their minds: how do we go in the future?
At this time, you can use the resources you have accumulated to try more, try different roles, different projects, and deal with different customers. After a long time, you will naturally find the most suitable development direction for you.
    To sum up, the period of junior programmers and senior programmers belongs to the first stage of career development, which we can call the golden period. The age of programmers at this stage is between 20 and 35 years old. Because they are young, they are better at learning and have plenty of physical strength. Many programmers who have passed this stage have the experience of working overnight. During this period, you have a lot of time to learn and improve, laying a solid foundation for your future career. And once over 30 years old, both physically and mentally, there will be changes. From 30 to 40 years old is a transition period. At this time, programmers (many of whom are no longer programming) have clearly defined their own development direction, and are working hard towards their goals to make themselves successful. The age of 40~60 is the expert period. At this point, an excellent programmer will completely realize the desire to "break out of the cocoon and become a butterfly" and grow into an expert.
    The career of a programmer is exciting, but also very difficult. Enjoying high wages, mastering the latest technology, possibly becoming a successful entrepreneur, and even having the opportunity to change the way of life of human beings (such as the development of
Internet browsers, e- commerce applications, mobile phone text messages, etc.), this is what other people think of programmers. Life, perhaps because of this, every year many newcomers join this huge team to experience the long-awaited wonderful life. 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 rich is physical and mental exhaustion. If you want to change the way of life of human beings, you must Endure the boring and lonely day after day. You have to taste the ups and downs by yourself. There are many development paths for programmers, and it depends on how you choose.

Guess you like

Origin blog.csdn.net/MingDaw/article/details/6991184