I have worked for more than 10 years. After I switched from technology to management about 5 years ago, I still find some career development problems for new employees.

There must be amazing new people, such people often in school or after entering the workplace to develop some very good way of doing things and work habits, high work efficiency, output, and even in a very short period of time can lead new people, the Rookie of the Year is worthy.

Performance does not reach the designated position, however, seem to have some more, the employees work time less than two years) (such as fresh graduates or especially introverts tend to be more easy to fall into the error, unable to extricate themselves, and these errors will very negative effects on the future development, resulting in career development on the road more walk more far towards failure.

I will elaborate on these issues from the following perspectives.

1. Unwilling to communicate with colleagues and learn more from colleagues

Most of these employees are introverted or a little high and cold temperament, I must not know three people, there must be my teacher. Learn more from colleagues, exchange, to their own future development has benefits without harm. The situation may be improved by mentoring or mentoring, but if the internal factors do not change, the final effect is still not optimistic.

It is normal to encounter some technical difficulties in technical development. Of course, independent thinking is valuable, but corporate projects often have time limits, and solving problems is always the first priority, rather than struggling and searching for solutions alone. If the time pressure is low, it’s ok to give it some thought. Considering the delivery pressure, it is necessary to actively communicate with colleagues and technical managers to find solutions. In general, active communication is better than going it alone. Perhaps colleagues or the boss of a word, should be the ancient poem, mountains and rivers doubt no way, another village. At the same time, I established better friendships with my colleagues and left a good impression on my boss that I had a way of doing things.

2. Narrow vision, focusing only on one’s own space, confined to the role.

In fact, this situation is more common in the workplace not only junior programmers, even programmers who have worked for more than five years also have similar problems, not their own things ignored, and the harm is greater.

Corporate projects are often large and comprehensive, and if you only focus on your corner, you will never see the forest for the trees.

I’m sure no boss would mind the programmer taking on a little more responsibility, doing a little more, and ultimately giving the project team a little more output.

Since the boss doesn’t mind, you should be bold to jump out of your responsibilities and look at other projects in the company to enrich your industry knowledge.

Don’t shy away from things that are not your responsibility, and try to take on more. Helping others is to improve oneself, teaching and learning is this meaning. Besides, if you help others this time, the next time your project is tight or you encounter technical problems, the recipients will surely reciprocate. In this way, a benign atmosphere of mutual assistance has been formed, and the output of the whole project team has also been improved synchronously.

Generally speaking, the best strategy for a company to promote someone is to ask the candidate to do something that will be needed for a future position. If you do a good job, you get promoted. If the problem is not done well, the problem can be found in advance and the promotion can be postponed. It needs more investigation for a period of time. Such trial and error costs are unquestionably minimal.

3. The structure is too small, and they turn a blind eye to technologies outside the project, with outdated knowledge, lack of knowledge and extremely single skills.

This is actually about the whole IT industry, technology is moving too fast. It is a topic of continuous promotion of competitiveness.

Today it’s desktop development, tomorrow it’s Web development. With a hard grasp of relational databases, no-SQL became mainstream.

With great efforts, I am proficient in Java, C# and other static languages, and find that dynamic languages like GO and Python have become the standard configurations of cloud computing and machine learning.

Mobile development was object-C, Java yesterday, Swift, Kotlin today.

Of course, this is not to say that we should keep up with the trend, strangle fashion. There is nothing to be gained from doing that but working yourself to death at your desk.

In fact, as long as you choose a direction, deep learning and accumulation, there will be success.

If you’re familiar with Java, for example, you’ll be comfortable with Kotlin. If you have a solid foundation in relational databases, mastering MangoDB should be a breeze.

The ideas of composing thoughts and solving problems are interlinked. We should be good at thinking in our study and work and draw inferences by analogy. And keep pace with The Times, update their knowledge base and skills in time to maintain good market competitiveness.

After finishing things, think about how to do better, and look at problems on the basis of better requirements.

Let me give you two practical examples:

Programmer A was working in A state-owned enterprise, continuously developing Windows Form, mainly dragging control, adding, deleting, modifying and checking SQL Server database for five years. Suddenly, one day, he decided to quit and looked at new opportunities, thinking that with five years of work experience, he could easily find A better job. But in fact, the job search was extremely difficult, nominally five years of work experience, but in fact very single skills repeated five years. And the environment has changed, the mainstream is now Web development, mobile development. Because you haven’t updated your knowledge base and skill set, you may be stuck when it comes time to jump ship.

Programmer B worked in a foreign company with a relatively comfortable and relaxed atmosphere and a slow project pace. It seemed that he had done a lot of projects, but the projects were almost similar, with average difficulty and a wide range of subjects, but the technical points were only briefly touched upon. After three years of this, my accumulation is relatively loose, with no depth of knowledge and no core skills.

4. You have no idea what you want to do in three or five years

The author himself made a similar mistake. Three years had passed when he woke up.

The first three years of a programmer’s career are actually a very important period of polishing and planning. If you spend it in confusion, you will surely sigh with regret afterwards, but the water has gone east and there is no reason to return.

A goal without a plan is just a vision.

Both junior and senior programmers should actively talk to their senior or direct boss to see if they have any plans or suggestions they can use.

The biggest taboo in the workplace is passively waiting for fate. The author himself was waiting for my boss to help me plan my future at the beginning of my career.

So your boss won’t take the initiative to help you plan your future, and the most important thing is your own requirements and expectations for yourself.

5. Not realizing whether you’re working for yourself or a company

This is also a great topic that a lot of people don’t figure out, even some programmers who have been working for ten years.

Figure this out, and work motivation will be significantly better. Self-motivated to make work more interesting and meaningful.

The big boss of the domestic famous Internet company once said a word, which is worth thinking deeply.

“I’ll pay you $200,000 a year, or $1 million for five years. If you mess around here, you’ll be the one to suffer. Is five years of your youth worth a million dollars?”

So the sense of ownership of the new workplace must be strengthened, you should continue to improve their ability, continue to strengthen their ability to create value.

For example, if the company is paying you $200,000 a year, you should aim to bring the company much more than that.

You have the ability and the company will reward you accordingly. If the company doesn’t offer you a raise or a promotion, walk away and be happy. High quality talent is always competing for it.

6. Unwilling to step outside of your comfort zone and afraid to try something new

This is different from person to person, can not be forced. This topic is actually a bit broad.

If you’re doing well in one direction and the payoff is good, there’s nothing wrong with not wanting to try something else.

The only constant in the world is that it is always changing. What is there today may be gone tomorrow. The world will abandon you without a word of greeting.

For example, if you are a SQL Server or Oracle expert at your company, but the company is planning to move to a non-relational database, if you are afraid or even resistant to change, it means that you may miss out on a new data storage platform. Those who embrace change and go with the flow will be rewarded with better times.

For example, if the technology you’re using is good enough for your daily projects, is it time to try something new and refresh your stack in order to improve your user experience and use more mainstream technology?

Another example is a senior programmers accustomed to slow work atmosphere for a long time, because the company reorganization layoffs, but its condition is good, soon joined in the a domestic Internet company, but can’t completely adapt to the Internet fast rhythm, working for a period of time in the company management “chaos”, strategic planning “often” as an excuse to leave the change, I can’t find a suitable job for a long time. In addition, the middle age has arrived. If I don’t actively adjust myself, the following work and life will definitely be difficult.

7. To summarize

Finally, in a brief summary, what new employees need to do is to start from small things, learn to suffer, be results-oriented, and actively communicate with colleagues and bosses in daily work.

Work should be good at summing up methods, often update the problem thinking mode, responsible for the career, responsible for the goal, responsible for their own, down to earth, take the initiative to find things to do, rather than passive and other things to find you.

I believe that if you can successfully avoid the mistakes mentioned above, you can take fewer detours and make fewer mistakes in your career development, so that you can achieve your small goals more quickly.

The following system diagram is provided for you

In view of the following technologies, I have specially sorted them out. There are many technologies that can not be explained clearly by a few words, so I simply recorded some videos with friends to know why and why. If you want to learn Java engineering, high performance and distributed, simple. Performance tuning, Spring, MyBatis, Netty source code analysis of friends can add my Java advanced Jun sheep: 454377428, Jun Sheep has Ali Daniel live explain technology, and Java large Internet technology video free to share to you.

Access: Free architect learning materials are available.

Keep abreast of the latest learning trends

Enter: learn the latest recruitment information of Ali and JINGdong

In: Get more information about the interview

Can refer to study

1. Engineering topics




(When the team is larger than 3 people, you need to consider teamwork and scientific management)

2. Source code analysis topics




(Good programmers, a line of code a design can be seen, source analysis takes you to taste the code, feel the architecture)

3. Distributed architecture




(To keep up with the technological pace and broaden the technical horizon, programmers need to move up, have their own technical toolbox and technical awareness.)

4. Microservices Architecture topics




Topics on Microservices Architecture

5. Performance optimization




(Pursuit of efficient, scientific tuning, not chance)