Unlike in many careers, aspiring programmers aren’t locked into going to college and getting a computer science degree. You can do that, but there are other paths you can take to become a programmer. That being said, there must be some minimum requirements to become a programmer. So, how much education do you need to become a programmer? And are programmers smart?
To answer those questions, we talked to Erik Dietrich. Erik has worked as a developer, architect, manager, CIO, and, eventually, independent management and strategy consultant. This breadth of experience allows him to speak to all industry personas.
So, let’s hear Erik’s take on whether programmers need to be smart and what education they need.
Are programmers smart? Do you need to be smart to become a programmer?
Erik: I’m gonna go with yes on this one. I think it’s hard to program if you aren’t fairly intelligent. There are 20 million programmers in the world. So, across a scope of 20 million people, you’re gonna get a broad spectrum across all personality traits, including probably literal IQ.
But I do think the style of thinking required to be a programmer is very structured, deductive, and logical. And I suspect that that skews with at least the form of intelligence that’s mathematical or at least logical. So I think it’s fair to say that on average programmers are smart people. I think it’s hard to keep all that in your head and to be successful in that field without at least a narrow kind of intelligence related to logical thinking.
Let’s talk about education. Is there a level of education that’s most beneficial to being a programmer? Do you need a college degree to get into programming?
Erik: No, the answer to that is no. So, just to say it upfront, and clearly before getting into the nuance, you do not need to go get a degree in computer science, or probably a degree in anything, to become a programmer.
There are three, I would say, typical paths that people have to becoming a programmer.
Number one is—it’s the one I did, and in some senses, maybe the most traditional—you go to college, and you get a computer science degree, and then you become a programmer. So, that one’s fairly blue chip. If you go get a computer science degree, when you come out the other end, somebody will hire you as an entry-level programmer, and you can have that career path.
The other extreme is you don’t have a computer science degree, or any degree, and you go the self-taught route. That’s a little harder to execute. But basically, where I’ve seen that happen most is if you get a corporate job of some kind, and you gradually start to teach yourself to program.
Often, it starts with creating elaborate things in Excel, or you learn a little bit of scripting, like you learn some form of automation that wouldn’t really be formally called programming. And then you start to teach yourself more and more, and you build on that. Then, at some point, maybe a year or two down the line, after you’ve started on this path, you find that in your group, you’re responsible for this really involved Excel spreadsheet that has some programming behind it, and the people come to rely on you for it. And that thing is cool and developed enough that people start asking you for features.
So the path from zero, from no degree or no programming experience to becoming a programmer, if you’re entirely self-taught is you probably have a corporate job, you start doing relatively simple kinds of automations, like maybe cool functionality in Excel, you write some scripts, you do something kind of minor. And then that helps you in your day-to-day work.
So, you start to build on it, and you teach yourself more. And when you do enough of that, other people will be like, “Oh, that’s cool. Can I use that?” And then they’ll start asking you to add features to it, and you are quietly moving along toward becoming a programmer.
If you get intentional about that, you maybe start to feel out opportunities to get more of that type of work in your organization. Or maybe you even contact the software engineering manager and say, “Hey, I’m interested. I built this thing. If you have any extra work, toss it to me.”
There are people who will work their way over the long haul into programming like that. When I was managing programmers, I brought one or two different people into my group that had started out in another department and were self-taught that way.
So, go to school, get a computer science degree, and be in it from the beginning or work your way into it gradually with being self-taught are the two extremes, if you will.
There is a middle ground, which is a programming bootcamp. Typically, I think the most common bootcamp attendees have some kind of college degree, but maybe they’re teachers or social workers or what have you. And they decided at some point in their career, they want to switch to programming. Instead of going gradual and self-taught, they attend what’s called a programming bootcamp. Typically, I think they’re three to six months. So it’s almost like a trade school for career switches into programming.
And that’s this middle ground where you’re still out a good bit of money, like that’s expensive, but it’s not four-year-degree expensive. And there’s no electives or anything; you spend those three to six months doing absolutely nothing but programming 40 hours a week, or whatever it is. And then typically, if you’ve run through a bootcamp and done well, companies will come along and hire you.
So, that’s the lengthy version of “Do you need a degree?” No, there are two ways that you can get a programming job without a degree. But if you go get that degree, you’ll be well equipped for it.