Ten secrets that new programmers should know

Ten secrets that new programmers should know

You are a freshman who steps into the workplace with your diploma still smelling of ink, and is immediately confronted by the rules that are not written in the books and the various complicated daily affairs. Such stories are really common, and programming work is no exception.

Few students are 100% ready for their first real job. If you don't want to be one of them, learn these 10 essential skills that you can learn without any instruction:

1. Version Control System (VCS)

VCS may be the biggest omission in computer courses. These courses only remember to teach students how to write code, but often forget to teach students how to manage code. Every programmer should know how to use Git or Subversion to effectively create repositories, edit and submit code, branch and merge, and understand project workflow.

2. Learn to write

Being a programmer means more than just writing code. You also write release notes for your project, write commit messages to version control, and write bug reports in your system. These and many other areas require clear and effective written communication—a skill rarely emphasized in computer science.

3. Regular Expressions

Regular expressions are a language in themselves, and every modern programmer must be good at them. Every modern language supports regular expressions or has a standard library for them. If your code needs to check if a string contains 5 characters, 1 dash, and 1 digit, you should be able to write /^[AZ]{5}-\d$/ in no time.

4. Use of the library

It's 2014, so nobody needs to use regular expressions to extract hostnames from URLs anymore. Every modern programming language has a standard library that performs common functions.

Programmers need to understand that code that has been developed, tested, and debugged is usually better than code that you write from scratch. More importantly, code that doesn't need to be written is much faster to implement.

5. SQL

Many people learn SQL at work. How can database be an elective course? Is there anyone who doesn't use database?

The days of storing data in flat files are over. Everything goes in and out of the database, and SQL is the language for getting to and from the data. It is a declarative language, not a procedural one, so solving problems with it requires a new way of thinking. Every programmer should understand the basics of database normalization and be able to perform SELECT (and INNER, OUTER JOIN), INSERT, UPDATE, and DELETE.

6. Be able to use IDE, editor and CLI tools

A carpenter who only knows how to use a saw will never become a master, so it is surprising that a computer science graduate only knows Notepad or pico. Programming tools help manipulate code and other data, making programmers' lives easier. So every programmer should know how to use the command line, shell scripts, find, grep, and sed.

7. Debugging

Every programmer should know how to debug a program using an interactive debugger or by interspersing your code with output statements. The ability to track down a problem through step-by-step refinement is invaluable.

8. Error-proof programming

Mistakes are inevitable, even for star programmers. Out of control is the norm in the world, and mistakes are not surprising. Error-proof programming understands this fact. If things can't go wrong, we won't check whether the file is successfully opened, we won't check whether the customer ID is a valid number, and we won't test whether the code is allowed to be correct.

Programmers need to know that compiler warnings are useful tools that make our lives more comfortable, not troubles to be avoided. Every programmer should know why every PHP program starts like this:

set_error_reporting(E_ALL)

Every Perl program must contain these statements:

use strict; use warnings;

9. Teamwork

There is very little programming work that you can do alone. If you do it too often, your intelligence will be damaged and your performance will be weakened. Your code must interact or mix with others. Even the most talented programmers will have a negative impact on the project if they cannot collaborate with others and quickly become a burden on the organization.

10. Leverage existing code

When you are in school, every assignment is a new project. But the real world is not like this. For people who have just started working, the first task they receive is often to fix a code vulnerability. Then, based on the existing code base, add a small function to the existing system. Designing new code is a matter of a few months later, if you are lucky.

<<:  Qualcomm Vice President Shen Jin: Smart hardware startups focus more on user experience

>>:  WeChat 5.5 is coming! O2O highlights: card wallet and micro POS

Recommend

Uninvited Guests: Alien Molecules in the Orbit of Near-Earth Asteroids

We know that in addition to the eight planets, th...

The cold wind is howling. Each plant has its own unique way to save its life!

In order to compete for limited sunlight and wate...

Use it to clean up WeChat and save 10G space in minutes

PC WeChat and mobile WeChat have always been the ...

Why do you always want to eat? You may be controlled by your gut bacteria!

Have you ever had this experience: you just finis...

How does APP operation guide users?

User Onboarding, which means user guidance. Simpl...

David Ogilvy's 10 marketing rules are still effective today

Make research a top priority. An advertiser who d...

The fission gameplay of Weibo traffic diversion!

I have been in the Internet circle for 6 years an...

Learn how to set up SEM search bidding flash in 10 minutes

When I first entered the industry, I was in a hur...

Mystery of the century: Why is the face the worst skin on the whole body?

Have you ever had the same confusion: I have spen...

Hormones cause obesity?! You are wrongly blaming it!

When a doctor tells you that you need to take a c...