We are a group of programmers who are full of impetuousness and complaints in peacetime.
Communicate with many IT people and find that they are more impetuous and complaining. Therefore, with this article, we both have the same mentality as coder, architect, or project manager, the comparison is just different from the development path.
Now, we are a peaceful and developing society. Most people will not worry about food, but will not worry about better life, for wages, houses, cars, or people around us, it is so influenced by people around you that you don't know what you want to do, and you often feel that you don't know where your future is. This is the case for IT personnel, and for state-owned enterprises, we do not need to complain.
People in state-owned enterprises go to work every day and do almost the same thing every day. There is almost only one route to go, that is, when they are leaders, few will want to do more meaningful things, most of them feel that they are not passionate about life and work.
It is a new industry, especially in China. It is changing too fast, so there are not many historical figures to learn from. Many people say that programmers in China are only 30 years old, up to 35 years old. This sentence reflects some reality, but it is not fate. Why do I think so? Let's analyze it:
Most people in the IT industry are not in State-owned enterprises. Therefore, they do not consider this company as their own life. Generally, they are 20 + years old, new users, and have no burdens, the only thing I can think about is to stabilize and improve myself. After three years of work, I found that a group of new people came into being, so I felt like I was a veteran. But after one year, I found that I was no different from them, because everyone is doing almost the same thing, and the salary is almost the same, they find that they cannot continue this way. In the face of the programmer's path, they feel that they can only develop towards project managers, architects, and analysts, or start your own business. How many people have been successfully transferred?
To become an architect and analyst, you need to build up at ordinary times and stand at a higher level. However, you find that you are only a programming machine in your daily work, most people do not usually have higher requirements for themselves. One day passes, and four years of work experience shows that they are still a coder. In addition to learning more about some technical history than new users. Only those who have accumulated strong technical and business research skills can become qualified architects and analysts.
It is difficult to be an architect and analyst. I find that the project manager is also good, because many people feel that the project manager can satisfy their own desires for management and is superior to others. I have been working for four years. It seems that code writing has no advantage. As long as the communication skills are good, people may want to become project managers. In fact, this is a natural path. However, I found that the major reason for being a project manager is not entirely the problem of personal ability, but the development of the company's business. Some companies have a good business development and many projects, as long as you have good communication skills and have some business and technical experience, you can tell your supervisor that it is a great opportunity to be a project manager. However, most of the company's business development is normal. If you are engaged in those projects, the current project manager is also very stable. If you do not have the special capabilities, you can only use coder or advanced coder.
When architects and analysts are absent, project managers are absent, and there are some new ideas, they start a business and the journey to start a business is very difficult. I want everyone to know about the funding problem, management Problems, market problems, talent problems, technical problems ..... In short, there are a lot of problems, but there are still a lot of people to admire. Although the chances of success are not high, but at least they are the boss, you can also give the employees a pie.
From the above aspects, there are also many people who eventually become project managers, some of which are only two or three project managers, and some are project managers of hundreds of teams. In short, they are project managers, however, I think most people will still feel confused because these people become project managers and find that they are only a multi-pronged project manager with more responsibilities as nannies. Whether the team is harmonious and enterprising during the project process, and whether the customer manager finds himself or herself Inferior during the communication process, the project is not easy to launch, only to find a pile of spam. In fact, if this happens, we can only explain that we are not a qualified project manager, just because the company has been installed with some work of the project owner due to the development of the company.
Why can we work in a good state-owned enterprise at the age of 50 or 60 even in an ordinary profession? It is because the state-owned enterprise has no choice, because in their mind, this company is a company that has been in his life, he felt that he had no choice. When he was young, he made a lot of effort to become a supervisor and lead, but there were only a few people who were on the rise. Therefore, in State-owned enterprises, we will see that older people are still common employees, they are facing a lot of pressure on new employees. They can only leave their hopes to their children.
Therefore, we don't need to envy state-owned enterprises. They just show everyone stability on the surface. In fact, there are few opportunities for growth, and they are full of impetuousness and complaints. Even if we are over 30 years old, but the IT industry is a challenging industry, we should analyze our personal potential. What we need more is to find the target and make a solid move!
Write it to our impetuous programmers again
Again, I want to write this article to our new and impetuous programmers and how to grow. The following lists some of the experiences of growth. We don't have to practice every article, however, a good programmer will always practice several items during the growth process.
Do more projects and think more
Don't be afraid to do things. The most lacking of graduates is work experience. A messy project allows you to quickly learn about a company's business and technologies, in addition, you can have more contact with colleagues and customers.
When you first entered a company after graduation, if the supervisor did not arrange you to work in the project team, it would be really a cup of cake, because he thinks that you are not qualified for the job, or your participation will make the project team worse.
Some people said that when I first joined the company, the company regarded me as a hard-working employee with a low salary. The project team had joined several projects and had done many things. I had to work overtime every day. I guess there are many people who feel like this, why? Because 90% of the national people (not just programmers) may feel the same as you, this shows that your current situation is common, and that your current capabilities are far from outstanding. It may be adversity that can make people grow. If one day you free your team from these hard jobs or give your team the motivation to move forward, then you will be sublimated, you are better than them. You have no ability to change the status quo, so you can only accept it, rather than think that you are born when, or the company environment is too bad. The same is true for start-ups. Don't think that the main reason for the company's lack of development is that the environment is too poor, so you don't have to be a boss. Is it your turn to invest in a very good environment.
Many people feel that they have paid a lot and paid too little. This problem is difficult to balance. First of all, the company will not reward you if you don't get any score, it is impossible for a company to reward you immediately after you have obtained your score, but if you do not pay for it for a long time, it is not worth it. I am not in favor of frequent changes to the company. This at least means that you are a person who only asks for a return and does not ask for anything.
As for the salary issue, it is difficult to assess it, because the income of each enterprise is too far different. However, the new graduates need to pay attention to the salary + growth environment. When the salary can meet the needs of ordinary life, the growth environment is more important, just like giving you 6000 yuan or yuan in, it is really not that important, because these incomes will not affect your future life. Of course, if you only pay 1000 yuan a month in a big city for a few years, you still need to choose a company with better income, because such a low income will seriously affect your work and study plan, it also means that your company does not pay attention to its employees and is incapable of offering them a better life. The future development is also limited.
In particular, Internet companies are different from traditional information-based enterprises. The Internet has always been an industry with high risks. Maybe you have chosen a optimistic enterprise and admire the boss's vision, maybe what you need now is to share the joys and sorrows with the company. Don't expect to get very good treatment in the startup team, because you are investing now. Maybe a few years later, the company will succeed, and you will be a hero, you can also become a director or vice president.
Develop your own frameworks and tools to improve productivity
When you participate in many projects and find that you often perform copy and paste operations, you can consider taking the time to extract the commonalities of the problems and make some automated tools to solve the problems, or write some basic frameworks to block the boring and cumbersome code.
By developing your own frameworks and tools, you can quickly change from a junior programmer to a more advanced programmer, analyst, or architect, because this process provides you with the opportunity to serve other programmers, you have the motivation to understand the work requirements of other programmers. You can write your framework or tools well, the interfaces are simple and flexible, and the performance is good, analysts and architects often have to do this kind of thing to reduce labor costs. But remember, don't think that developing frameworks and tools on your own is very Nb, because this kind of work doesn't reflect much technical content, but just improves the ability of personal abstract problems, many programmers can do this job well, but few do it well.
Participate in open-source projects
Participating in open-source projects can help you understand the communication methods, development habits, and Technical Thinking of different programmers. If you are strong enough, you may become famous. It allows you to gain a deeper understanding of this open-source object, so it is best to be interested or relevant to your work. Do not say anything popular or participate in it. Open-source projects can contribute to a new project or participate in a project of interest.
Don't expect that open-source projects will bring you direct money. If you want to encapsulate open-source projects to make a fortune, I really don't know how to do it. You can ask what core, people who have any Chinese operating systems are more experienced.
English
In this global information age, English is really a very important tool. I really envy those who are very good at English at school, good English skills can help you learn more quickly. At present, most of the new technologies and knowledge are in English or translated into English. If you can learn English well, you will be able to struggle for less than 10 years.
Write a technical blog
Writing a technical blog is a fast way to improve, but a person who can stick to writing a technical blog every week will have to pay a lot of money. writing a blog does not require us to write high-quality articles for publishing, we can share some of our little experiences and experiences. A thing in your brain does not mean you have mastered it. If you can give it to others or express it in words, you must first sort out these knowledge points to express it clearly. I often think that I have already understood a problem, but I found a blind spot in my knowledge when organizing technical blogs, and then I searched for knowledge to supplement my blind spot, it was not until we finally figured it out.
Some people do not like to share or are afraid to share, but in this world, as long as it is not a company secret or trade secret, sharing it out can give you more feedback from peers, people on the Internet will give you relatively real feedback, because most people have no interests with you.
Do not be afraid that the knowledge you share has technical knowledge. If you think it is valuable, you can take it out. This not only provides knowledge to others, but also organizes your own ideas, you can also get feedback from netizens. If your knowledge has no value, it does not matter if you share it. If your article has low technical content and is afraid of being despised, you cannot admit it to reality, because colleagues and friends may not say that your articles are very good. Even if you are despised, sometimes being despised is also a kind of motivation to move forward. Some people say that if I have made a lot of progress in a few years, but I still see these mentally retarded documents at the beginning. I am sorry, OK. At that time, I can delete the documents completely, in fact, I prefer to put it there to taste the process of self-growth and correct misleading places.
I know that there is a technical blog author, database expert Yang tingtao (http://yangtingkun.itpub.net/), he has been writing a technology blog every day for several years, now there are more than 2 thousand, my Oracle database level is much worse than him, but I also occasionally see some of his new documents that I had written a few years ago, but these do not affect my admiration for this blog author, because his blog gave me a lot of knowledge.
Join a technical forum of interest
Every company uses different technologies and products and environments. Maybe you feel that everything is done by others in the company. I am just a pipeline worker, we recommend that you join the Technical Forum you are interested in because our system has strict regulations and there are few opportunities to improve your practice.
On the Technical Forum, you can see many people share and discuss various issues. You can also try to solve problems for others. The Technical Forum allows you to grow further, but don't tell me that you are just the kind of sofa, top, or split.
Domestic csdn, itpub, chinaunix, javaeye, msdn, and 51testing are all very popular, and there is no shortage of technical experts and invincible cainiao.
Reference manual
Many programmers like to consult with others directly or search for results through Google. They may solve the problem through others or Google, but they can only form knowledge points and cannot form a knowledge system.
The fastest way to get a full grasp of one thing is to look at the official reference manual of the product. The reference manual generally indicates regular usage or recommended usage, for small products, it is best to read all the reference manuals first. If it is a relatively large product such as (Oracle, Java,. Net), you can select the frequently used part. You can only go to Google or discuss with others after reading the reference manual, which will make your knowledge more systematic.
In-depth analysis of the cause
Programmers must have the idea of taking root of technical issues. Many programmers can solve the problem, but do not want to understand the root cause of the problem. We often encounter problems, and a lot of problems can be solved by restarting the program or restarting the machine. How many programmers will solve the problem after restarting. I am engaged in databases, and I often see that many people encounter database problems and reload them without in-depth analysis of the causes. Maybe we don't have time to analyze in the production environment, but do you often restart to solve the problem in the development environment and test environment. If you encounter problems in the development environment and test environment, this is the best opportunity for technical staff to grow. We must not let go of this growth opportunity in our own field, because most experts have come out of this experience.
Don't be afraid of Complexity
Many programmers get used to using various frameworks and tools to solve problems. They just write some simple logic. When a problem occurs one day and there is no corresponding framework or tool, they give up on demand. We should not be afraid of difficulties. If your code is not challenged every day, how can we improve it? We should put some pressure on ourselves when appropriate, so that we can improve ourselves faster. For example, your system needs a lightweight workflow engine, compiler, parser, interface designer, screen controller, or an HTTP server. However, you are not satisfied with the existing content, you can try it on your own. Do not be afraid of failure or failure. These things seem a bit complicated, but when you do it in depth, you will find a lot of interesting things in it, you need to gradually improve your small system, it is a good growth process until it can run well. It can give you a deeper understanding of the program and open up your mind.
Learning computer basics and in-depth technical principles
Sometimes we are often confused and feel that the technical level is not improved, and technical capabilities are always on the surface. Especially when you find that your algorithm analysis, performance analysis, and fault diagnosis capabilities are limited, maybe this is the time when you need to learn computer basics again. Because of the poor foundation, your problem diagnosis accuracy is not high. Every programmer should have learned computer basics (computer systems, operating systems, networks, database principles, algorithms, etc.). This knowledge is boring for many people. In the current era of advanced programming languages, your computer infrastructure is hard to code and the efficiency is not low. However, if you want to become a technical expert, the computer infrastructure is a hurdle, because the poor basic computer knowledge will make you grow up in the middle of the world.
Focus on product market and business trends
Do programmers need to care about the product market and business dynamics? I think it is necessary, unless you are a technical genius, you can leave it behind for ten years. Computer technology is growing too fast. Every year new popular products and technologies are available, and large companies often change their strategies or easy-to-Master. If you want to lead the technology trend and start a business, you must be concerned about the product market and business trends.
Do not underestimate any position, language, or tool
In it jobs, there is no distinction between high and low. Do not underestimate any job. Some Programmers think that their achievements are the most valuable. Art and testing are only marginal jobs, and the Project Manager will only give command, without work, the sales staff and the pre-sales staff did not handle anything after they received the order. The whole project was basically the result of my own work. This mentality is the most important. In fact, your leadership does not think that way. Many things you don't know, such as customer relationships, may not be handled by you alone. What's more, if this project is not attended by you? A project may be done by another person. Maybe the project can be done well. This shows that your value or importance is not as important as you think. For example:
It is like buying a Lenovo computer with 4000 pieces and selling it to a Martian who has never seen a computer. This computer is the final result, but does it mean Lenovo is the most important computer, you may make more money by buying a Dell Computer, or you may only need to give the other computer a miscellaneous card to get 20000 yuan. In this example, what is more important may be the relationship between customers and seize business opportunities, but buying a computer has little impact (your position in the project may be the role of this computer, without you, it is certainly incomplete, but it is easy to find your alternative, so your value is not the most important ).
Computer programming language is a favorite topic for beginners. Some masters often compare the advantages and disadvantages of different languages. I am not opposed to commenting on the advantages and disadvantages of a language, but we cannot despise its users, because popular languages have their own survival environment, it may be that we have a narrow understanding of technology, or we may not fully understand human thinking habits. We should not always evaluate our habits. Many system administrators like to use command lines and script languages such as shell and Perl. These things are very inefficient and easy to use, however, when you often work without a graphical interface, the scripting language may be a more efficient choice.
Finally, I wrote the source of impetuousness:
Do not treat the motherland as a mother, but treat the motherland as a child.
I don't want to talk about this, but the reality is that impetuous people are always full of opinions on society. I think that all these impetuousness have one thing in common, that is, they believe that they cannot change this society. changing this society is a matter of the country and other people.
When I was a child, the teacher always said that our motherland is our mother, And we are flowers, but in fact we are not any flowers. We are the "little grass" in Zheng Zhihua's song ". The real society is always filled with various imbalance, but impetuous cannot solve the problem. Sometimes I always think that my motherland is not like my mother. She is more like my child. She is still very small and has experienced many ups and downs. We often feel that our children are not as good as others, therefore, giving more scolding to the child may also allow her to spend a summer vacation. Children may be proud of their achievements and sometimes cheat them. What we cannot tolerate is her malicious lie, but she is not yet completely helpless, she is still growing. We often compare our children with other children, and we always find that other children have a better side. But do you want to exchange your children with others? Do you know all about other children except feelings, we need to face the reality more. We should point out her shortcomings in time when the child grows up. She cannot be excellent in everything, so we should do our best to make her better. You are unlikely to change your mother, but your actions will affect your children. If you abandon your children, your real children may abandon you in the future. Therefore, the motherland may not be like a mother, more like a child, if you treat your motherland as a child, it may be another life value.