Clean Code Series: Part 1 – The Difference Between Programmers and Software Engineers

Chris / February 11, 2016 in 

Programmers: stop calling yourselves engineers. That was the title of an article I found myself reading a couple months ago. Of its many points about the difference between programmers and software engineers, I summarize them here as:

Software engineering requires craftsmanship and accountability; today’s programmers are lacking in both.

Indeed, there’s no shortage of poorly crafted software to point to. Should a bridge collapse, negligent engineers face losing licensure. There is little parallel for programmers. This fosters a lack of responsibility in our field, leading to articles like the one above.

It’s clear we need higher quality software, but how do we get there?

We don’t need programmers. We need software engineers.

These two terms are not the same. They are a dividing line. Yet my views differ from the article. I believe programmers can become engineers, and there are many of them out there today. My criteria for a software engineer is self-accountability and practicing software craftsmanship.

But what does software craftsmanship mean? As a programmer, how can I learn it? As a manager, how can I  tell the difference between programmers and software engineers? How can I foster the very practices that enable those engineers to live up to their title?

The foundation of software craftsmanship is Clean Code, and it’s the subject of this blog series. We’ll discuss why Clean Code is important, some basics, and how we at BTI360 put it into practice. We’re eager for managers and engineers (current or aspiring) to follow along. We’re all in this together. It’s our choice whether we’re programming the next flub or engineering the next success.

Read the Other Parts of the Clean Code Series:


February 2016 Orange Slice


Clean Code Series: Part 2 – Why Clean Code is Important

Close Form

Enjoy our Blog?

Then stay up-to-date with our latest posts delivered right to your inbox.

  • This field is for validation purposes and should be left unchanged.

Or catch us on social media

Stay in Touch

Whether we’re honing our craft, hanging out with our team, or volunteering in the community, we invite you to keep tabs on us.

  • This field is for validation purposes and should be left unchanged.