Suits that one might wear to work

What Do Programmers Wear to Work?

The posts that I write for this blog are aimed at answering questions non-programmers and aspiring programmers have about being a programmer.  This results in me answering some questions that seem perfectly natural.  But it also results in questions that surprise me.  “What do programmers wear to work?” is one of the surprising ones.

I can answer this question in a paragraph.  But I can also answer it with an entire post.  Let’s start with a paragraph.

What do programmers wear to work?

The answer is that it really varies.  Asking what programmers wear to work is like asking what people who work corporate jobs wear to work.  On average, programmers probably dress somewhat more casually than the average worker.  But there are programmers who come to work in suits and programmers who come to work in pajamas.  What programmers wear to work has a lot more to do with the company than with the profession.

But that doesn’t mean there’s nothing to talk about when it comes to how programmers dress.  Instead of trying to describe programmers at large, let’s break things down by the dress code.  Assume that you want to be a programmer.  Let’s look at each style of dress and where you might encounter it.

Continue reading “What Do Programmers Wear to Work?”

Full stack of cards

What is a Full Stack Developer, Anyway?

“What is a full stack developer” is a question that mystifies non-programmers.  I understand this because I run a content agency that pairs techies with non-technical editors.  The term comes up, and those not steeped in tech kind of squint at you if you say that and ask, “what….?”

What Is a Full Stack Developer?  The Short Version

So first, let’s give the short, direct answer to this question.  A “full stack” developer is a software developer with a general enough skill set to build all required components for a working piece of software.  They can handle the database, the programming logic, and the user interface, and they put it all together to deliver.

In a nutshell, that’s what we software people mean when we toss around this term.  But I can understand if you’re still scratching your head.  You’re probably wondering about some things now.

  • Why is it some kind of special thing that a software developer knows how to build all of the parts of the software?
  • Why is writing all of the software called “stack” and what does it mean for it to be “full?”
  • What is the origin of this expression?
  • How does one become a full stack developer?
  • Should you want to be a full stack developer?

For the rest of this post, I’m going to answer those questions.  When you’re finished, you’ll know everything you could ever have wanted to know about the term “full stack developer” and some things about software development in general, besides.

Continue reading “What is a Full Stack Developer, Anyway?”

Software engineer or software programmer

Is a Software Engineer the Same As a Software Developer?

Is a software engineer the same as a software developer?  It’s an understandable question.  When you’re on the outside looking into the software industry, it can seem like we programmers (software engineers, software developers, etc) have a dizzying array of titles.  And we do.

So what does it all mean?  What’s the difference?  Is “software engineer” just a synonym for “software developer”?

Is a Software Engineer the Same As a Software Developer?

Yes.  Full stop.  These are the same.  Different companies have different title preferences, but the titles describe the same thing: people who write code for a living.  

Sure, being a software developer at one company will always be slightly different than being a software developer at another company.  But that’s true in any line of work.  Similar jobs vary from company to company because the companies are different, not because of the titles.

Now if you look around the internet, you’ll see that there isn’t necessarily a consensus about this question.  You’ve heard my answer, so for the rest of this post, I’m going to elaborate on why I think this is the case by responding to arguments I heard on the contrary.

Continue reading “Is a Software Engineer the Same As a Software Developer?”

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”