Students graduating after obtaining education

What Education Is Needed to Become a Programmer?

If you want to become a lawyer, you go to law school.  If you want to become a doctor, you go to med school.  So if you want to be a programmer, you go to… programming school?  Meaning, you get a computer science degree or two, right?

Well, not so much.  It’s a little more complicated than that.

In this post, we’ll take a detailed look at the paths to becoming a programmer, focusing on what education you need, how much of it, and where to get it.

What Education Is Needed to Become a Programmer?  The Short Answer

The question of programmer education is a relatively complicated one.  But the answer to the question, “what education is needed to become a programmer” is actually kind of simple.

Shortest answer: none.

The second shortest one, long enough not to be flippant is this: unlike many other knowledge work vocations, programming requires no special certification or credentials.  Because of that and because programmers are in such high demand, there are no specific educational requirements.  If you can demonstrate an ability to program, you can get a job as a programmer.

So, as you can see, there’s a short answer, but not necessarily a simple one.

No Specific Education Requirements Doesn’t Mean No Education

If you have no programming background whatsoever, you obviously can’t just wander on down to Apple Headquarters and request a six-figure programming gig.  Incidentally, if you do try this, please record a video of the proceedings on your phone, because I imagine it’ll be pretty amusing.

So some minimum requirements exist.  They have to.

And they do.  It’s just that they’re situational and somewhat objective.  Whereas a medical license is your only (legal) path to being a doctor, a computer science degree is just one path to being a programmer.  Some companies may require it.  Others might not, and instead will hire people with degrees in other things or with a lot of previous work experience.

For the purposes of this post, I’m going to break down the path of a programming career into a few “buckets.”  This might not cover every human being that has ever programmed for a living.  But it will cover most of them, and it’ll give you an idea of your options.

So let’s look at the different paths to professional programming and what education you need.

Continue reading “What Education Is Needed to Become a Programmer?”

Programmers interacting

How Do Programmers Interact With the Rest of the Team?

Today’s question is an interesting one that people outside of the programming world ask me a fair amount.  Loosely speaking, this question is one of how programmers interact with the rest of the team.

But here’s the thing.

That question typically comes to me in the form of many more specific questions:  Should programmers test software?  Or how does project management work with the Dev Team?

So let’s today take these questions in aggregate.  Who are the rest of the folks that programmers interact with?  And how does the division of responsibility work?

What Are These Other Roles?

Before we can really address that, though, we need to take a look at who these folks are.  Software development isn’t just a bunch of programmers in a room.  Let’s see who else is typically involved with software projects, and what they do.

  • Testers—these are people whose role is to run the software and see if it does what it’s supposed to do.
  • Quality assurance—testing generally falls under this broader umbrella, and quality assurance people are more generally responsible for making sure the software product is up to snuff, across the board.
  • Project manager—the project manager typically deals with external stakeholders, keeps track of progress and schedule, removes obstacles from the team, and generally keeps an eye on the prize.
  • Development manager—this is the person in the organization to whom the team reports, otherwise known as the programmers’ boss.
  • Business analyst—this person shares some overlap with the project manager, but is primarily responsible for deciding what customers need the software to do.
  • Operations/support—people in these roles deal with issues related to the running and use of the software, as opposed to the programmers who build it.  (Note that a movement called “DevOps” drives at blending development together with this role.)

Please note here that I’m not getting into specific roles within the software world, which include things like architects, “back-end” developers, “front-end” developers, DBAs, etc.  All of those distinctions are topics for another day.

Today, we’re focused on answering questions related to the (typically) non-programming folks on the team.

Continue reading “How Do Programmers Interact With the Rest of the Team?”

Bloggers giving high-fives

Should Programmers Blog? 5 Things to Consider

Should programmers blog?  I get this question a lot, probably because I’m both a blogger and a programmer.  And because of those two things, you can probably guess my answer.  But my reasoning goes beyond my own experience, and I’m going to go into detail about the points that might explain why.

But First, Let’s Answer the Question.  Should Programmers Blog?

Yes.  As a programmer, starting and maintaining a blog will be a significant boost to your career and to your personal development.  It may get you out of your comfort zone and require some extra effort, but it is unquestionably worth doing.

Let’s unpack this a little and get into specifics.  I’ll admit that writing, and blogging, in particular, is not what a lot of folks think of when they think of a STEM career. But here are some explanations as to why it’s a natural fit.

Continue reading “Should Programmers Blog? 5 Things to Consider”