I recently read Clean Coders by Uncle Bob Martin (twitter).  

<div class="productDetails right">
  <a href="" target="new" class="product-title title">The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series)</a>

  <div class="product-author author">By Robert C. Martin</div>


That book opens with the concept of professionalism.  Many of the concepts outlined in that book tie back to core DevOps principals and why I think DevOps is necessary.

Who Needs DevOps?

I wasn’t always a fan of DevOps.  I thought it was a bunch of hype around that really just broke down to “just do your job.”  But I’ve found that not everyone thinks that way.

My Misconceptions

Technical staff should

  • Understand the problem domain of the business.
  • Understand what other units of the business do and how your efforts support that.
  • Communicate honestly about time schedules and capability to complete work.
  • work with other business units (e.g. Development or Operations) to reach business goals, not just departmental goals.

But Life Isn’t That Way

And that’s why books like Clean Coders and movements like DevOps are required.  Many environments I’ve seen are more like pitched battles, with every business unit plotting on how to improve their position, not at the expense of the competition, but at the expense of other silos in the same company!  This is not “professional” behavior.

What Identifies Professionalism

The “Nots”

It is not “professional” to actively harm the business to satisfy targets for your department.  

It is not “professional” to blindly fulfill service requests despite being able to satisfy the business need more effectively.  

It is not “professional” to commit to projects or timelines that you cannot meet.

It is not “professional” to hoard knowledge.

The “is’s”

It is “professional” to offer and encourage and lobby for responsible solutions that minimize technical debt (or acknowledge and plan to deal with that debt).

It is “professional” to say “no” when the situation calls for it.

It is “professional” to say “yes” when you are able to and can commit to helping.

It is “professional” to care about the quality of your work.

It is “professional” to practice your craft.

It is “professional” to share your knowledge and bring your team up with you.

There’s more to say on this topic, but this will do for the moment.