Can I become a great programmer if I learn programming halfway?

Can I become a great programmer if I learn programming halfway?

Let’s not talk about chicken soup, let’s talk about reality: What is the current situation in the workplace for those who change careers to become software engineers?

1. Why do you want to become a programmer ?

Because of work, in daily life, many people consult me ​​about career choices. Most of them are not satisfied with their current career status and plan to learn programming and become a programmer.

I asked, why do you want to be an engineer?

The answers vary, among which "high salary", "easy to find a job" and "career development" are very common reasons.

[[145283]]

2. What is the current situation in the job market for those who change careers to become programmers?

Putting aside other factors, let’s just discuss salary: The salary of BAT, the industry benchmark, is as follows

Baidu:

Ali:

Tencent:

But for most people who decide to become programmers halfway, the salary shown in the above picture is difficult to achieve.

Most people who learn programming halfway through their studies have done so through training courses. In the developing job market, if you have learned programming through IT training courses, you will definitely face an awkward situation: no matter what your actual level is, you will be "invisibly discriminated against" during the job search process.

Why are companies unwilling to give offers to students in training courses, or even arrange interview opportunities for them?

I have quoted several recruiters’ opinions on this:

CTO of a startup company: “Students of Xzhi and Xma have no foundation, lack stamina in actual work, and are slow to learn new things.”

HR of an Internet giant: "The level of teachers in IT training classes is uneven. People with strong coding skills will not become training teachers."

If we dig deeper into the root cause, the “rate of excellent personnel” is the key.

When companies recruit developers, it is like picking eggs (talents) from a basket. A famous computer school like Beijing University of Posts and Telecommunications is like a basket of eggs with only 10 inferior ones; a training class is like a basket of eggs with only 10 excellent ones.

If you are the company's technical leader and HR, what choices would you make if you want to maintain recruitment efficiency?

The reality is cruel: although many training courses repeatedly promise that "you will find a job with a monthly salary of XXXX after training" when enrolling students, many students of training courses have difficulty finding a job when they enter the job market. Among those who have found a job, the average salary is not high.

Of course, there are also many excellent programmers who have learned from training courses or are self-taught, and their salaries are not inferior to those of students from prestigious universities such as Beijing University of Posts and Telecommunications. How to become such a person?

3. If you are not from a prestigious university, how can you make yourself stand out?

An interesting phenomenon: some students who attend training courses are actually graduates of four-year undergraduate computer science programs. Why do they still go to training courses? Because they did not acquire the necessary skills during their four years of college.

On the contrary, some self-taught people have become great people in the eyes of their colleagues. Let me give you two examples:

A, who was interested in computers and mathematics in middle school, studied mathematics in college, gave up an offer for a foreign mathematics major when he graduated, and joined a domestic Internet giant as a programmer. His ACM experience during college and his experience of starting a business with classmates to build websites were one of his core competitive advantages that enabled him to get many offers when applying for jobs in Internet companies.

B, who learns everything very quickly, studied business administration in college, and worked as a salesperson for a multinational software giant after graduation, earning hundreds of thousands of dollars a year. Later, he suddenly became interested in learning programming, and taught himself entirely through online resources. Through several influential personal projects, he successfully applied for a development position, and also grew very fast.

Through the above two examples, I want to say that learning programming is not an easy thing. If you are interested in it, or have strong learning ability and perseverance, it is not difficult to become a high-paid developer. If you are not interested in programming, are inefficient in learning new things, and just want to enroll in a training course to learn programming because programmers have high salaries (in fact, there are many programmers who are not paid well), then your hope is naturally slim.

If you have outstanding abilities but are not a professional, you can endorse your abilities through influential personal projects, shining GitHub personal pages, ACM, etc. You can also be active in social networks where programmers gather and get recognition from other experts, who will naturally be willing to help you recommend others.

4. Successful experiences of predecessors who learned programming halfway

Mr. Wang Jiangmin, who wrote Jiangmin Antivirus, was disabled in his legs at the age of three due to the sequelae of polio. After graduating from junior high school, he returned to his hometown and started as an apprentice in a street factory. Later, he became a mechanical and optoelectronic expert with more than 20 inventions. At the age of 38, Jiangmin began to learn computers. A few years later, he became China's earliest anti-virus expert and founded the influential Jiangmin Antivirus.

Mr. Wang Jiangmin is the kind of person I mentioned earlier who can learn anything quickly and with perseverance. Such a person can succeed in whatever he does. Perhaps you are already familiar with Wang Jiangmin's story -

Let me tell you a story about a programmer who learned programming at the age of 22 and eventually joined Facebook.

His talent and experience are not much different from those of ordinary people, and he is a good role model to learn from. The reason for this is this: someone asked a question on Quora, "If I want to be a top software engineer, is it too late to start learning programming at the age of 17?" Don Pinkus, who used to work as a developer at Facebook, shared his experience of learning programming at the age of 22 under this question.

The original text can be found in When are you too old to become an engineer? The translation is as follows (Don Pinkus's own perspective):

I, Don Pinkus, started learning programming at the age of 22. Here are my milestones:

22 years old – I learned what an if statement is;

24 years old – I joined Facebook and became an analyst;

25 years old – My position at Facebook changed to engineer;

26 years old – I made a lot of money doing a small project in my spare time. I felt that I would never make so much money if I stayed at Facebook and got a fixed salary, so I left Facebook, used the money to start a startup, and got a large investment from a large venture capital firm.

I am 26 years old. I am lucky, but I am not special. If you put your heart and soul into something, you can succeed. I will tell you about my experience and hope it will inspire you to do something you are interested in. Never give up a new opportunity or give up learning new knowledge because you think it is "too late".

2007 (age 18): I entered Vassar College as a freshman in the pre-med program;

2008 (age 19): In my sophomore year, I changed my major and started studying economics;

2009 (20 years old): During my junior year, I was infected with the mono virus and spent most of my time in bed, unable to go to school.

July 2010 (age 22): This year, I graduated from college and joined Morningstar, a financial company, as a data analyst. At that time, I didn’t know any code at all.

August 2010 (age 22): I came up with an idea for Morningstar’s new homepage and they loved it.

I proposed to develop a new homepage for the company. The people in the company liked this idea very much, so they assigned me a team of five people to complete this task, although these five people were newly recruited part-time employees.

I often have new ideas, but I don't have the ability to implement them myself, so I have to ask other team members for help. They are part-time employees who have their own jobs to complete in addition to my projects. I want to speed up the progress of the project, so I started learning programming.

December 2010 (22 years old): Started learning programming, project: FindData

I started learning HTML, CSS, and Javascript, three languages ​​that you can use to build websites, whether it's a blog, a regular website, or Facebook - all of these websites can be written in these three languages.

I opened www.w3schools.com and started learning. Through learning from this website, I mastered HTML and CSS and helped my father's company develop a corporate homepage. In retrospect, the homepage was very poorly completed, so my father didn't use it - haha, what a wise choice.

Then I went to http://lynda.com and learned jQuery, which is essentially javascript, and now I can make an interactive prototype for a website.

Still on lynda.com, I mastered PHP and MySQL. This way, I could store data in a database and the website had a backend. By this point, I had become a full-stack programmer and could build my own complete web application.

It only took me two months to go from knowing nothing about programming to being able to build a complete web application. Although this web application doesn't look good enough, at least it works.

2011 (age 23): Morningstar did not use my project. At the same time, I completed four websites in this year: FindData, BarCraft, Morningstar Graphic Interaction, Amuse.

After my product FindData was completed, Morningstar didn't like it, so they didn't use it in the end. Later I realized that this was actually a wise choice. Even if I were to choose now, I would not use this imperfect product.

But I was still upset about it at the time. I applied to transfer to a new team, where I had to deal with Excel every day.

I really didn't like this kind of work, so I spent one day a week on my job and the other four days on learning programming. I completed a new website almost every month, and this lasted for five months.

2012 (age 24): I joined Facebook as an analyst. Projects: Tickur, Lookgr, Roomidex, Searchnwork

The position I initially applied for at Facebook was a project manager, but after a few rounds of interviews, I was rejected. Fortunately, Facebook's data analysis team was very interested in me. Maybe it was because I was fascinated by the website, knew math, and had a background in the financial industry. After a few rounds of interviews, they hired me.

During my time at Facebook, the work environment pushed me to grow quickly. The colleagues around me were better than me, so I had to do my best to keep up with the team.

At Facebook, I learned the secrets of how the best technology companies in the world work. Mark Zuckerberg never blindly follows popular terms such as "data driven" and "minimum viable product" when making decisions.

During the day, I learned how to run a product, a project, or even a company. At night, I continued to learn to write code and realize my ideas. Thinking back now, my code was very bad at the time, but my code level was improving rapidly. I gained a lot of experience from it, and the speed of building websites became faster and faster.

2013 (age 25): I became an engineer at Facebook. Project: DataFinder, a Facebook project

I wasn't a great engineer. I knew what inheritance was and could build my own projects in PHP, but that was about it. I didn't even know what sort was, and I knew nothing about algorithms and data structures. All I knew was what improvements could be made to the internal data tools used by the analytics team, and I knew how to do it. So I joined the data team as an engineer.

Although I may only write code one-tenth of the speed of a professionally trained engineer, thanks to my experience as an analyst and my abilities in interaction and design, I am well regarded within the team.

April 2013: In my spare time, I started working on http://Blockspring.com. Project: Blockspring

In my spare time, I worked with my high school classmate Paul on a project called Blockspring. He was a smart and hard-working person, but he was even more amateur than me in programming and only knew the basics. At that time, he had just quit his job as a consultant and started his own business.

The other founders of our project were part-time, and Paul was the first to join full-time. At that time, I had already taken on a lot of private work, but Paul was my first real partner. The other founders often argued about the design of the website and whether to add some small features, which wasted a lot of time and energy.

I don’t mean to say that my first batch of founders were bad. The fault was mainly my fault: I didn’t know how to deal with them and how to set expectations for everyone. When you manage a startup, one of the most important things you can do is to set goals and ownership for the company. In the end, we completed the Blockspring project.

March 2014 (age 26): Found a client for Blockspring

We tried to sell Blockspring to many companies but failed. We published a brief on our blog and a guy from New York thought it had potential, so we flew to New York to sell it to him. We still couldn't sell him the product, but he promised to pay for us to stay in New York for a week to continue developing Blockspring.

I asked Facebook for a week's leave and stayed in New York to continue developing Blockspring.

Facebook allows employees to work part-time. Many engineers have their own side projects or hobbies. If the company wants to retain those entrepreneurial employees, it must allow them to pursue their dreams. At the same time, you can also build a more attractive company environment, so that they feel that they prefer this full-time job to a part-time job. Isn't this a cool idea? Go work at Facebook and experience it!

But whether I was promoting Blockspring or spending time expanding its functionality, it distracted me from my job at Facebook. I felt that this was unfair to the company and the team. If I wanted to continue developing Blockspring—even though the site had almost no users—I would have to leave Facebook. So I quit my job at Facebook.

I would like to thank Facebook for providing me with the best job in the world. Not only does it have a high salary and very good benefits, but it also allows me to make many good friends.

June 2014: Y-Combinator

We joined Y-Combinator, a great incubator that provides resources to help startups grow quickly. We worked 16 hours a day for three months.

Most people get bored after working on a project for two days straight. When we first joined Y-Combinator, we wrote a number on the whiteboard: 85. This meant that from then until the product demo, we had only 85 days to perfect the product. We worked day and night and finally completed the product within the agreed time, which also earned investment.

August 2014: Back to normal life

We ended our collaboration with Y-combinator and moved to a new office in San Francisco. I took a month off and spent my weekends doing my own stuff instead of working on Blockspring. Now I’m busy again, perfecting some Blockspring-related features, learning graphics, animation, and blogging techniques, and browsing other people’s communication and learning experiences online.

The above is all my experience, I hope it will be inspiring to you.

<<:  HTML5 Local Storage

>>:  Exclusive interview with Zeng Jian, senior web front-end engineer at Tencent: Node.js or H5?

Recommend

App promotion tips: in-depth analysis of how to direct traffic to the app?

Introduction: Generating traffic and users is not...

30 ways to promote your online store

For a novice opening a store, just waiting won’t ...

Skills and strategies for new media operations!

New media operation concept mind map Through the ...

New energy vehicle industry: Avoid fraudulent subsidies and qualifications

Recently, there have been rumors about the suspen...

How to market effectively in the second half of 2019?

Entering 2019, marketing seems to be facing its b...

How did the first batch of seed users of the product come from?

Many startup products are struggling to find the ...

High-end products often only require the simplest Chinese manufacturing!

Biden talks infrastructure Background made in Chi...

Lao Luo Weibo 1799: The double-edged sword effect of excessive marketing

Because of jet lag and insomnia, I checked Weibo ...

How to obtain seed users during the cold start period?

For Internet products, if there are no users, no ...

Science Magazine: Invisibility, will this scientific fantasy become reality?

Author: Li Chuanfu Shi Xiangqi In the hall of sci...