In a previous post, I spoke about how engineering scope influences a project. I believe that principles are the undercurrent to those scopes.
What Are Engineering Principles?
Engineering principles are the rules and beliefs that govern our work. They make up our unique approach to development, analysis, and problem-solving.
Like microbes living in our gut: we all have them, we just might not understand what they are and how they influence us.
Why Are Principles Important
As software engineers we're asked to think deeply about a huge range of topics, and often expected to excel in all of them ("testing, security, design, tech support, operations, deployment, optimization...")
The truth is, that's not possible. Not at 100%.
Although all engineers have a common base of concerns (e.g. we all care deeply about working solutions), there are some questions we naturally gravitate more towards than others, some areas that we're truly passionate about and are ready to die on a hill for.
When we collaborate with different people from all walks of life, our principles collide. And it's in that short encounter that we have a golden opportunity to mesh together our principles to build something great, or as is sadly quite often the case, end up debating for hours with little to show for.
Before we can start leveraging our principles, I think we have to really think about what our principles are.
My Engineering Principles
Every engineer has their own unique blend of herbs and spices that help shape a meeting. What do I bring to the table? What are the metrics that I evaluate myself with? What does quality mean to me?
These are my engineering principles so far:
-
Efficiency
- Striving for solutions that yield the highest value with the lowest possible cost
- Creating real value for stakeholders
- Holding myself accountable for my decisions and the team's decisions
-
Growth
- Continuously questioning, learning, and improving
- Experimenting with new ideas
- Looking past the status quo
-
Transparency
- Communicating thought process, blockers, concerns
- Being honest and open, especially when it's uncomfortable
- Showing work early and often
Why these three? Because the people I've seen create high value at an insane speed where the one's who were extremely transparent in their work, strived for efficiency in the solutions they chose, and fostered an environment of learning and experimenting.
This is in contrast with other great engineers I've worked with who fostered opposing principles, and although still delivered quality work, did not have an impact at the same rate or depth.
Opposite Principles
If Efficiency's main concern is building just enough for the problem at hand, the other side of that coin is Performance, as defined as striving for the highest performing solution. The two often come at odds, especially when planning for the future (e.g. will our solution still work well in 3 years from now? Should we add that one more thing to make sure?).
Similarly, I've seen Growth's counterpart often be Stability, whether that's through the standardization of practices or establishing of rules and structure. Incorporating new learnings into repeatable processes is crucial when wanting to achieve a predictable and stable level of quality.
I've found Transparency's opposite cousin to be Focus. That might sound strange, but think back to when management withheld information. What was their underlying reason? What was their concern? I would bet that they most likely feared people would react in a certain way that would ultimately affect the team's focus on their work.
A Balancing Act
I believe all principles, when balanced properly, have a positive impact. For example, Performance, Stability, and Focus are crucial in certain teams and organizations across different stages, and at time could be even more beneficial than say radical Efficiency, Growth, and Transparency.
Regardless of what our engineering principles may be, the whole point is to realize that they are all valuable and that by harnessing their differences, we can achieve a better, more balanced solution.
What are your guiding principles at work? What's your north star or engineering compass?
Top comments (0)