Seven things a novice programmer should know

Source: Internet
Author: User

If you have just entered the world of professional software development, you have a certain knowledge, thanks to education and/or training in computer science and programming. But the real business of development is different from school programming, which is something you can't learn from college courses or coding schools.
Whether you are a graduate who has just graduated from your first development job, or an older person with a certain amount of experience in programming, the following is a summary of the skills and knowledge that should be mastered for the first time, hoping to help novice programmers.
   1. Understanding the underlying system
An important part of software development is the understanding of programming languages. However, as some people suggest, developers need to understand what's going on underneath the stack.
"Many languages abstract what is happening at the system level, and this abstraction is useful because it allows developers to become more efficient in most of the time. "said Pete Bul,acquia, a support engineer at the company. "But when you encounter an obstacle, a particularly solid bug that requires a deeper understanding of what's going on inside, then understanding the underlying system is a useful skill that allows you to debug the process, see the system call, and really see the code snippet interacting with the rest of the system," He wrote in the Mail.
   2. Know the command line tool
As a developer, you must spend a lot of time on the IDE or the Code Editor. However, knowing the command line tool can help you do your job more easily.
"Sometimes you might be in a situation where you need to do the task urgently but the tools are very limited." "A senior programmer who has 20 years of work experience and wants to be anonymous tells me," knowing that the shell is going to be as natural as breathing. Master tools like Find, Comm, diff, Vi/vim, sed, awk, and more. Know how to use the command line to find files and so on, you can write a script to relieve your burden. ”
Bull, a programmer who first used Microsoft tools and then gradually shifted to Linux, agreed: "It's really important to understand the ins and outs of the command line and get all the utilities." This is the firsthand experience I have experienced. ”
   3. The debugger is our good friend
A large part of the programmer's time will involve tracking bugs. Dave Varon,novartis, a bioinformatics developer at the company, highlighted the advantages of the debugger and how it reduced the initial cost of time. "Be sure to master how to use the debugger!" "He told me," Ax, you might as well take a two-day configuration in advance. If you don't get the expected results, debug: Set breakpoints, step through the code, and pay particular attention to third-party code. This avoids many setbacks and allows you to better understand the coding knowledge that can only be learned by reading other people's code. ”
   4. Learn to write tests
Some developers believe that unit testing, or writing tests to verify that small unit code is doing what should be done, is critical. Richard Handloff,strategic, a database developer for Power Systems, is one of them. "I think the best advice I've ever made to those who want to learn programming is to learn to write good tests and learn to write tests early in the process," he wrote in his reply to my email.
   5. Actively respond to changes and learn new systems
As we all know, the technology is changing very quickly now. This applies not only to our favorite consumer products, but also to the underlying systems, languages, and tools that programmers use.
Adam Wulf,milestone made, the mobile developer and founder of the company, advises against change and remains at the forefront of technology. "Now, my advice is to plan every 4 years to learn a fundamentally new technology stack," he says. "Good fundamentals are always available, but the tools and techniques you use every day will be quite different every 4 years." ”
"Projects can never be used only in one language and a framework," said a developer who declined to be named, "You can't hang on a technology, get used to moving from one project to another, a language/technology to another language/technology diffusion," he writes.
   6. Good cooperation
Although programmers are accustomed to working with headphones on their own, you still have to work with others. Ben Miller,sinclair, CTO of Digital, stressed the importance of teamwork for success in business. "Large projects often mean collisions of a large number of active components, and the need to deal with how components are combined and divided, if you're not careful, can lead to unpredictable engineering problems. "he wrote in an e-mail. "Before optimizing the algorithm, working with the team to make sure that no problem is cross-cutting, it makes it easier for everyone to solve the problem." Coding is a team game! “
Varon reiterated the importance of interpersonal skills, saying: "If you still can't figure out the root cause of the problem by looking through the API and debugging again, you should ask for help." Even if you think you're writing a masterpiece, it doesn't mean there's no nonsense or better. Get along with your coworkers. Sometimes you just have to say it aloud and maybe there's a spark. “
Some anonymous people also share similar ideas, such as being a team member. "Improve team cohesion and helpfulness, even for trivial tasks," he said. However, in this case, he warns, "must have a degree, do not penny wise lost watermelon, forget their own job." ”
   7. Don't be afraid of losing your job
Miller has a particularly interesting piece of advice. "Job-hopping is a promotion," he told me. "Finding the easiest way to solve a problem is to make your code elastic and free of maintenance, so your boss will give you more things." They will even ask you to teach your practice to others, "he explained. "All in all, worrying about unemployment is likely to hinder career progression. ”

(Article Source code Agricultural Network)

Seven things a novice programmer should know

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.