We all know the stereotypes: a young genius programmer drops out of college and moves to Silicon Valley, starts a tech company and a few years later sells it for a billion dollars.
Sounds like a pretty good life, right? You can retire at 25 and then have the rest of your life to travel the world…or sit at home in sweatpants watching Family Guy, your choice.
The fact is that there are millions of people who aspire to become programmers, but few truly understand the reality of what a career in computer science means, before they get into it.
In this post I hope to shed some light on the topic.
The first point to be aware of is that committing to a career in computer science is committing to a life of constant learning.
There are few, if any, other industries that change as rapidly as the world of computer science. There are constant developments in programming languages, libraries, and systems used, so much so that if you don’t keep up to date on the changing trends, you could find yourself quickly becoming a relic with no usable expertise.
It isn’t just about the change in the languages themselves, but the commitment to keeping up with current best practices and development styles, as well as an ability to quickly learn the ins and outs of any project you work on.
Large projects can often take weeks of sorting through distinct code libraries before you can even begin to back up and understand the whole system. If you’re a contract programmer, are you willing to go through that task (and the feeling of starting back at square one) every 6-12 months?
Secondly, programmers tend to be competitive. That’s because most successful programmers are extremely well educated and come from a background of continuous commitment to excellence.
While you can get a job just being a mediocre programmer, in order to excel you need to be good. In fact, you need to be better than your peers.
That goes back to the first point above, that continuing to learn and evolve is simple a part of the culture, and with that competitive drive and ambition,you’ll quickly find your career will flatline.
Debugging, Debugging, Debugging
Finally, many people fall in love with the idea of programming, but not the actual day to day reality. The reality is that you’ll be in the trenches each and every day, writing endless lines of software, which, as any experienced programmer will tell you, really translates to writing a short bit of code, and then spending hours trying to sort out an unforeseen bug or technical glitch.
Can you stand looking for a misplaced semi-colon day in and day out for the rest of your life?
If so, then computer science is a great career choice. If not, you might want to rethink your options before you dive in.
This post by Gizmodo has a great read on the reality of day to day life as a programmer.