Google engineers teach: Top 10 things new developers must invest in

Google engineers teach: Top 10 things new developers must invest in

[[120406]]

As a software developer, what are the things you must invest in? Google software engineer Emanuel Saringan compiled the ten things he thinks are necessary investments, the first of which is physical health. Are English and mathematics also necessary skills? Let's see what he says. (The following text is written in the author's first person)

Your health

Software development is undoubtedly one of the most sedentary professions in the world.

Sitting for eight to sixteen hours a day with only a few breaks is a sure way to keep your belly growing. Obesity can easily increase your risk of other diseases, such as heart disease. To avoid this, allocate time for exercise as much as possible or spend a little money on the gym.

Typing for long periods of time in an unergonomic way also puts developers at risk for repetitive limb injuries, such as carpal tunnel syndrome. To avoid this, stretch your wrists every few hours of typing and buy a wrist pillow for both your mouse and keyboard.

Staring at a screen for long periods of time can also put stress on your eyes, which is why if you wear glasses, it's best to get anti-glare glasses, not just regular glasses.

Improve your math skills

Mathematical skills can improve your logical thinking ability, your attitude towards problems, and even your patience.

Some math skills can be directly applied to software development, such as discrete mathematics; other skills depend on the field and have different uses. For example, game developers will use physics and calculus frequently, but enterprise developers will hardly use them. In any case, math can make you better.

o Improve your English skills

Programming/scripting/markup languages ​​are all in English, and common open source projects such as Linux are also in English. Developers all over the world use English, and developers working for multinational clients are forced to know English in order to find solutions for their needs.

Did you notice? English is to humans what binary is to computers.

Personal Domain Names and Websites

Isn't it much cooler to have your own email address than [email protected] or [email protected]? Owning your own domain name only costs a small annual fee, but it can make you stand out.

A personal domain name can also let potential clients and colleagues immediately recognize your confidence and professionalism: your brand is you. Of course, the premise is that your personal domain name is not something like "hotmale-loves-chicks.com".

An active GitHub account

For developers, a GitHub account is like an artist's portfolio.

A reliable machine

Have you ever heard of a developer without a machine? Me neither. Being a software developer without a machine is like being a Jedi without a lightsaber. A good machine here has at least 4GB of RAM, and 8GB at best. I can recommend a $4,000 Mac Pro, but that doesn't apply to those with extreme needs.

Fast network

The Internet is the oxygen of developers. Being unable to access the Internet for a long time is like being cut off from the oxygen supply, which is unbearable. Having a stable Internet connection gives you the advantage of watching online tutorials, dining and forums, and keeping up with the latest technology news.

Read more classic books on information science

Here is my recommended bible for software developers:

1. Structures and Interpretations of Computer Programs (PDF)

2. Code Complete 2

3. Pragmatic Programmer

4. Refactoring

5. Introduction to Algorithms (The MIT Press) (PDF)

6. Discrete Mathematics and Its Applications (PDF)

7. Mythical Man Month

Bachelor's degree

Whether you are a recent graduate or someone who has just left a job and is looking for a new one, a bachelor's degree can greatly increase your chances of finding a job. Just think about it, if there are millions of graduate students scrambling to apply, how high is the chance that a college graduate's resume will be discarded?

Certificate (optional)

Certification exams are a way of identifying a candidate's skills in a specific technology. Passing a certification exam means that the person is qualified to have a deep understanding of the organization's core values.

Some companies pay special attention to developers with certificates and offer higher salaries; some companies don't care at all. For example, if you are a certified Java designer, it means that you have a thorough understanding of the Java language, but it does not guarantee that you have strong problem-solving skills. Some companies will value critical thinking more than programming language expertise. After all, programming languages ​​can be learned, but problem solving cannot be learned.

<<:  How to manage contacts in WeChat Enterprise Account Development

>>:  How to manage multimedia files in WeChat Enterprise Account Development

Recommend

Ma Huateng said that this is the third thing he is optimistic about after WeChat

[[160710]] At the end of his speech at the World ...

Tesla electric truck price announced: starting price is less than 1 million RMB

We all know that the pure electric sedans and SUV...

Disposable food packaging, the best choice for those with a cleanliness craving?

1. Is the disposable packaging we take for grante...

5 techniques for event operation and promotion, and coupon distribution!

During the operation of an event, it is sometimes...

Without it, we might not have developed the atomic bomb.

Friends who have read "The Three-Body Proble...

WeChat data report was questioned for monitoring users, Tencent responded

WeChat recently released its 2018 WeChat Data Rep...

17 psychological phenomena that planners and promoters must know in 2020

Consumer insights , which marketers often talk ab...

Short video fan increase skills: "user psychology"

Nowadays, the short video industry is so hot, mor...

Can eating less starve cancer cells to death? The truth is...

It is common sense that you need to supplement nu...