5 transformations of 12-year-old programmers

Programmers will encounter 4 major problems in their careers:

  1. How to choose a technical direction (to make more money)?
  2. Do you want to switch to management?
  3. When you are old, how do you fight against young people, stay competitive, and avoid being eliminated?
  4. I don't want to do development, what else can I do? How to do it?

I have 12 years of experience in development and technology management, and have gone through 5 transitions and faced these 4 challenges head-on. Today, I will talk about these 5 transformations of mine. I hope there are one or two points that can trigger your thinking.

First look at my career roadmap:

In the picture above, the thick green arrows represent the main plot of my work, while the thin blue lines represent the branch plots developed in my work.

From one green arrow to another green arrow, there is a transition in between.

As you can see from the picture, I worked for 15 years from 2002 to 2017, experienced 6 main plots and completed 5 transformations. The 5 transformations are:

  1. In 2005, transformed from after-sales technical support of program-controlled switching equipment to software engineer developing broadband access products
  2. From the second half of 2008 to the beginning of 2009, from a developer to a manager of the R&D department
  3. In the second half of 2014, accept the invitation of friends and join the ranks of entrepreneurs
  4. At the end of 2015, the entrepreneurial team was disbanded and returned to the development position
  5. In July 2017, left the organization and became a freelancer to support myself with writing, courses, career consulting, etc.

Maybe seeing this, you have found that some of your own experiences are similar to mine... Don't worry, I will start each transition, talk about my thoughts, and see if it is similar to yours. You are also welcome to leave a message for discussion after the article.

1. Self-taught C language and switched to software development

I graduated in 2002 and joined Xi'an Datang Telecom, engaged in after-sales technical support for program-controlled switches.

Datang's equipment is scattered in the countryside of various provinces and cities. My job is to run around plugging and unplugging circuit boards, upgrading software, restarting computers, replacing components, starting...

There are more than 300 days a year on business trips. When I am busy, I walk through the dark country roads every night, running everywhere to solve problems or upgrade programs, often all night long. In my spare time, I have nothing to do for a few days, and I write articles in the office or play mahjong all night.

After working for two years, I saw that there was no room for development, and I also felt ignorantly that this was not the life I wanted. In addition, my girlfriend was studying in Xi'an, and it was not an option for me to go on business trips, so I decided to make a transition.

At that time (2005), two points were considered when transforming:

  1. not on business
  2. Technical work, a little challenging

The company itself has software development positions, so I wanted to make an internal transformation, but because I have no experience, I haven’t written any programs, and I haven’t been able to convert it. So I quit naked, taught myself programming, and looked for a job myself.

At this time, what technology to choose becomes a problem - I have never developed software, I don't know any programming languages, and I don't know which languages ​​are good and which are bad.

Later, because some development colleagues used C language (many software used in telecommunications equipment is C language), and graduate students used Java, I chose C language between C and Java-because it is simple, "the C Programming" Language" is much thinner than "Java 2 Core Technologies" (Volume 1).

The C language book is very thin. It took me about a week to read it, and then I started to send my resume to look for a job.

At that time, I was ignorant and stupid. I didn’t know much about software development work, nor did I understand the recruitment requirements of software companies. I didn’t expect any difficulties.

In the beginning, I kept sending resumes, but I didn't even get a chance to take a written test...

While submitting my resume, I continued to study and research, and then I somehow got the opportunity to take a written test. (Now that I think about it, it may be February or March, and the peak recruitment period has come.)

But I can't pass the written test at all... I have always been despised...

Fortunately, doing the written test is also a good study. After several times of silence, a company finally gave me the opportunity to interview.

I have interviewed dozens of companies one after another, but they are often rejected because of inexperience...

I just went through 3 months of being despised and rejected.

Fortunately, my nerves are relatively large, and I didn't give up or give up on myself. I foolishly believed that I would find a job.

I'm glad I wasn't that sensitive, otherwise I wouldn't be today.

At the end of March 2005, I got a job in software development, and in April started a good life as a programmer.

Thinking about my choice of technical direction at that time, it was just a child's play, only considering the thickness of the book! This story is also reflected in my new book " Programmer's Growth Lesson ".

Now if you want to enter the field of software development, you may face more choices of technical directions. How to choose? You can refer to my new book " Programmer's Growth Lesson "

2. Transformational technology management

In the second half of 2008 and early 2009, I slowly moved into a technical management role and began to manage an R&D department. The line I take is "skilled and excellent, then managed".

To put it simply, it means that you are technically talented, you can easily solve various problems, start to lead people, then lead the team to manage the project, and then, naturally, the company will push the company to transform into a technical manager.

This route is also the route taken by more than half of technical managers. If you want to transform technology management, consider this.

The key point of "superiority in skill is in control" is: there is spare capacity in action .

What it means is to focus on the moment and get your tasks done efficiently. When you show more than enough, the leader will give you more and harder tasks. When you can do it efficiently and seem to have more energy, the leader will give you more important tasks...

In this cycle, you will become more and more important, and you will have the opportunity to lead people and projects.

If you are always unable to finish the work at hand and do it poorly, you will basically not be able to walk this route. But there are other routes too - the book " Programmer's Growth Lesson " summarizes 4 types, you can take a look if you are interested.

3. Join the entrepreneurial ranks

In September 2014, I had an opportunity to leave the company where I had worked for 7 years and reconsider my direction. At the end of the solar calendar, accept the invitation of a friend to start a business with him.

I am willing to try it because:

  1. The future possibilities of starting a business and going to work are very different. If you succeed in starting a business, your influence and economic return will all rise to a higher level.
  2. People who work together are reliable.
  3. The products made have a clear profit model.

Of course, bad things happen - we fail.

I personally do not regret this failure experience, because when you are responsible for the company from the perspective and height of the owner, your perception of work will change dramatically! This change will have an important positive impact on subsequent work and life.

If you are skilled and reliable, many entrepreneurs will invite you to join their team. Don't get too hotheaded, just take a closer look:

  1. Assess whether the product to be made is reliable
  2. See if the person you are about to work with is reliable
  3. Assuming that there has been no income for nearly 2 years, can the living standard of yourself and your family be maintained?
  4. Imagine the impact on your life and your family's life, and whether you and your family can accept it

4. Return to development

I started doing technology management in 2009 and failed to start a business at the end of 2015, which lasted 7 years. However, in the face of multiple better management opportunities, I resolutely chose to return to the technical position to continue development.

Why?

This is because the purpose of our work, in addition to making money, is self-realization.

Self-actualization includes several aspects:

  • growing up
  • Achievement
  • will

Growth is the positive change you want before and after you do something.

If you have been developing for ten years, and your technical level and problem-solving ability are still similar to when you first entered the industry, it is called no growth!

Accomplishment means that you have made an achievement and received recognition from relevant stakeholders.

You are responsible for a module, which uses the latest technology and the most powerful design, and can also run it to achieve user needs. You personally feel that you are very successful, but the technical framework you use is too complicated, the maintenance cost is high, and the operation and maintenance team and the secondary development team do not recognize it, then it is not a real achievement.

Intention is well understood. It is what you are willing to invest your time and energy in, and what you do to be happy .

For example, when I failed to start a business and looked for a job again, I chose to return to the development position because I felt that it was more exciting and devoted to develop software and solve problems with technology.

Many developers will encounter the question of whether to switch to management and whether to keep doing technology. How to choose the answer depends on your personal wishes and how you feel about doing something.

I have an in-depth description of this problem in the book " Programmer's Growth Lesson ", you can take a look if you are interested.

But some people will ask, if you have been doing development, how can you fight with young people when you are old?

I drew a picture before, and I will post it for everyone to see:

As can be seen from this picture, developers create software in two steps. The first creation is done in the mind, which belongs to the level of thinking;

If you want to surpass your age, you need to work on the abilities needed to create the first time:

  • Build your own body of knowledge around a specific business domain
  • Quenching imagination, abstraction, induction, analysis, integration, design, etc.

That way you can think more, do less, do critical, do well, and you can transcend age limits. Otherwise, if you just focus on cracking code like young people all day long, it will definitely be worthless and will be quickly dismissed.

5. Turn to freelancing

If you are doing software development from 9 to 5, you can definitely experience a lot of disappointment:

  • to punch
  • I have to ask for leave
  • Some needs do not want to do
  • Some codes do not want to see
  • Some people don't want to deal with them
  • Some clients don't want to talk
  • I don't like certain styles of leadership
  • Performance appraisal has to listen to others
  • ……

But you have to do, have to accept these things, right?

When you don't agree with something and have to accept it, there are usually two ways to do it:

  1. Look at it from a different angle, allow yourself to accept it, and move forward with energy . This is called "turning one's mind, and turning all thoughts. Once the mind is open, all paths are open." However, many people can't do it...
  2. Leave it and choose what you want and like . There are also many people who can't do this, because they don't have the ability to choose, and they don't have the right to choose.

Therefore, if you want to live a happy life, either you have a transparent heart and can accept many realities; or you have tempered yourself to be strong and have the ability to charge in the direction you want.

I chose the 2nd way! the reason is simple:

  • self-control
  • You can spend your energy on things you love

I can choose the second way because when I promote the main story, I have developed side stories, such as writing and career planning.

If you also want to leave the organization and take control of your work and life, it is strongly recommended to take stock of yourself first and see if you have the ability to make money independently - preferably two or three.

After freedom, my circle of friends sent a message:

Finally, I don't have to work hard to become like others, I can
finally spend my energy on things I like, and I can
finally create the life I like with my own hands
- freelance work, save it here.

I made plans A and plan B when I was freelancing. Plan A is writing, curriculum, and developer career planning consulting; Plan B is software development. A few months have passed, and the A plan has achieved a little result - my new book " Programmer's Growth Lesson " is on the market!

The content of the book is divided into two parts:

  • The first 4 chapters focus on the value growth of developers, introducing the thinking and tools for choosing a technical direction, the personal benchmarking management method that allows you to continuously improve your technology, 4 ways to become a technical manager, and 18 challenges faced by new technical managers.
  • The last four chapters focus on the career choices of developers, and discuss key topics such as job-hopping, resume optimization, salary negotiation, and transformation from a practical perspective.

The four major problems that developers mentioned at the beginning of this article are all covered in the book.

Interested friends, buy now:

Yes, buy now, there is a bonus activity:

  • After getting the book, evaluate the product, and send the order screenshot and comment screenshot to the author An Xiaohui's personal WeChat (a316576715)
  • Give my popular Zhihu Live - 6 strategies to make money in your spare time (more than 15,000 people participated)

Thank you for your willingness to help me run through plan A. Please recommend " Programmer's Growth Course " to your friends in need.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325814628&siteId=291194637