Issues with Software Engineering and Engineers
Working software is changed unnecessarily for a variety of reasons which lead to broken products, or lower performing (slower/less efficient)
These reasons can be for non business cases and for superficial reasons
For example
To try new technologies
Boredom
Improve something cause it is looks good
do something cause it is a challenge
change something cause the way it was written was not to your liking or taste
rewrites for no gain for the stake holder
Forced to use new technologies due to management say so
A lot of this driven via ego-driven decision-making of team members, including new CEOs, tech leads, or engineering CTOs, who feel the need to make changes to demonstrate their knowledge or expertise.
This leads to people
massaging their egos
showing off
doing busy work instead of impactful work
doing stuff for their resume
Wanting to have fun rather doing things for the aim of the business
Solution
the importance of targeted reasoning and objective observation when making changes to software, focusing on genuine improvements rather than cosmetic changes.
Use a scientific/engineering approach to making changes that will bring the most benefit short and long term
Use shared ownership
refer to code as ours
Avoid you or I, instead use we and us
pairing
pairing in code reviews
Psychological safety
people who are scared will not take risks or feel confident to do work that is impactful or can be seen to have consequences if it does not work out
look to prevent major issues from leaking out from mistakes
code review
pairing
testing in different environments
ease of rollbacks or config changes
CI/CD pipelines
On self improvement
Dont get too tied up with the code/product
humility
therapy
Last updated