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

Can smart technology make cars better?

A means of transportation, a symbol of identity, ...

Introduction to Wolf Totem: How to do SEO promotion and what are the channels?

As companies become more familiar with the Intern...

"Space Express", set off! China's space station construction phase begins

In the early morning of the 10th, my country succ...

Ten ways to reverse your financial thinking

There is a fine line between going against the cu...

Did ancient Chinese drink boiled water? The answer is surprising

In our daily lives, drinking boiled water has bec...

Apple App Store’s latest review rules for 2016!

serial number Chinese content 1.1 When developing...

Have you ever seen a railway that runs through the air and in a cave?

Vocabulary Logistics transportation completion an...