10 Signs you aren’t meant to be a programmer
It’s easy to teach yourself programming. With online resources and step-by-step tutorials, learning programming is no longer something restricted to a classroom. Because of that, a lot of people think they can easily become good programmers.
Even though I do believe that everyone should learn to code at some point, not everyone should pursue a programming career so fervently. There are traits that good programmers naturally have which if you lack, should make you rethink a programming career.
1. You don’t have a curious mind or a quick learning ability
Programming is one of those skills that you never just have complete or even semi-complete knowledge in. Technologies, languages and coding styles or standards change every day which means you will always be learning. If you aren’t particularly curious minded and excited to learn new things, this isn’t the place for you.
In addition to this is the ability to self-teach. With programming, you will almost always need to self-teach. If you learn better through training and taking classes, that’s going to be a problem.
2. You’re not a good team player
Programmers rarely ever work alone because there’s only so far you can go in this field programming by yourself. Working with others gives them the chance to mentor you, help you develop your skill set, and keep you abreast of current technology. This well written blog post explains in detail the dangers of programming alone. If you’re an extremely introverted, non-team player, then programming isn’t for you.
3. You can’t sit for a long time
As a programmer, I can stare at my computer screen for 10+ hours with only the occasional bathroom break and still be productive. The nature of programming means you will have to sit at a computer for long periods of time. Its actually surprising how many people forget to factor this in when choosing to pursue programming. If you’re the type of person who gets restless and distracted when forced to sit for very long then programming will be quite aggravating for you.
4. You only want to work regular hours
Joel Lee explains this one best: Software development is a deadline-centric industry and deadlines don’t play nicely with traditional 9-to-5 work days. As deadlines loom closer, coding teams often enter a phase of “crunch time” defined by all-nighters. Even when working for yourself, you’ll have to pour in many daily hours if you want to stay ahead of your competition.
5. You’re not great at listening to opinions
I worked with a project lead who had a “my way or the high way” approach to managing projects. I tried to present a better solution to the problem but he saw my correction as disrespect. And in the African culture, you factor in beliefs where the woman can’t correct the man or the younger person can’t correct the older and you create a huge mess.
But the thing with programming is, there’s always more than one way to solve a problem and somebody else’s approach just might be better. A bad approach can be the difference between a code that runs in less than a second and code that takes hours to run. You can’t afford to be closed-minded to opinions.
6. You’re narrow-minded and non-creative
Often, a problem has a myriad of possible solutions, some better than others, some all equally valid. Each with upsides and downsides. A bad programmer, once they have found a solution, thinks it is the only solution.
I know of software developers who choose to use the same architecture or design pattern, in the same language, using the same framework, for every single project because they just lack experimental creativity. This is I think the most common kind of bad programmer. They know one language, one tools set, and don’t know how to move beyond that. They can only program if it follows the patterns they learned in school. These are the developers who call MySql ‘SQL’ or try to write websites that work like Swing apps because they can’t think outside of one way of doing things.
Programming is about creating something from nothing and requires you to be creative in each project.
7. You don’t know how to self motivate
Programming is something you have to be genuinely passionate about to pursue. Can you imagine working tirelessly on a piece of code for days only for a client to tell you they actually don’t want that feature anymore? Or having to spend hours trying to fix a bug that randomly appeared, all the while with a deadline looming over your head?
Programmers work under a lot of pressure and face challenges that will frustrate you. A good programmer knows how to motivate themselves to keep working in the face of adversity. If you go into a mini depression every time something bad happens to you then maybe programming isn’t for you.
8. You’re lazy
If you did programming in university, then you’re familiar with the students whose lives revolved around Ctrl-C and Ctrl-V. They copied everything off the internet and barely ever wrote their own code in assignments. Every programmer has had to copy and paste at some point but bad programmers take it to a whole other extreme.
Bad programmer’s don’t care about where the code comes from or what it does. If he sees some code that appears to work somewhere else correctly, he will accept it as a fact that it will work anywhere. Lazy programmers write messy and buggy code which they can never defend. They use dangerous shortcuts that pass tests in that moment but will always cause problems in production. They write code that takes hours just to read and days to debug.
If you’re generally a lazy person, don’t waste your time in this industry. You won’t be able to keep a job and it will just be a very unfulfilling life for you.
9. You’re too results driven
Good software developers spend more time planning than they do actually coding. Bad ones, on the other hand, are often too excited to get to the “real stuff” and skip the planning. Call it empirical programming, or whatever, the point is when a problem comes up, they tend to leap at the first idea and go with trial and error from there.
10. You are married to your work
This is an important one. Programmers aren’t allowed to be emotionally attached to their work.
Imagine this situation, you work on a project for weeks and you are so proud of the final output. Its elegant. It meets all the requirements. Everyone is pleased with you. Then the System Administrator loads it up and runs it. It max’s out the CPU, or the available memory or the drive i/o. We try it on a different machine, same result. It runs well if it is the only program running; but it needs to live with 10 other programs that together consume 10% of the machine’s resources. So the client demands a rewrite of the code. Frustrating right? All that hard work and you have to rewrite huge chunks of it.
A good programmer will see the problem, feel a little sad but use their self motivation skills to get over it and immediately start the rewrite. A bad programmer will be married to his code and be in complete denial of the situation.