A recent short film called "What Schools Don't teach" has aroused public concern. The central idea of the short film is "Everyone can program," and several prominent billionaires have been promoting the argument. (Incidentally, these rich people earn their money by hiring someone else to program, not by themselves.) )
A few days ago my brother came, he is a dream to make a fortune in the Lord. He said to me: "I want to be like you, I want to program." There was no doubt that he had seen the film.
What I'm trying to say is that it's not a very reliable thing. Not everyone is fit for programming (except for simple entry), and more importantly, not everyone can use programming as a career.
The short film begins with well-known rich people such as Bill Gates and Mark Zuckerberg, who started programming when I was a child, and then showed their earliest works of enlightenment, such as games. Later, Dropbox's founder, Drew Houston, called "programming and playing musical instruments and doing sports", and then NBA All-Star Chris Bosh, who studied programming in college, described his programming difficulties and woes, but did not actually point out how difficult it was.
What they say is not false. A curious child learns to program like any other unimportant thing (such as musical instruments, sports, juggling, sewing, etc.). But the contents of the following began to mislead.
Makinde Adeagbo, an early Facebook engineer, came out and said that many programs were simple. In a sense, this is right. But I can also say that a lot of the action is also very simple when playing basketball, such as crossing the pitch or pitching a ball. Crossing the pitch is the basic element of playing basketball, but not going across the pitch means playing basketball well. In fact, you may be able to cross the pitch beautifully every time, but you can't play basketball well.
Then my favorite clip came: Bill Gates said, "Plus, minus, this is programming." These are the only prerequisites you need to learn to program.
Only half of this is right. You really need to be able to program without too much mathematical knowledge. But the problem is that as you learn more about programming, you'll find math essential. I would say that to be a successful programmer, you have to have a good algebra base, and you need to learn more if you want to reach a higher level. And without that premise, I think he conveys the wrong message that the minimum threshold is described as a method of success. The more accurate saying is: "You just need to know plus and minus." But you'd better learn a little more math, because in addition to introductory readings like 7 days of learning Java, you need math when you're reading more content-aware programming books. ”
The end of the short film introduces the life of the programmer. Luxurious offices, free food, beautiful scenery and, of course, lots of money.
I was enrolled by a company in the short film: Facebook. But I said on behalf of other programmers, these look very uncomfortable.
These conditions do exist, but for programmers, they are exceptional, not normal. Most offices are equipped with coffee machines and refrigerators for storing your own food, usually stuffed with other people's food, for one weeks. Programmers sit in a gray cubicle in a building and follow strict rules and regulations.
All I have to do is get enrolled on Facebook. They told me it was easy. They have enrolled hundreds of people, and programming is simple. That is not the case. Facebook's interview is more than just "plus and minus", and the questions they give you are by no means an interesting little game. One of the questions you need to know about calculus, another topic needs to explain the space-time complexity of highly recursive functions, there is a need to master the programmer to use the abstract tools, such as formal language and automatic operation.
My brother wants to be in my business, he thinks he can make more money than he does in FedEx, and live a small luxury. The same is true in the short film. But I don't think he saw the reality.
This weekend I'm sitting here, writing code to a code base I don't know anything about. I feel that if I don't finish it on time, my job will be in danger. I am not writing interesting games or other specific things, in fact, if a layman asked me what I was writing, I could not speak clearly. I might say, "I'm writing something that can read code, derive information from code, and others can use that information in their tools." I don't think that's what my brother or anyone else expected.
Can I work at 10 o ' clock in the morning and go home 7 o'clock? Programming is not work on time, it always takes more time to complete the task. And it never ends, because the task is endless. There are always new features to add, there are new bugs to be removed. You always have a reason to stay for another two hours. Personally, I feel that time is not enough and I have to work overtime until 12 o'clock in the morning to 1 to balance my job and my personal life. This is not just my state, but many programmers do.
I don't want to hit new people who just started to learn programming, it's really a power-enhancing thing. But for me, programming is not something that can be done over one or two weekends or 52 weekends, but I've worked hard and given up many other things in life to learn. It's hard for me to tell my brother or anyone else that learning a little bit of programming (not fame and wealth) can change the way they think, and I don't think this simple thing is a good push for most people.
In short, not everyone is fit for programming. It is not a fun and fun job described in this short film or movie "Social Network". Nor is it a cheerful social event. You spend a lot of time sitting in front of a computer screen, staring at colorful text documents, thinking, thinking, typing, getting angry, and wondering why you choose to live a sedentary life.