Share 8 years of development experience, talk about personal development experience, and clarify your development direction

Source: Internet
Author: User

In China, many people think that it behavior is for youth. If you are 30 years old, it will be difficult to develop again! In fact, this is not the case. net and Java development has been around for 8 years. Here, I would like to discuss with you through my own experiences.

  

Define the purpose of the incoming row

Many people work on the IT line to achieve "high income", because it is not difficult to be a page developer to learn HTML, Div, and CSS, in addition, as a page developer, it is easier to find a job, and the income is higher than that of ordinary jobs, it has become the choice of many college graduates. If you just want to do so, you must be careful. Because the competition for doing it is fierce, especially in terms of page design, there are a lot of developers. To save costs, most companies will only recruit such personnel as needed, in the absence of orders, some small companies may also seek various excuses or use pay-as-you-go methods to expel such employees. On the recruitment information, we often see "recruiting page designers, conditions: under 30 years old ...... Graduates from the field are welcome to apply. "This is because the technical requirements of such employees are not high, and it is cost-effective to contact the field engineers. Therefore, the phrase "it is for the youth of the IT industry" is just for people like above. If you lack the "Enterprising heart", you only need to hold "high income, it is easy to find a job. "If you enter this kind of attitude, the" IT industry is eating youth meals "will be fulfilled.

  

Select an appropriate tool

Java, C #, PHP, C ++, VB ...... Which of the 10 popular development languages has the greatest potential for development? In fact, the development language is just a tool. "instead of spreading the attack, it is better to give a full blow, to a certain degree of familiarity, it is easy to learn another language. There are three main types of development languages:

1. Network Development 

Now the network has become a bridge for communication in the world. For example, JavaScript, PHP, and Ruby are mostly used for network development.

2. Enterprise Software Development

Java, C #, and VB all achieve the object-oriented development goal and are more often used for enterprise system development.

3. System Software

C language, C ++, object-C, and assembly language are mostly used in System Software Development and embedded development.

Of course, this classification is not absolute. Java, C #, and VB are often used for dynamic website development. In many development projects, integrated development is used. In the same project, multiple development languages are used, and various development directors are used for simultaneous development. Therefore, when you get started, we recommend that you first select a suitable development tool for yourself, "focus on learning, and make every effort ".

 

 

Clear development direction

When you have a certain understanding of a development language and begin to feel like a zombie and become a development tool, then you should clarify your development direction.

Usually in the company, you can see that the majority of developers working on the UI Layer are over 20 years old, they are full of energy, and there is no family burden, two years ago ASP. net MVC, Silverlight, and so on, when they first appeared, they could buy a few books at home in the evening or visit the Internet directly. After three or five weeks of study, I have a certain understanding of the technologies that need to be used. Most people who have been in the past 30 years have already become home. The only hope for them to go to work at every day is to arrive at and have dinner at home. After dinner, I just want to spend some time with my children and look at their homework. I don't have the desire to learn new technologies. So many people close to 30 years oldProgramEmployees all have a sense of coercion (including myself at the age of 30). What should I do in a few years? At this time, you should clarify your goals and strive to move towards your own development direction. To sum up, you can select a suitable path from the following items:

1. Transition from technology to business

In foreign countries, many developed countries place great importance on talents. The income difference between a Senior Programmer and a project manager is generally no more than 15%. However, China is the country with the largest population in the world, and there are a large number of domestic talents, so the abuse of talents is often seen. A small company's Development Department often sees new faces, but PM does not change. Because the boss knows nothing about technology, and in their opinion, it is only to hold the PM's mind, that can be done in terms of technology. As for the technology department, we need to change people, they don't have to worry about it. Therefore, the transition from a technician to a PM is a forward choice, but developers also need to know that to become a PM is not just a technology, what is more important is understanding of management. A pm is mainly responsible for organizing teams, controlling costs, managing businesses, controlling project progress, communicating with customers, coordinating work, and conducting regular work reports. Therefore, to become a successful pm, we must pay more attention to organizational skills. PM must be able to improve the enthusiasm of the team, give full play to the team's strengths, and maximize profits for the company with limited development resources. After becoming a PM, we usually do not need to directly access technical development, but focus on business development, however, PM also needs to have a certain understanding of the technology. (I wrote an article on the necessity of PM's understanding of the technology.Article). Here I want to emphasize my point of view: to become a successful pm, the most important thing is the management capability, but I should have enough knowledge about the technology, this is a bridge to communicate with team members. Only in this way can we closely integrate with the entire team members, so that the team members can feel their own meaning and mobilize the enthusiasm of the team, instead of ignoring the existence of technicians. Technology is not a sufficient condition for a successful PM, but a necessary condition!

2. Development from programmers to Technical Management

In fact, a team leader has the same responsibilities as the project manager, but the team leader focuses more on technical development. Generally, a large project has two development teams under the leadership of the team leader, responsible for the core part of development, the other part is assigned to different development teams or outsourcing companies. I often see a few words on the internet, describing the difference between PM and TL: "technicians are willing to be led, but they do not like to be managed, I do not like to be driven or commanded like a cow. Managers force people to obey their commands, while leaders will lead them to work together. Management is objective and has no personal emotional factors. It assumes that the manager has no thoughts or feelings and is told what to do and how to do it. Leadership leads and guides people to achieve their goals. Leadership is highly emotional. It is not what you can command, nor can you measure, evaluate, and test ."

Both pm and TL have a deep understanding of business and technology, but PM focuses more on business management, profit, and risk, TL focuses on technical issues such as project costs, development difficulty, and software architecture. In the eyes of some people, technology and management are like a fish and a bear's paw, but in the next view, the two are inseparable. As long as you increase your understanding of Technology and Management in a timely manner and continue to develop to a deeper level, it is only a matter of time to upgrade from programmers to technical management personnel. For example, a common. net programmers, may be limited to ASP. NET page development, but once he has a development heart, he will naturally ASP. net MVC, Silverlight, winform, and wpf ui development methods are of interest. If you do not need much time to learn, you may know that these UI development tools are just some tools, in fact, there is no difference in development principles. Then, he will learn more about the communication modes at a deeper level and understand the commonly used communication methods such as TCP/IP, Web Service, WCF, and remoting, at this time, he may already feel that he has a better understanding of the development technology. Then, he advanced to the workflow, design mode, object-oriented design, domain-driven design, and service-oriented development. Finally, he became the technology leader. The above is just a metaphor, but it should be noted that during the learning period, you must pay attention to the communication with colleagues. Many developers prefer to be dedicated, and the Development Project always wants to be done by one person, it is not subject to external interference. But you must understand that, even if you have a great skill, it is impossible for you to handle a large project by yourself. Therefore, teamwork and communication between colleagues are necessary, which is also a prerequisite for success.

3. Unilateral technological development

Cutting-edge talents who can successfully develop technology are the most desirable job in the future, but are not capable of reaching this position. Many developers think that the business will always carry the "Taste of money". The boss never cares whether the development principles are in line with the development principles, and whether the tests are necessary, they will only boast in front of customers that the project can be successfully delivered upon expiration. If there is no major problem, the project will be successful. In fact, we also need to understand that the ultimate goal of a development project is to make money. It is also necessary to control the project cost and efficiency during the development process, therefore, management personnel must manage the project. However, developers also want to avoid this "money" and devote all their efforts to the technology world. People who are interested in technology often study a technology in depth and become technical elites. However, here is a shocking statement: China is already the second largest economy in the world, but its GDP mainly comes from the third-party processing industry. China can be said to be talented, but it lags behind in the high-tech industry. Over the past few years, we have seen a qualitative leap in high-tech technology, but there is still a gap between our country and developed countries in Europe and America. Therefore, it is more difficult to become a talented person with cutting-edge technologies in China than to become a foreign company. To become a cutting-edge developer, you must have a deep understanding of underlying technologies such as C, C ++, assembly language, embedded development, Windows API, and Linux API. You need to understand Java,. net ...... These advanced development languages do not mean they are more advanced than C, C ++, and assembly languages, but they encapsulate functions such as C and C ++, it is more suitable for enterprise software development, making development easier. However, if you want to develop some underlying software and a large system, you must use C, C ++, assembly, and other development languages. This is a condition for the success of cutting-edge talents.

 

 

Determine future goals

People have grown up from experience. The Ancients set up cloud: Thirty. It is not a person's social status or economic source, but a person's intention to the future and life. To become a successful person, you should set long-term development goals for yourself as soon as possible, as well as for a developer. As people have different personalities and orientations, they have different choices for themselves:

1. Self-Reliance portal, brave entrepreneurship

Almost 30 years old, many people will think that if you really want to earn money, you should establish a self-reliance portal to build a foundation for your own business. For first-tier cities like Beijing, Shanghai, and Guangzhou, to buy a house, the first-hand building is basically 20 thousand ~ About 40 thousand yuan/square meter, while in a common IT company as a project manager, the basic income is generally 15 thousand ~ Between 30 thousand RMB (unless you work in a large multinational enterprise, that's another matter). If you want to buy a house of around 100 m² RMB, it will take almost 10 years to earn an annual salary even if you don't eat or drink it, So you choose to start your own business, it is a future goal of many IT developers. To achieve this goal, we should focus more on the business. It is undeniable that in Chinese society, we often talk about "relationship". Even if the past 30 years of reform and opening up have led China's economy to flourish, however, for thousands of years, the downsides cannot be completely wiped out. Therefore, it is recommended that you establish a good relationship with your customers and maintain mutually beneficial interaction with your partners. This will be conducive to future career development.

2. leaving the country to the second line

This is also the choice of many people. Many people feel a lot of pressure when they have a family. They don't only have a career in their life. They want to spend more time taking care of their loved ones and caring for their children. Therefore, many people will choose a job like system analysis, system maintenance, university teachers, and lecturers of professional colleges. The income is stable, and it is often less pressure on front-line developers.

3. make unremitting efforts to make further efforts

Whether you are a project manager or a team leader, if you want to continue to be promoted to the level 1 level, it will still be polarization. From a PM to the management of a company, there will be a lot of changes in the event. The general manager of a company does not need to manage the costs of one or two projects, but the operations of the entire department and the business processes of the entire company. Therefore, the tasks to shoulder will be heavier. He once had a boss, Dr. Peng, who was the top leader of the company and earned an annual salary of more than 3 million yuan. He also showed up in newspapers and magazines. Normally, you can only give a few comments in some meetings. The normal company operation and business management do not require him to directly execute them. This is not to say that the management layer is very idle, because they have to face more social relations and contact the company's partners. This is a big difference from a PM job. Therefore, to be promoted from a PM to the management level, we need to make more efforts and sweat.

If you want to change from Team Leader to a Technical Director, the direction of work will also change. As mentioned earlier: a tl may pay more attention to the technical layer, emphasize interaction and cooperation with teams, and pay more attention to the improvement of development. However, a technical director does not need to directly participate in the development of a project, but pay attention to the development efficiency and achievements. How can he reasonably use limited development resources, control development risks and possible effects.

 

 

Development Experience

after more than eight years, there are many twists and turns between a programmer and a project manager, there are also different ways to go. There are more than one road to success in Rome, and I don't want to misunderstand it, but I just want to show you my development direction. If you are a developer programmer-> architect-> Team Leader (Project Manager)-> technical director is a good way, this is also the next choice. In China, to further improve yourself, whether you want to focus on technology or business, you cannot do without the word "management. In some large enterprises, a team is often equipped with a PM and an architect. Although the two are responsible for different tasks, you will see that the income of an architect is often inferior to that of a PM, PM is often the core leader of the team and the key person. PM plays an important role because the company can make money. PM and TL are not absolutely different, and in some small and medium enterprises, a development team is only 3 ~ Five people, one TL often has business processing, cost control, architecture design, development management, and many other tasks. Therefore, the team leader and project manager will be arranged at the same level. The boss of a company will not know the team's architects and programmers, but will only ask PM about the project progress, therefore, only after being promoted to this level can we have the opportunity to further improve our management capabilities and provide ourselves with room for improvement. To become a technical director, the requirement is no longer simply to manage a single project, but should be more important than the reference of emerging technologies and the rational use of development resources, the agile handling of development projects is also being tested.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.