★Your health
Obviously, developers often sit still. Sitting 8 to 16 hours a day, just a very short rest, your stomach is very easy to pile up. Obesity is a catalyst for other diseases, and heart disease is the most terrible. Exercise more time to avoid this situation. If possible, spend some money on a gym membership card.
For a long time, typing in a way that does not conform to human projects can also make it easy for developers to choose repeated muscle injuries, such as wrist syndrome. Stretching your wrist or a wrist pad that can be used to buy a mouse or keyboard every few hours can avoid this damage.
Staring at the screen will also cause pressure on your eyes, which is why we recommend a pair of anti-glare glasses instead of regular glasses (if you wear glasses ).
★Improve Your mathematical ability
Mathematics can improve your logic thinking ability. In most cases, it can be added to solve this problem? Your patience. Some mathematical knowledge can be used directly in software development, such as discrete mathematics, but it is okay to forget some knowledge. It depends on the development in that field. For example, game developers often use physics and calculus. As a developer of enterprise applications, I rarely find a place where they can be used. In any case, mathematics can make you better.
★Improve your English
Programming, scripts, and Markup languages are all in English, while open-source projects, such as Linux, usually all their annotations are in English. Developers from all over the world collaborate on development in English. Developers for international customers must learn English, so that they can turn business needs into solutions.
Are you clear? For programmers, English is like binary.
★A domain name and site of your own
It's cool to have an exclusive email address instead of [email protected] or [email protected? Every year, you only need to spend a little money to make you look different from others. I bought the lambdageek domain name for only $13. Can a personal domain name be added to your personal brand? Self-confidence and professionalism allow potential users or colleagues to understand what you are. Of course, if your domain name cannot be a mess of. com.
★An active GitHub account
A portfolio of artists is like GitHub for developers. This is unnecessary.
★A good computer
Have you heard of programmers who do not have their own computers? I have never heard of it. Developers without their own computers are like Jedi without a laser sword. I am referring to a good computer with at least 4 GB of memory (at least 8 GB if it is not so fast ). I recommend a 4000-knife MacBook Pro, which is reserved for extreme scenarios with special requirements.
★Fast enough network speed
The Internet is the oxygen of coders. Network disconnection is just like a disconnection from air supply. With a stable network connection, you can watch video tutorials for learning, bubble forums, and even pay attention to the latest articles on Hacker News in a timely manner.
★Read some books on classical computer science
I think there are some books that are classic in the software development field:
Construction and interpretation of computer programs
Code Daquan 2
The cultivation of programmers
Refactoring-improving the design of existing code
Introduction to Algorithms
Discrete Mathematics and Its Application
Mythical man-month
★Bachelor's Degree
Can I add a bachelor's degree? Gets the chance of a job. It is practical whether you are a new student or just resigned to find a job. Imagine this situation: if many graduate students break their heads to grab a job, what is the probability of an undergraduate resume being seen?
★Certification (optional)
Certification can test the capabilities of one of your technologies. Passing a certain certification means that someone else has already recognized it. You have a deeper understanding of something that the company may think is valuable. Some companies offer higher salaries and benefits to programmers with relevant certifications, but some companies don't care about these things. For example, becoming an authenticated Java programmer means that you have a better understanding of the Java language, but this does not mean that you have the ability to solve this problem. Some companies focus more on a person's key thinking ability than his experience in a programming language. Because programming languages can be very easy to learn, it is not enough to solve this problem.
Original ENGLISH
10 projects required by programmers