Share 8 years of development experience, talk about Java programmer Career Planning

Source: Internet
Author: User
Tags silverlight

In China, there are many people think it behavior is to eat youth rice, if after 30 years old, it is difficult to have the opportunity to continue to develop! In fact, the reality is not so, in the next engaged. NET and Java aspects of the development of the time has been 8 years, here in the next want to rely on their own experience, with you to explore.

Clear the purpose of the entry

Many people do it this line is directed at "high income" this point, because as long as learn a little HTML, div+css, to do a page developer is not a difficult task, and make a page developers easier to find work, income than ordinary work is higher, so become a lot of college graduates choice. If you are only in this state of mind to go into the profession, then you really have to be careful. Because it is a line of competition is very fierce, especially in the page design, can develop a lot of people, in order to save costs in most companies will need to recruit such personnel, in the absence of orders, some small companies may also find various excuses or pay the means to expel such employees. And in the recruitment information often see "recruitment page Designer, conditions: Under 30 years of age ... Welcome graduates from the sector to apply for "such a, because this type of workers on the technical requirements are not high, find Grossen can save costs." So under the "IT industry is to eat youth rice" This sentence is only to the above such people said, if you lack of "enterprising heart", and only holding "high income, easy to find a job" attitude and the line, that "IT industry is to eat youth rice" will be fulfilled.

Choose the right tool

JAVA, C #, PHP, C + +, VB ... More than 10 popular development languages, which have the most potential for development? In fact, the development of language is just a tool, "rather than spread the offensive, as full of a blow", no matter what kind of development language, as long as you fully to learn, to have a certain degree of familiarity, to learn another language is also easy to do things. The development language is divided into three major categories:

1. Network Development

Now the network has become a bridge of the world's communications, like JavaScript, PHP, Ruby, the development of a number of languages are mostly used for web development

2. Enterprise software Development

JAVA, C #, VB, the development of these languages have achieved the goal of object-oriented development, more often used in enterprise system development

3. System software

C language, C + +, OBJECT-C, assembly language These software is more used in the development of system software, embedded development.

Of course, this classification is not absolute, like Java, C #, VB many times also used for dynamic Web site development. In a very development project will use integrated development approach, the same project using a variety of development language, the director of the exhibition, synchronous development. So in the beginning, it is recommended that you first choose a suitable development tool for yourself, "Focus on learning, full-time hit."

Clear direction of development

When you have a certain understanding of a development language and start to feel like a "Walking Dead" and become a development tool, you should be clear about your own direction of development.

As usual in the company, you can see that most of the developers who do UI layer are more than 20 years old, they are full of energy and no family burden, they can buy a few books or go to the Internet at night when they come home two years ago when ASP. NET MVC, Silverlight, etc. After 35 weeks of research, there has been some understanding of the need for technology. The majority of people who are over 30 are already home, and the only hope they get to work 9:00 every day is to go home for dinner at 6:00. After eating dinner only want to accompany the children to play, look at the children's homework, the new technology lacks the desire to learn. So many programmers close to 30 years old have a sense of persecution (including myself at 30), what should I do in a few years? At this point, you should be more clear about the goal, and strive to move forward in the direction of their own development. To summarize, you can choose a path that suits you from the following:

1. Transition from technology to business

Abroad, many developed countries attach great importance to talent, a senior programmer and a project manager income difference generally not more than 15%. But China is the most populous country in the world, and there are so many talents in it, so the situation of human resource abuse can be seen often. The development Department of a small company often meets new faces, but PM does not change frequently. Because the boss of the technology is not clear, according to their eyes only to pull the heart of PM, that in the technical aspects can be determined, as for the technical department to substitute, they do not need to take the effort to control. So transitioning from a technician to a PM is an option to move forward, but developers also need to know that to be a PM is not just about using technology, but more about management. A PM's main job is to organize teams, control costs, manage business, control project progress, communicate with customers, coordinate work, and report on regular work. So to become a successful PM more attention to organizational skills, PM must be able to improve the team's enthusiasm, play team director, in the limited development of resources under the premise of the company to get the maximum profit. Become a PM, usually do not need direct contact with the development of technology, and focus on management is the business, but PM to the technology also need to have a certain understanding (the next time for PM on the need for technical understanding of writing an article, get a lot of support but also provoked a lot of controversy). Here I would like to emphasize my point of view: To be a success PM the most important is the management ability, but the technology should also have enough knowledge, because it is a bridge with the team members, only in order to work closely with the members of the entire team, so that the team members feel their own existence of meaning, So as to mobilize the enthusiasm of the team, rather than disregard the existence of technical personnel. Technology is not a sufficient condition for a successful PM, but it is necessary!

2. Development from programmer to technology management

In fact, a team leader's responsibilities are similar to Project manager, but team leader is more focused on technology development, and typically a large project will have one or two development teams led by team leader, responsible for developing the core part, Other parts are assigned to different development teams or assigned to outsourced companies. Often see a few words on the internet, aptly describe the difference between PM and TL: "Technical staff are happy to be led; but they don't like to be managed and don't like to be driven or directed like cows." Managers force people to obey their orders, and leaders lead them to work together. Management is objective, there is no personal emotional factor, it assumes that the manager has no thoughts and feelings, is told what to do and how to do. Leadership is leading and guiding, and it motivates people to achieve their goals. Leadership is a strong personal emotion, it is not you can command, nor can you measure the evaluation and testing. ”

Both PM and TL, business and technology to have in-depth understanding, but PM more focus on business management, profitability, the size of risk, and TL is focused on the cost of the project, the difficulty of development, software architecture and other technical aspects of the problem. In some people's eyes, technology and management like fish and bear paw, not both, but according to the view, the two are scales mound, inseparable. As long as the timely upgrading of their knowledge of technology and management, and constantly to a deeper level of development, to upgrade from the programmer to the technical management staff is only a matter of time. An analogy, an ordinary one. NET programmer, began to be limited to the Web page development, but once he has the development of the heart, he will naturally be interested in the development of ASP, Silverlight, WinForm, WPF these UI, learning does not need much time, He might have known that. UI development is nothing more than a tool, but there is no difference in the principle of development. Then he will understand the deep layer of communication patterns, understand TCP/IP, Web Service, WCF, remoting these commonly used communication methods, at this time he may have sensed that he has a further understanding of development technology. And then to the workflow, design patterns, object-oriented design, domain-driven design, service-oriented development and other high-level, and finally become a leader in technology. Above is just a metaphor, but it should be noted that in the learning period must pay attention to the communication with colleagues, many developers like to be alone, the development of the project always want to be done by a person, without interference from outside. But understand that, even if you have a great ability, a large project can not be carried by you all alone. Therefore, teamwork and communication between colleagues is necessary, which is also a necessary condition for success of a TL.

3. Unilateral advances to technology

Successful technology development of the cutting-edge talent, which is under the most yearning for work, but also do not have the ability to mount this position. Many people engaged in the development will think that the business always with "The Taste of Money", the boss never regardless of development principles, whether to develop the principle of development, whether the necessary testing, they will only in front of the customer endlessly boast, the project expires can be successfully delivered, as long as there is no big problem that the project even success. In fact, we also need to understand: the ultimate goal of development projects is to make money, in the development process of the project cost constraints and efficiency control This is also necessary, so this requires management personnel to manage the project. But developers also want to avoid the "money of the crowd", full of love into the world of technology. So people who have a strong interest in technology tend to study a technology in depth and become the elite of technology. But here's one thing to say: China is already part of the world's second-largest economy, but its gross domestic product comes mainly from third-party processing industries. China can be said to be talented, but in the high-tech industry is more backward than the developed countries. In recent years, we have seen a qualitative leap in our country in high-tech science and technology, but still have some distance from the developed countries in Europe and America. So it is more difficult to be a man of cutting-edge technology in China than to be in a foreign country. To be a cutting-edge developer, it is important to have a deep understanding of the underlying technologies of C, C + +, assembly language, embedded development, Windows APIs, and Linux APIs. Know how to solve Java,. NET ... These are called advanced development languages, not that they are more advanced than C, C + +, assembly language, but that they encapsulate C, C + + and so on, more suitable for enterprise software development, make development simple. But if you want to develop some low-level software, large-scale systems, you must use C, C + +, assembly and other development languages, which is a prerequisite for successful cutting-edge talent.

Determine the future goals

People are from the experience of growth, the Ancients cloud: 30, described is not a person's social status, economic sources, but to describe a person's goals for the future, the intention of life. To be a successful person, you should set a long-term development goal for yourself, as a developer. With the character of the people, the orientation of each has a different, everyone for their own choice of road is also different:

1. Start your own business with courage

Almost 30 years old, many people will think that if you want to really earn money, you should set up a foundation for their own business. Like Beijing, Shanghai, Guangzhou, these first-class cities, to buy a house, the primary building should be around 20,000 ~ million yuan/square meters, and in an ordinary IT company as a project manager, the basic income is generally between 15,000 million (unless working in large multinational companies, that is another), To buy a 100 square meters of the house, even if not eat do not drink almost 10 years of annual salary, so the choice of self-employed, is a lot of it developers a future goal, to achieve this goal, should be more business as the focus. One undeniable thing, in Chinese society is often said "relationship", even if this 30 years of reform and opening up to China's economic development, but the thousands of years left unhealthy still can not completely erase. So you want to start a business personnel advice you have to play well with customers, and partners to maintain a mutually beneficial mode of interaction, which will be conducive to future career development.

2. Jiliuyongtui, retired to the second tier

This is also a choice for many people. Many people after having a family, feel the pressure is too big, people's life is not only a career, they want to spend more time on the care of their loved ones, care for their children. So many people will choose a job like system analysis, system maintenance, university teachers, professional college lecturers. Income is stable, and often without the pressure of a frontline developer.

3. Make unremitting efforts to further

Whether you're a project manager or a team Leader, if you want to move on to a promotion level, it's still polarized. From a PM to the management of a company, there are many changes to the events that confront them. A company's general manager, to be managed is no longer the cost of one to two projects, but the operation of the entire department, the entire company's business processes, so the task will be more heavy. There was a boss, Dr. Peng, who was the top leader of the business, with a yearly salary of over 3 million, and also in newspapers and magazines. Usually only in some meetings gently light the phase, say two words, the usual company operations and business management do not need him to directly execute. This is not to say that a management is very relaxed, because they have to face more social relations, and corporate partners in the relationship. This is a very big difference from a PM's work, so to be promoted from a PM to management, that is to take more effort and sweat.

If you want to rise from team leader to a technical director, the direction of the job changes. As previously said: A TL may pay more attention to the technical level, emphasizing the interaction between the team and cooperation, but also focus on the development of perfection. and a technical director does not need to directly participate in the development of a project, but pay attention to the efficiency and results of development, how to use the limited development resources reasonably, control the risk of development and possible effects.

Development experience

Through more than 8 years, in the next from a programmer to a project manager, through a lot of twists and turns, but because each person's fate is different, the road has a difference, is so-called all roads to Rome, the road to success more than one, in the next do not want to make you misunderstand, and just want to say my development direction. If you're a developer programmer----architect->team Leader (Project Manager), technical director is a good way to go, and that's the way to choose. In China, want to further improve themselves, whether you want to focus on technology or business as the focus, are inseparable from the management of the word. In some large enterprises, a team will often be equipped with a PM with an architect, although two people are responsible for different tasks, but you will see an architect's income often less than a pm,pm is often the core leader of the team, is the key figure. Because the company can make money, PM has an important role. PM and TL There is no absolute difference, and in some small and medium-sized enterprises, a development team only a few people, a TL will often have business processing, cost control, architecture design, development management and many other tasks. So at the same level as team leader and project manager, a company's bosses often don't know who the team's architect or programmer is, and only ask PM about the progress of the project, so only if it is promoted to this level will it be able to further improve the management Let yourself have the room to rise. In order to become a technical director, that requirement is no longer solely for the management of individual projects, but should be more than the reference to emerging technologies, development of rational use of resources, the development of project agility and so on, the next is also in the test, not dare to say much.

Link Source: http://blog.csdn.net/w1014074794/article/details/49249075

Share 8 years of development experience, talk about Java programmer Career Planning

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.