Software development is now a very hot occupation. From 2014 to 2024, demand for developers in the U.S. job market will grow by 17%, compared with a 7% increase in the average demand for all occupations, according to a statistical data released by the U.S. Labor Bureau. Many young people will choose programming as a starting point for their careers. How to learn programming well? How to become a good programmer? How do you plan for a career as a programmer? is a matter of concern to many young people. In a recent survey by InfoWorld, the father of JavaScript was invited to Brendan Eich,clojure creator Rich hickey,spring framework creator Rod JOHNSON,NPM creator Isac Schlueter, and Guido Van Rossum, who invented Python, received an interview. The programmers of these programming circles have made suggestions on the career planning of young programmers in the three aspects of "education background", "programming language" and "programming practice". Let's share these ideas with Daniel.
Educational background
"The biggest challenge in life is not what technology can solve . "So we have to learn about history, language, art, and other human knowledge, not just computer-related things," Eich said. ”
Hickey agreed with Eich's view. In his opinion, the programming should be placed in a wider field of view. "In historic things, programming is a whole new achievement. We should not think that we have learned how to pursue it in the best way. "Hickey suggests that young people should pursue other learning interests to help understand various problems in programming. "The best programmers are those who are able to understand, communicate, and solve problems in their field. Software is just a tool . ”
Johnson believes that to be a programmer, you should explore subjects other than computer science and mathematics . This can help programmers broaden their educational background, because ultimately "programming is about people, not math." "Even when it comes to turning computer science into a diploma, Johnson has a different view. "Most of the time, we learn to work," he said. A good computer science background is really valuable, but I've seen a lot of good programmers who have different educational backgrounds. ”
Schlueter that this is an important aspect of being a good programmer. "Whether you go to college or not, try to spend as much time as possible, and read a lot of literature and philosophy as early as possible, and write as much as you can ," he said. If you are not planning to go to college, find a mentor as soon as possible, and let him give you the task of writing and polishing your article. This work occurs on the Internet, and written language is used when people communicate online. The more effective you can write, the better you will be. ”
Programming languages
Once you sit down and start learning programming, which language is the first thing to consider?
"Ocaml,haskell,rust,c++,typescript,js,racket or scheme," Eich said. Of course, I'm not asking everyone to learn all these languages, but it's good to learn a few of them at the right time and place , which is especially useful for college students who are interested and able to do so. ”
Hickey also suggested a plan to learn multiple languages , but his view was more philosophical, and he proposed to integrate the existing broad programming language into a representative. "Choose a very representative language, how the computer works (C), a closed language (Haskell,prolog), a static functional language (Haskell), and a dynamic functional language." I like Clojure, "he said.
Johnson proposes to learn the programming language using a contrasting approach . "Language can affect programming thinking, so it's important to learn more than one language, and there are different ways to learn different languages ," he says. "For example, an object-oriented language and a functional language, not Java and C #. ”
Programming practices
Once you have developed a number of projects, how can you elevate your skills to a higher level?
Eich suggests learning how to write great code for early or present programming Daniel . " read high-quality code, and sometimes even print it out and take notes where it's needed." "Eich said. "Speaking of high-quality code, I think the classic is still Kernighan & Ritchie ' s the C programming Language, and the Unix programming environment ". The code that is worth reading in recent years is ' solving every Sudoku Puzzle, or norvig.com code. ”
To learn more about these programs Daniel's views and suggestions can be viewed in full: http://wp.me/p6WSQY-1G5.
JavaScript father Brendan Eich,clojure creator Rich Hickey,python creator van Rossum and other programming Daniel's career advice to programmers