Many of you have asked, “What qualities do you need to be as a programmer? How do you know if you are suitable for this industry? ”
Common misunderstandings about programmers
As a result of the press and movies (The example of Bill Gates, Mark Zuckerberg or the movie Mr Robot, The Social Network, …), some students have the following myths about programmers:
Want to be a programmer must be extremely smart … genius: Wrong! You don’t have to be as good as Bill Gates or Mark Zuckerberg to be a programmer, you just need to have some good qualities.
Want to be a programmer must be good at Math: Not really! Good math will help you think better logic, better code. However, programming work is often very difficult to use advanced mathematical knowledge (integrals, derivatives, …), just add and subtract division and logic. However, there are also some specialized areas that need to use a lot of Math such as game developers, data mining, machine learning, simulation applications, etc.
Programmers are often stubborn, quiet, prefer to work alone: Wrong! Programming is a collective job, requires a lot of communication so there is no way the programmer just plugs into the code machine alone and he is done.
Qualities are required to pursue the programming industry
You don’t have to be a genius, you don’t have to be good at math, so what do you need to be a programmer? You need the following qualities:
Ability to think logically, solve problems: Programming is mostly like solving puzzles, and programmers write code or use the library/framework available to solve that problem.
Patience: Learning to program requires a lot of patience. The code is the same, sometimes you will spend the whole day looking for a bug or fixing a small bug. If you are not patient enough you will easily give up.
Social ability, communication skills: Programming is a collective work, you will have to work with other members (from the team leader, developer to tester). Therefore, communication skills, teamwork are indispensable.
Self-discipline: When working, usually the team leader will not just hand the job but just assign the job, you will have to voluntarily arrange a time, learn techniques to implement. New technology is constantly changing, so it must take self-discipline and passion for you to update your knowledge, keep yourself not backward.
Meticulous, attention to detail: To write a good program, fewer errors, dev must pay attention to the details when coding, do not unload the uncommon cases. Attention to detail will help you write less code and design better code organization.
Lazy: Although hard to believe, this is a quality that developers should have. Instead of spending time and effort ploughing OT, writing a lot of code, programmers need to be a bit “lazy” to find a solution quickly and less effort.
Of course, to become a programmer, you don’t need all the above qualities, only the majority. There are good coders and designers who are afraid to communicate; or there are devs who solve problems very quickly but are a bit reckless, lack of meticulous code or make mistakes.
If you have a few virtues on this list, plus be passionate about the software industry, just be committed, don’t be shy!
- Attitudes that are not appropriate with the programming industry
If you have some of the following attitudes or ways of thinking, you should not pursue programming but choose another industry that suits you better:
- Lack of self-awareness, want to be guided by the old work
- Impatient, does not like to explore new things
- Like to work individually, hate communicating and teamwork
- Want to work 8 hours, stable hours: In programming, OT (overtime) is quite common. When the project is in an emergency phase, the whole team has to work overtime from 8–9 pm or T7-CN so the hours are quite erratic.
- Want to get rich quick: The salary of dev is a bit higher than the common ground but it is only enough to live. Cases of unexpectedly rich, like Nguyen Ha Dong or rich thanks to startup, are also rare. Most of the dev still have to work 8 hours a day, at the end of the month they get paid like any other normal job.