What is the difference between a "college programmer" and an "undergraduate programmer"?

What is the difference between a "college programmer" and an "undergraduate programmer"?

I have a side job (free, but the point is fate, after all, I don t have enough time), and I happen to be instructing some graduated programmers to find jobs. I found that the difference in ability is reflected in the hard work acquired, and the gap in professional development is formed in cognition. At the same time, I also compiled the latest interview questions in the last two months.

Friends who need this information can get it from End of Article .

What is the gold content of the undergraduate?

Let's take a look at what most undergraduate students have learned? Undergraduate, although there are more than 10 computer-related courses.

1. most school teachers are not good enough, and their level is not enough.

2. teachers with sufficient levels are busy receiving projects or distributing papers. Who has time to teach?

3. most students spend their energy in student unions, clubs, games... and the real learning time is the few days before the exam.

4. many domestic textbooks are not good, but they have to look at them, such as a certain "C language", which has a lot of wrong knowledge.

So I want to say to the programmers who graduated from college, undergraduates (the vast majority), no one imagines how much they have learned.

4 years ago, I recruited a 2-book student (non-computer major). At that time, I couldn't write recursion, and the basic knowledge of computer was 0. I gave him a job as a big data engineer? ? ? Don't be surprised here, everyone, I like his ability, which is positive energy.

I hang up a lot of big data engineers, want him? why? Because he gave me a feeling of self-improvement.

I recommend him to read "Introduction to Algorithms" and Watermelon Book (Machine Learning), and then learn shell and hadoop. At first he asked me what to do with mathematics knowledge? I said flipping through high school textbooks, the probability of buying one. Then he really flipped through the textbook, found a probability book and read it again. Then he found me and said, I can understand a little bit. One year later, he read "Introduction to Algorithms" twice, probability twice, linear algebra once, calculus once, and watermelon book once. After 2 years, the deep learning framework can be handwritten.

This example tells us that in the face of hard work, there is really little knowledge in the undergraduate course.

Junior college students have few choices in the first few years of employment

Specialist programmers had no choice at the beginning, and many went to outsourcing companies as soon as they graduated a lot, panicking to choose their way...

Most of the college students who work hard have this story:

After graduation, I went to a small company (or outsourced)

Small company that jumps a little bit better after the year (startup team)

Skills gradually improved after years

Began to take the lead in small companies (or enter medium-sized enterprises)

...And then continue to change jobs in order to increase salary

Frequent job-hopping is very obvious among college students, because there are not so many choices. For example, if you jump to a small factory that works overtime every day and has a very backward technology stack, you can only continue to jump.

What to pay attention to when there are few choices

"learning aspect"

There are few choices, frequent job-hopping, and no stable learning environment. At this time, it is necessary to have a long-term study plan. If it is to solve the survival problem in the first year, starting from the second year, I suggest you take a moment to start to make up for your expertise. For example, if you spend an hour a day to learn basic subjects such as algorithms, operating systems, networks, etc., stick to it for one year (that can reach the level of most undergraduates), stick to it for two years, and you will become a programmer with a good foundation. Forewarned is forearmed, without prejudging the waste--


It is recommended that after the survival problem is solved, you should immediately start thinking about continuing a bachelor degree. Currently in BAT, Teacher Ma s Taobao is relatively friendly to college students. Tencent is almost ruthless, Baidu is somewhere in between. Many companies simply look at their academic qualifications, so prepare early.

"Job hopping" is not as good as "achievement"

It is recommended not to change jobs too frequently. It is easier to learn things in a company for longer. Technology is not isolated, the more knowledge can be learned. Many students who graduated from prestigious schools (especially Tsinghua University) can show me the serious and responsible attitude when encountering trivial things. Even if it is delaying my growth and time, I have to do everything. In the end, the attitude of persistence is awe-inspiring! On the contrary, many programmers who are specialized in many specialties, dislike being dirty and tired, looking for excuses and reasons.

College students enter the big factory

In essence, being unable to enter a large factory is a cognitive problem. It is impossible to graduate and enter a big factory. But after a few years of work, there are still opportunities. The cognitive question is: Don t change jobs just for a salary increase.

What I like more is,

Enter the outsourcing company (or small company) at the beginning

Years later, the technology matures and enters a pretty good small start-up company

Become the main program (or leader) of this startup company after a year, and get a salary increase in this company

In the 4th year, I started to interview Ali (Ali accepts specialties) or there are still some famous companies in the market, but the requirements are not so high.

In addition, it is recommended to work hard to supplement knowledge (basic knowledge: algorithm, data structure, network, operating system, linux, etc.). Because in the fourth year, if you want to start entering a large factory, you need these things to knock on the door.

Finally, if there is time, start getting a diploma and learning English as soon as possible.

How to choose a specialist programmer after becoming a leader

Most of the few I am mentoring are leaders (5-7 years of experience) in junior colleges, and the current salary is between 30-45k. Strengths, of course, all of them are very hardworking and persistent people. The salary of 30-45k is relatively high among programmers. A good friend of mine, graduated from a prestigious school, has a good foundation (two top Apache projects in his hands), is familiar with front-end, server, and is proficient in algorithms. He is currently doing artificial intelligence, which is the salary.

Everyone will ask, since the salary is similar, what is the problem with them compared with my friends? It's not money that the specialist leader is bad. The real difference is that they don't know how to start a business. My friend, although the salary is not high (at least relative to his ability-how much is Aier, who is very strong in front-end and back-end cloud computing?), he has a good team. The average level of everyone in this team is his level. Such a team may grow up and make a career in the future. Although the specialist leader has made the same or even more money, his company and team are not enough to provide him with enough strength to compete in the future market.

By the way, follow the normal career plan. You can never make the money that the team will outperform the market. Think about the 100-month bonus of the Glory of the Kings team. And the salary these people can get elsewhere.

So, I basically got a high salary, my suggestion is still to make up the foundation, make up the academic qualifications, even if the salary is reduced, join the big team to exercise.

Don't be ashamed of getting an 8K salary, don't be complacent just because you get a salary of more than 20K, don't be complacent just because you get a 30-45 salary. Life is not to earn that little salary, what you need is to open a career.

Finally, free Java architecture learning materials are provided. The learning technology content includes: Spring, Dubbo, MyBatis, RPC, source code analysis, high concurrency, high performance, distributed, performance optimization, microservice advanced architecture development, etc.

There are also Java core knowledge points + a full set of architect learning materials and videos + first-line interview books + interview resume templates can be obtained + Alibaba Meituan Netease Tencent Xiaomi Iqiyi Kuaishou Bilibili interview questions + Spring source code collection + Java architecture Practical e-books.