Now everyone’s educational background is basically promoted, basic programming is undergraduate or junior college start, here only that undergraduate example.

A lot of college students tell me that it is computer major, software engineering major and so on, what all learn a bit, so really good?

For college students, if it is computer related professional, want to go programmers this way, I suggest you as soon as possible to establish direction in life, for example, if you want to work in the front direction, in-depth study of front-end technology, can use a technology to solve various problems, so it is very stick, front-end technology can refer to my previous article: – > 2020 front-end technology overview

In college, take a course or two that interests you and work toward mastery. This society is sure not to be a generalist, but an expert.

As mentioned in the previous point, programming is a common profession. Analogy with the construction industry, for example, are all the same, the largest number of or at the bottom of the “small”, in my eyes, if only one arm strength will only let you why, why is the hand by hand typing and brick in fact the difference is not big, don’t feel like to blow air conditioning in the office all night compared to the site in the sunshine will be some easy noble, There have been many cases of dead work in the office these days. Similarly, in the programming profession, it is no less difficult, if not more difficult, to evolve from “architect”, “specialist”, technical director, and so on, than it is to evolve from bricklayer to architect.

Is there a future in learning programming? Programming is a common profession in today’s world, and it shares some of the characteristics of other professions. For example, the income that you are most concerned about is the same as other professions. The high salary belongs to a small number of people, and the salary of the vast majority of people is not very different from that of other industries. So the fantasy that as long as you enter this line will be able to easily climb the peak of life to marry bai Fu Mei, then you still die this heart. So, learning programming is promising, but not necessarily better than learning sales, learning design… Come more promising.

“You see now many statistics report that the average salary of IT industry is very high…” The most unreliable word of the year is average. How many people are averaged.

The purpose of the preceding points is not to discourage beginners. A lot of beginners are willing to enter this industry, I think most of it is due to the guidance of publicity. Some are reasonable guidance, such as the national schools, because as a relatively sunrise and bring a lot of tax revenue, the state of course wants more and more people to work in this field to promote development; Others are grandiose guidance to achieve some personal goals, such as some employment guarantees and income guarantees in some of the unskilled training classes. With that in mind, I’d like to pour a little cold water on some of the overheated minds, explain some of the realities, and let’s get to the rest when we cool off.

If you’ve calmed down and still want to work in this field, then we can rationalize the career. At the moment, this profession is changing faster than any other. The speed of change will make everyone in this profession very tired, there is no way, because change fast you have to keep learning, stop learning means elimination, this is particularly obvious and cruel in the IT field; In turn, the speed of change means the opportunity is greater, so if you keep up with the speed of change and the others don’t, well, you’re stepping on his corpse. Competition is everywhere, some professional competition is mainly experience, relationship precipitation and so on, so super difficult nature is very big; In programming, experience and connections also affect the outcome of the competition, but technical strength is more important, so it can be said that there are more opportunities in this profession. On the other hand, although there is competition among peers, and this competition is more obvious, it is the people above you who really affect the quality of your life. Before, because this industry is still in a stage of “savage growth”, the demand for all kinds of jobs is constantly expanding, this phenomenon of “competing with predecessors for profits” is not obvious, but at present and in the future, this kind of competition will become more and more prominent, until it is the same as other industries. In this field, the accumulation of technical strength is also related to experience, but once you get in the door, the growth of technical strength is very related to your concentration, energy, and time for learning. (Assuming you already know how to learn and improve your skills and abilities.) Let’s say you’re fresh out of college, fit, healthy, and single. “You have an obvious advantage over a middle-aged engineer in his 40s with a growing family and declining health. So it’s easier to seize opportunities in this profession.

So, if you are hungry for the future and have the confidence to keep working hard, this is the right industry. Nothing else. There’s a high probability of reward in this business, that’s all.

After analyzing the industry, let’s learn programming. Is it difficult to learn programming? Programming is being taught in kindergartens and elementary schools; Is it easy to learn programming? Some students with good grades in related majors from good universities are not necessarily qualified programmers. But no matter how difficult or difficult it is, you have to look at the skill first. I don’t see much difference between learning to program today and learning to type when computers first came along. At one time, a typist who could type more than 100 Chinese characters per minute was a highly skilled person. Now, typing has become as basic a skill as pinyin. Programming is the same, it can be foreseen that if you just learned xx language XX grammar, then a few years later you and now the typist is no different: who can do things you why? But on the other hand, can you write good articles just because you can type? Is it difficult to compose or type a good article that can be read by hundreds of thousands or millions of people? Similarly, with programming, the real challenge is to write code that solves real problems, not the xx language syntax or the way the XX framework is used. Therefore, learning to program, xx language pre-release or XX framework is easy to use, but must learn (to write a good article you must be able to type), difficult to learn, how to write code to solve real problems.

 

Learning as a programmer is very different from learning in some traditional professions. If the university and training institutions are compared to a factory, for some traditional industries, his output of qualified products are some competent employees; For the IT industry, his qualified products are employees who can quickly learn new skills to do the job. No matter how powerful universities and training institutions are, it is impossible to cultivate talents perfectly qualified for software positions only by the teaching content they provide. In this process, learners must be able to explore by themselves and follow closely the development of technology. The IT industry is changing so fast and new technologies are emerging so fast that what was right one year ago may be rubbelled a year later. The technology first appears in the laboratory research institute, and then is applied in the industry. Finally, it will be summarized into teaching materials and appear in schools and training institutions. This process takes a long time, so for programming, the backward teaching content in schools is inevitable. Therefore, you don’t have to talk about how the school teaching materials are backward and unreliable, how training institutions do not fit the reality of the industry, the real backward is your own thinking. If you are still in school or training institution, then you must analyze a) what you want; B) what it can give you. A) You want the basics of the industry (learning to type) and tips on how to learn new things; B) What it can give you is to teach you the basics. You see, one thing that schools and training institutions seem to fail you in is the ability to learn new things, which is crucial to your career development. In fact, every school and training institution teaches you the basics by showing you how to learn something new over and over again. Make you do homework, make you read a book, make you practice writing code (some good teachers will simply summarize the method and give it to you). They didn’t give it to you, they gave it to you and you missed it.

Is the training class good? It is difficult to evaluate, but since it can exist, it must have its value. In many cases, training classes have a lower success rate in finding a job than programmers who are trained or self-taught, and training classes are not entirely to blame. First of all, degrees are somewhat useful in China. If you don’t have a good degree, all you have is training experience, then you have to admit that you started a little bit below everyone else. (By the way, admitting your weaknesses in any subject can only do you good.) In addition, I believe that many students choose training classes because they do not know how to learn by themselves. According to the analysis in point 7, the key skill of “how to learn new things” is weaker for these students from the beginning. If these students have only mastered the basic knowledge and failed to gain the “ability to learn new things” after the training course, I would like to say directly that there is no difference between the training course and no training.

If you choose to attend training classes, what should you pay attention to? One of the biggest benefits of taking a training class first is that you will be more focused than self-study, more secure in time and energy investment, and will not give up easily. If you pay the money, it’s not cheap, and if you flout halfway, they won’t give you a refund, so you will listen to the money and stick to it until the end of the course. On the other hand, a closed environment rarely gives you the time or inclination to do anything else, which, to be honest, is not easy to find these days. On the training class you have to work hard, after all, the others are just auxiliary, how much you can learn in the end is up to you, if you sleep in class, do not do homework who can not save you. Listening carefully and studying hard is a necessary but not sufficient condition. The other is that you have to find your own material and start with the basics and learn something else, which is the most important thing. Learn something not so you can brag about it in front of your classmates, but so you can learn it little by little. You can still learn something without a teacher. You need to practice this throughout the course of the class, otherwise, as I said earlier, it won’t make much difference.

So let me summarize the training program:

  • A training class can lead to a high-paying job. False, as soon as possible give up heart, high salary has nothing to do with training classes, with you this person itself, the others deny is you this person, rather than you on the training class experience.
  • Training classes are liars. Not right. Cheaters exist, but also heard that in the name of training is actually pyramid selling, also heard that what tuition loans are actually fraud, this is a real cheater, training classes are just their deceptive means. On the one hand, attending a training class is an investment, which has risks (the teacher’s level is high or low). On the other hand, if you don’t figure out what you need from a training program and you don’t get a job, I think that’s on you.
  • Training courses help a lot. This is true for people with poor self-control and many distractions around them. For people with strong self-control and learning ability, the effect is really not big.
  • The industry discriminates against training courses, training experience on the resume can not find a good job. False, I say a word really, oneself dish is dish, don’t look for objective reason to shake pot, if you are afraid of not resume audition you can walk inside push channel, this year for master which person is not hungry and thirsty. If you feel strong technology good but didn’t find a job, please send me your resume direct messages, I can do the evaluation for you free of charge, if really have the strength, I recommend package (extended a warm welcome, master of the hungry we expect to join), then came in even if I give you another I also willingly, hold your legs, I pray thee, take me fly.

What is your salary related to? In a level playing field, it’s a given that your salary is related to the value you can bring to the company. So how do you generate value? That’s solving problems for the company. Anything that solves a problem is valuable. Anything that doesn’t solve a problem for the company is worthless. It’s as simple as that. In this way, there is no direct correlation between your skills and your salary. For example, if a company has only PC products and all of its revenue comes from PC products, it doesn’t matter how good you are at developing your phone. In this case, there are several ways to generate value for the company: 1. The company may develop the mobile terminal business in the future, so you can be retained as a reserve of talents, so you can solve the problem of “how to start quickly when the mobile terminal business needs to be developed” for the company, and generate value; 2. 2. You have a lot of experience. By the way, your years of experience will guide your current PC business. Here are some suggestions: 1. If you are not going to change my job, so want to raise wages (fair environment), to analysis what is the company’s core problem, and then refine the decomposition layers, select tools to try to learn a new method to solve, you can solve problems of the higher level, the closer it gets to the fundamental problems (the company’s sustained, rapid and fundamental problem is to make money), the greater your value; 2. Choose a company that gives you the most value for your skills.

Only technology produces value? As mentioned earlier, technology creates value indirectly. What creates value directly is problem solving. The first step in solving a problem is identifying it, or understanding it. A brilliant programmer who doesn’t know what the problem is that the company needs you to solve isn’t going to add value (at least in this company). Some non-technical expertise is critical to identifying problems and understanding how they work. , for example, if you want to develop a fry a software, then the science of finance and then switching to the value of technology programmers can produce, will be higher than undergraduate is learn software and technical level and no significant advantage of programmers (therefore, regular programmers pay attention to the training, if your programmers is the same as the technical level and not regular, the value of that you have really add a lot of, It’s just that the other side doesn’t necessarily give full play to the value). There are many ways to solve a problem. There are many things involved in solving a problem. Technology is only a small part of the problem. You may not be technically strong, but if you are good at integrating resources and managing projects or people, you are still valuable. On the contrary, because technology is fungible, the role of technology in solving problems is not as great as imagined (for example, for small companies with strong business, the most important technology work is outsourced). For doing technology, do not belittle yourself to compare themselves to coolies, but also do not think too high that the company will not turn without their own. When it comes to technology, focus not only on the technology itself, but also on the business area you are in. And those from other industries to turn over programmers, if you turn to successful, so your actual value is actually very huge, do not have to their own as others, but to calm analysis of their own advantages, choose the appropriate field to study carefully, their hair quality to the maximum.

Programming is not a test, and it is not realistic to learn programming in accordance with the train of thought of preparing for exams in middle and high schools. Programming is a very practical job. Just because you know a lot of knowledge and grammar doesn’t mean you have mastered it. Programming is about being able to apply that knowledge flexibly. Most of the time, you just need to create a superficial image in your mind, and when you need to solve a problem, you can quickly call up these pieces of knowledge and “assemble” them together to solve the problem. Do not remember the details, it does not matter, language is to help you to specify these knowledge.

A lot of programming basics are like Arabic numerals, you just see them as numbers, but did you ever think that numbers can also evolve into positive numbers, negative numbers, decimals, real numbers, imaginary numbers, exponents, complex numbers?

These changes are only in practice, only when you actually solve the problem, you can realize the mystery of change and the magic of combination.

Many students often complain that I am not in a large company, so I do not have high-quality project opportunities. However, you should know that 80% of coder are in small and medium-sized companies, and the vast majority of coder do not have access to high-quality projects.

So should we give up on practice?

What makes us human is that we have strong subjective initiative. The outside world wasn’t good enough, so we looked for it ourselves. Can you imitate you? Why not find a product that you admire, 1:1, or copy it in as much detail as possible for your own practice? Even the designer’s UI design saves you.

But it’s important to pay attention to the details. If you just implement the general features, it doesn’t matter. In fact, good products are excellent in the details, good programmers and ordinary programmers a certain gap in the details.

In work, we should pay more attention to the results, but in study, we must pay more attention to the process.

Well, that’s all for today, and I’ll see you next time!

 

 

 

Related reading:

What is a big front end and should a front end engineer be a full stack engineer?

Talk about my learning route and method of the front end of some experience

Should the request of the vast number of fans, recommend a few front-end books