Not everyone is cut out to be a programmer. Sure, anyone can learn how to program, but learning how to program is not the same as making a career out of it. In fact, it’s entirely possible to be a talented coder and still be a mismatch for thecareer. It sounds strange, I know, but it’s truer than you might think.
I spent over a decade earning a degree in computer science and thinking it was thecareer for me only to realize that it wasn’t — and that’s coming from someone whoenjoys the programming workflow and the associated challenges.
There’s more to it than the act of coding. You have to consider the entire picture. If you aren’t completely sure that you’re meant to be a programmer, here are some signs that may point you in the right direction.
Sign #1: You Lack Experimental Creativity
Despite being heavy on the logic, programming is ultimately a creative art. A new program is like a blank canvas and your paintbrushes are your languages, frameworks, libraries, etc. You’re creating something out of nothing and this is a process that hinges on experimental fearlessness.
Dogmatic coders will tell you that there’s “one true way” to write good code, but that’s not true at all. Such a statement is as nonsensical as saying there’s only one way to build a house, write a novel, or cook a stew. There are many ways to code software and you should be willing to experiment.
Without natural curiosity, you’ll develop tunnel vision and always approach your coding problems from the same angle. At that point, programming becomes rote work and loses much of what makes it rewarding in the first place.
Sign #2: You Are Not Self-Driven
All good programmers need to be self-driven and there’s no way around this. When you strip away all of the extraneous details, programming is fundamentally repetitive. If you have no personal stake or ambition in the code you write, then you’re just going to be miserable.
This is true of any creative endeavor (and no matter what anyone says,programming is creative). Your motivation to write code has to come from within. You have to love the act of coding just as much as the potential for walking away with a final product. If you don’t love the process, you’ll never reach the product.
If you wake up in the morning and you don’t feel a burning desire to work on your project, perhaps programming is not the right outlet for you.
Sign #3: You Hate Logic Problems
Despite being a creative endeavor, programming is more about fixing than it iscreating. While other creative outlets do involve a fixing process (such as writers who need to revise their drafts), programming is unique in that most of the problems that pop up are based on logic-based faults.
This fixing process, known properly as debugging, is the heart of programming. Are you fascinated by riddles and logic puzzles? Do you have an innate desire to repair that which is broken? And by extension, are you naturally inquisitive about the inner workings of things? You should be able to answer “Yes” to all of the above.
Much of the reward in programming comes from fixing bugs. The more complicated the bug, the more rewarding it is when you finally solve it. If you find no satisfaction in this, then programming will be nothing more than an endless string of frustrations.
Sign #4: You Can’t Sit For Long Periods
The nature of programming requires that you sit in front of a computer for extended lengths of time. You may be able to work around it by building a standing desk but the essence is the same: you’re going to spend a lot of time in front of your computer.
Ultimately, the question is: are you comfortable being in front of a computer for most of your day? In fact, comfortable may not be enough; you have to preferbeing in front of a computer. If not, productivity and happiness are going to be uphill battles.
Sign #5: You Want Normal Work Hours
Programming careers fall into one of two types: 1) you work for someone else or 2)you work for yourself. Either way, it’s not uncommon to hear stories of late nights, long coding sessions, and an overall low quality of life.
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.
In addition, programming problems tend to get stuck in your brain and follow you around everywhere you go. You’ll be working through solutions while in the shower, while commuting, and even while lying in bed. Because so much of programminghappens in your head, compartmentalization can be difficult if not impossible.
If you’re lucky you may be able to find a company that doesn’t do crunch time, but I wouldn’t count on it.
Sign #6: You Expect To Get Rich Quick
There was a time when software development was a lucrative pursuit. Nowadays, programmers who get rich quick are the exception to the rule. If your primary motivation for being in this industry is to make a lot of money in the shortest amount of time, you’re in for some disappointment.
Overnight success stories, such as the popularity of Flappy Bird, can lure us into false expectations and delusional confidence. A lot of people have tried their hand at indie game development in the hopes of striking similar levels of success only to flop and leave the industry altogether.
Can you make a lot of money as a programmer? Sure, but it won’t be an easy road. If you’re looking to get rich quick, you might as well play the lottery instead.
Let’s say you’ve decided that programming isn’t for you but you still want to make use of the programming-related skills and knowledge that you’ve built up over the years. What are your options?
Writing. The technical experience from programming can make you well-suited for technical writing (manuals, documentation, etc.), journalism (staying up to date with bleeding edge news), or education (teaching others what you know).
Analysis. Depending on your field of expertise, you could put your knowledge to use as a consultant for security systems, web platforms, game engines, monetization models, etc. Quality assurance testing is another field where analytical expertise can come in handy.
Management. If you have a heart for business but want to remain connected to the software industry, why not manage your own team of developers? Managers who understand the nuances of coding are few and far between.
That’s just scratching the surface. Just know that even if you realize that you don’t want to be a programmer anymore, those skills are transferable and your time was not wasted.