8 years experience in developing programmers talk

Source: Internet
Author: User
Keywords IT industry workplace inspirational work experience
Tags .mall .net asp asp.net behavior business business management clear

In China, many people think that IT behavior is to eat youthful food. If you are over 30 years old, it will be very hard for you to have the chance to develop. Actually, this is not the case. There are also 8 years of development work on .NET and JAVA Of the time, here next to rely on their own personal experience, to discuss with everyone.

Clear the purpose of entry

Many people do this line of IT directed at the "high income" this point, because as long as learn a little HTML, DIV + CSS, to be a page developer is not a difficult task, but also to be a page developer easier to find a job, Income is even higher than normal work, so many college graduates have become the choice. If you are just holding such a mind to come in, then you really have to be careful. Because the IT competition is inherently fierce, especially in the area of ​​page design, where there are so many people who can develop it, most companies will hire such people when they need it in order to save on costs. In the absence of an order, Some small companies may also find various kinds of excuses or get rid of such employees by means of pay cuts. In the recruitment of information often see the "recruitment page designer, conditions: under 30 years of age ... Welcome graduates come to apply" this one, because this type of staff on the technical requirements is not high, looking for the upcoming Students can save costs. Therefore, the following comment that "the IT industry is eating youthful rice" is just aimed at the above-mentioned people. If you lack the "ambition to forge ahead," and only hold the attitude of "high income, easy job search" And entry, that "IT industry is to eat youthful rice" will be fulfilled.

Choose the right tool

JAVA, C #, PHP, C + +, VB ... ... more than 10 kinds of popular development languages, which one has the most potential for development? In fact, the development of language is only a tool, "rather than decentralized attack, it is better to strike hard", either Which language to develop, as long as you go all out to learn, to have a certain degree of familiarity, to learn another language is also a breeze. Development language is divided into three main categories:

Network development

Now that the web has become a bridge to world communications, it seems that most of the development languages ​​for Javascript, PHP, and Ruby are for web development.

2. Enterprise software development

JAVA, C #, VB these types of development languages ​​have achieved the goal of object-oriented development, more time for the development of enterprise systems.

3. System software

C language, C + +, Objective-C these software is more used in system software development, embedded development.

Of course, this classification is not absolute, like JAVA, C #, VB, often used for dynamic web site development. In very development projects will use integrated development approach, the same project which uses a variety of development languages, each director, simultaneous development. However, when getting started, we suggest that you first choose a suitable development tool for yourself, "focus on learning, strike hard."

Clear direction of development

When you have a certain understanding of a development language, began to feel like "walking dead" into a development tool, then you should be clear about their own development.

Normally at the company, you can see that most of the developers who make the UI layer are in their twenties, they are motivated and have no family burden. When ASP.NET MVC, Silverlight, etc. just appeared two years ago they could Go home at night to buy a few books or direct access to the Internet to see the study three to five weeks later, the need to use the technology already have a certain understanding. The majority of people over 30 have been married, and their only hope to go to work at 9:00 a.m. every day is to get to their home soon after 6:00. After dinner just want to play with children to see their children's homework, the lack of new technology to learn the desire. So many 30-year-old programmers have a sense of perseverance (including myself at the age of 30), a few years should be how to do? At this time, you should be more clear about the goal, and strive to move forward in their own direction It's To sum up, from the following several options for their own way:

1. From technology to business transition

Abroad, many developed countries attach great importance to talent, a senior programmer and a Project Manager income generally not more than 15%. However, as China is the most populous country in the world, China has so many talents that it can often see the abuse of talent. A small company's development department which often see a new face, but PM will not change. Because the boss is ignorant of the technology, according to them it seems only to pull the heart of the PM, that aspects of the technology can be done, as the technical department to be replaced, they do not need to effort to manage. So moving from a technician to a PM is an option for moving forward, but developers also need to know that becoming a PM is more than a matter of using technology, but more importantly, managing awareness. A PM's main job is to organize the team, control costs, manage the business, control the progress of the project, communicate with the client, coordinate the work, and regularly report on the work. Therefore, to become a successful PM, more attention should be paid to the organization's ability. PM must enhance the enthusiasm of the team, play a team leader, and maximize the profit of the company with limited development resources. After becoming a PM, you usually do not need to be in direct contact with technology development but focus on business development, but PM also needs some understanding of the technology (and wrote an article about the need for PM to understand the technology in the following, and got a lot of it Support but also attracted a lot of controversy). Here I would like to emphasize my point of view: To become a successful PM is the most important management skills, but also should have sufficient knowledge of technology, because it is a bridge with the team members, the only way with the entire team Members are closely integrated, so that team members feel the meaning of their own existence, so as to mobilize the team's enthusiasm, rather than ignoring the presence of technical staff. Technology is not sufficient but a necessary condition for a successful PM!

From programmers to technical management development

In fact, a Team Leader responsibilities and Project Manager, but Team Leader more emphasis on technology development, usually a large project will have one or two development team led by Team Leader, responsible for the development of the core part, and the other assigned to different development teams or Assign to outsourcing company. A few words are often seen online, aptly describing the difference between PM and TL: "Technicians are willing to be led; but they do not like to be managed and do not like to be driven or commanded like cattle." Managers force people to obey them Command, and leaders will lead them to work together.Management is objective, there is no personal feeling factor, it assumes that the manager has no thoughts and feelings, was told what to do and how to do.Leading is leading, guiding, it motivates People achieve their goals. Leadership is strongly personal, and it is not something you can command, nor can you measure, measure, and test. "

Both PM and TL should have in-depth understanding of both business and technology, except that PM focuses more on business management, profitability, risk size, etc. TL focuses on the cost of the project, the difficulty of development, the software Architecture and other technical issues. In the eyes of some people, technology and management are like fish and bear's paw. They can not have both. However, in the view of both, the two are inextricably linked. As long as the timely promotion of their understanding of technology and management, continue to develop further, to upgrade from programmers to technical managers is only a matter of time. For example, an average .NET programmer may initially be limited to ASP.NET page development, but once he has a heart of development, he will naturally develop ASP.NET UIs such as ASP.NET MVC, Silverlight, WinForm, and WPF Interested in practices, learning does not need much time, he may know these UI development is just some of the tools, in fact, there is no difference in the principle of development. Then he will understand the communication mode of deep layer, know TCP / IP, Web Service, WCF, Remoting these commonly used means of communication, this time he may have felt that he has further understanding of the development technology. And then to the workflow, design patterns, object-oriented design, domain-driven design, service-oriented development and other high-level start, and finally become a technology leader. Above is just a metaphor, but to note that in the learning period must pay attention to communicate with colleagues, many developers like loner, the development of the project always want to get one person, without interference from the outside world. But understand that, even if you have a great ability, a large project can not be carried entirely by you alone. Therefore, the team's cooperation and communication between colleagues is necessary, which is a necessary condition for the success of a TL.

Unilateral development of technology

The most talented people who can successfully develop technology are the most desirable jobs under their belt. However, they have not been able to board this position anymore. Many people engaged in the development will think that the business always carries the "taste of money." The boss never cares whether the development is in line with the principle of development or whether the necessary tests have been carried out. They will only brag before the clients endlessly and the project will be successfully completed The goods, as long as no major problems that even successful project. In fact, we have to understand: the ultimate goal of development projects is to make money in the development process of project cost constraints and efficiency control is also necessary, so this requires managers to manage the project. However, developers also want to avoid this "money hubbub" and devote themselves to the technological world. Therefore, people who have a keen interest in technology tend to study one technology in depth and become the technical elite. But here is a heart-rending remark: China already belongs to the second largest economy in the world, an ally, but the gross national product mainly comes from the third-party processing industry. China can be regarded as a talented person, but it lags behind the developed countries in high-tech industries. In recent years, indeed, our country has seen a qualitative leap in high-tech, but there is still a long way to go to developed countries in Europe and the United States. So want to become a cutting-edge technology talent in China, it is more difficult than in other countries. From the point of view, in order to become a cutting-edge developer, you must have a deep understanding of the underlying technologies such as C, C ++, assembly language, embedded development, Windows API, Linux API. To know the solution JAVA, NET ... ... These are called advanced development language, does not mean that they are more advanced than C, C + +, assembly language, but rather that they encapsulate the C, C + + and so on, more suitable for use The development of enterprise software to make development easier. But if you want to develop some of the underlying software, large systems, you must use C, C + +, assembly language development, which is a condition of successful cutting-edge talent.

Determine the future goal

People grow up from their experiences. The ancients said that they are thirty years old. They describe one's social status and economic origin rather than describing one's goals for the future and his life. To become a successful person, you should set yourself a long-term goal of development as soon as possible, as a developer as well. With the person's personality, different orientations, we choose their own way is also different:

1. Independence, brave start-up

Almost 30 years old, many people think that if you want to really make money, you should establish your own business and establish a foundation for your own business. Such as Beijing, Shanghai, Guangzhou, these first-tier cities, to buy a house, a basic building in the 20,000 to 40,000 yuan / square meters, and in an ordinary IT company as a project manager, the basic income is generally 15,000 ~ 30,000 (unless working in a large multinational corporations, it is another matter), to buy a house of about 100 square meters, even if you do not eat or drink almost 10 years of annual salary, so choose to start their own business is A future goal for many IT developers who want to achieve this goal should focus more on business. It is undeniable that in many Chinese societies the term "relationship" is often spoken. Even though these 30 years of reform and opening up have brought about the vigorous development of China's economy, the unhealthy trends left over for thousands of years can not be completely obliterated . So you want to start a business advising you to play more with customers and relationships, and partners to maintain mutually beneficial interaction model, which will benefit the future development of the cause.

2. Rapture retreat, relegated to second line

This is also a lot of people's choice. Many people feel pressured after having a family. People's life is not the only cause. They want to devote more time to caring for their loved ones and caring for their children. So many people choose a job like system analysis, system maintenance, college faculty, and lecturer at a professional college. Income is stable, and often not as much pressure on front-line developers.

3. Make unremitting efforts to go further

Whether you are a Project Manager or a Team Leader, if you want to continue to advance one level, it will still be polarized. From PM to the management of a company, there are many changes to the events that face it. The general manager of a company, to be managed is no longer the cost of one or two projects, but the entire department's operation, the entire company's business processes, so the task to be undertaken will be heavier. In the following, there was a boss, Dr. Peng, who is the top leader in the business and earns more than three million yuan a year in salary, and has also seen photos in newspapers and magazines. Usually only gently light phase in some meetings, said two words, the usual operation of the company and business management do not need him to direct execution. This is not to say that one is very relaxed as a manager because they have to deal with more social relations and contacts with the companies that cooperate with them. This is a big difference with the work of a PM, so promotion from a PM to management, but to pay more effort and sweat.

If you are going to be a Technical Director from Team Leader, the direction of your job changes. As said before: a TL may pay more attention to the technical level, emphasizing the interaction and cooperation between the team, pay more attention to the development of sound. A technical director does not need to directly participate in the development of a project, but pay attention to the efficiency and effectiveness of development, how to use limited development resources reasonably, and control the development risks and the possible effects.

Develop feelings

After more than eight years of experience, going through a lot of twists and turns between a programmer and a project manager, because each person's experience is different and his path is different, the so-called roads lead to Rome , The road to success is more than one, do not want to make the next misunderstanding, and just want to say for everyone my direction of development. If you are a developer, "Programmer -> Architect -> Team Leader (Project Manager) -> Technical Director" is a good way, which is the next choice. In our country, want to further improve themselves, whether you want to focus on technology or business focus, are inseparable from the management of the word. In some large enterprises, a team tends to be equipped with a PM and an architect. Although two people are responsible for different tasks, you can see that an architect is often not as good as a PM in terms of income. PM is often the core of the team Leader, is the key figure. Because the company can make money, PM has an important role. PM and TL are not the absolute difference, and in some small and medium enterprises, a development team of only 3 to 5 people, a TL will often have both business processing, cost control, architecture design, development and management and many other tasks. So in the next Team Leader and Project Manager will be set at the same level, a company's boss often do not know the team architects, programmers, who will only be asked to PM progress of the project, so only promoted to this level before Have the opportunity to further enhance the management capabilities, so that they have room for improvement. As to become a technical director, that requirement is no longer just a single project management, but should be more emphasis on emerging technologies, the rational use of development resources, the development of project agility and so on, which in the next Also tempted, dare not say more.

Related Article

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.