DEV Community

Discussion on: Clean code, dirty code, human code

Collapse
 
d_ir profile image
Daniel Irvine 🏳️‍🌈 • Edited

I’m not sure if you’re comment is directed specifically at me (the author), but just in case it is:

The quote I’m talking about is not the infamous one you’ve given an attribution for. I’m talking about the variant which speaks to the larger of our industry’s problems today--i.e., people. One of the reasons this quote is magical is because it shows how outdated the original is.

Software engineering principles are generally not a match for today’s programmers given the industries they work in. If you haven’t already, I suggest you read Software Craftsmanship by Pete McBreen which will make clear some of the advances in thinking about software development in the last 25 years or so.

My point with this article is two-fold:

  1. To highlight that it’s extremely important to pay attention to messaging when you’re in a position of authority.
  2. To highlight that, for those of us who care about the notion of clean code, our thinking has evolved since the days that Kent Beck, Martin Fowler et al first showed us how to write better code.
Collapse
 
weedyseadragon profile image
Ashley Engelund

You're right -- I haven't read Software Craftmanship yet. But now I will.

But I also think that maybe my definition of "Software Engineering" is more expansive. My view of Software Engineering includes people and their behaviors and wants and needs and humanness as a major part.

Teamwork is a critical part of pretty much every software engineering process. And so if the leader of a team is not a good manager or leader, that negatively impacts that part of the process. If the leader of a development team isn't able to determine what level of code review is appropriate -- if the leader is insisting on line-by-line reviews with very rigid rubrics and that is not appropriate, then that will negatively impact the team and the code developed. That is all part of the software engineering process.

So I totally agree with you that

"it’s extremely important to pay attention to messaging when you’re in a position of authority"

because that is part of software engineering. Everything involved in producing and deploying software -- whether it's writing it new from scratch or working with code that someone else wrote 5 days ago or 5 weeks ago or 5 years or 15 years... -- is part of software engineering to me. It's not just about writing code -- it's much larger than that.

Writing clean code is just one part.
And people are always part of the process. (developers, users, stakeholders, investors, ...)