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

14 kinds of horrible and weird therapies, guess what diseases they are treating?

Modern medicine has come a long way from leeches ...

WebViewJavascriptBridge-Bridge between Obj-C and JavaScript

[[138163]] WebViewJavascriptBridge is an iOS/OSX ...

Short video operation data analysis method!

In the previous sharing, we focused on the produc...

How do educational and training institutions attract new customers online?

On May 27, I was invited by a teacher from an edu...

The Aesthetic Value of Scientific Experiments

Today's scientific experimental devices are c...

How far are traditional TV brands from experiencing the "Nokia tragedy"?

Even though Ma Huateng once publicly promised tha...

In-depth analysis of Douyin e-commerce algorithm

Douyin e-commerce is like a game, and the algorit...

How to operate live broadcast? Master these 3 key points!

I believe everyone is familiar with the term &quo...