This article was originally posted on my blog. Check it here. here
Let's face it. Not everyone is meant to be a programmer or a software developer. That may sound astonishing to some, but the truth is, If everybody just starts to code, then the world will come to a halt Byte By Byte.
Now, those of you who are getting ready to pick up your C++ hammers to break the computer screens, just hold it. I know that you have read numerous blog posts on 'Everybody can learn to code' and that is as much true as the sky is blue. That's because the sky is not always blue. Everybody can learn to code but that does not mean that everybody should become a programmer or a software developer. May be it is just that you enjoy coding but not as a profession.
Let us analyze some of the traits that show that you are not fit for a programming job.
1. You like regular work hours
In the software industry one thing is particularly consistent, and that is 'inconsistent working hours'. Whether you are working on your own hobby project or working for an employer or getting something done for a client as a freelancer, you will really always have to pour in some extra hours of work.
It is not like that the regular 9 to 5 schedule of your office does not come into account, it's just that working for extra hours to make that nth line of code work is pretty normal. And the truth is most programmers just get used to it pretty quickly.
So, if you are someone who loves having regular office hours, then may be programming is not for you.
2. You hate solving problems
Programmer / software developers do what they do due to one particular reason, they just love to grind their brains to solve problems. I mean, not every working hour is spent solving problems, still a decent amount of time can be attributed to it.
If you are considering to get into the world of programming, just make sure that you like logic problems and love to solve them as well.
3. You need a push to learn new things
One common trait of any decent programmer is that he / she is self motivated. Be it learning a new programming language, getting to know a new technology or just reading a programming book to expand their knowledge, good programmers will just do those on their own without any one pushing them to do it.
Often developers find that they have to learn a specific technology to get something done for a particular project but they won't need it in the future after that. Still they just jump on the learning train and try to wrap their heads around it happily.
It is not easy to do something everyday that you hate. So, if you find that learning something new everyday is too difficult for you, may be should consider changing your job.
4. You find it difficult to work in a team
If you are a programmer or developer, then chances are that you are placed in a team with a specific goal to accomplish. In a team, communication is the most vital aspect. If you cannot express to other members in your team why something needs to be done the way you want it to get done, then you may find programming very frustrating.
Most people think that a programmer just goes to work, grabs a cup of coffee and sits in front of the computer all day long staring at the screen while his hands move magically over the keyboard. That cannot be any farther from the truth. Yes, you spend a decent amount of time coding but you spend even more time communicating your thoughts and ideas to others. Because after all, a developer writes code for human beings first and for a computer second.
5. You are not good at listening to other's opinions
This is much of a continuation of the previous point. When you work as a developer and placed in a team, then the most important factor that determines the success of the project is constant and clear communication. It is just as important to listen to the ideas of your team members and clearly analyze why they want something to be done in a particular way.
If you only keep pushing your ideas and belittle the ideas of others then chances are that other team members may find it difficult to work with you.
But what if you are working as a freelancer ? In that case the ideas and opinions pitched by your client should be respected. It may be the case that your client is not a very tech savvy person. In that case it is the duty of the programmer to make the client understand why something would or would not work when done in that particular way.
So, listening to others should be another checkpoint of a good programmer.
6. You are doing it for the money
Everybody knows that software development is a very high paying industry. But if you are in it only for the money, then my friend, you are going to get very frustrated and burnt out really quickly.
None of the developers out there do it for the money. Now, some of them may say that they are in software development for the money, but the truth is deep down they just love programming and software development in general. Can you even believe when somebody says that they grind their heads in front of the computer for 10-12 hours a day so that they would get paid every month ? No, every developer just loves the thought of creating software and products from an idea.
So, think again whether you are doing it for the money. If yes, try to find something that you really love doing.
On a final note
This article is not to demotivate anyone from learning programming or sticking to their programming job. I just wanted to make some of you aware that their might be a better job out there where you can have better impact and fulfillment as well.
May be you can become a better Digital Marketing expert, but because you love technology in general, so you are holding on to a programming job. There can be many other reasons as well.
Still deep down if you believe that you actually love programming but have some of the above mentioned traits, then do not worry at all. You have all the chances to improve in those areas and it is very certainly possible. You just have to invest the time and be willing to change. After all we are all humans and humans have evolved and can evolve to achieve something that they really strive for.