It took me a long time to figure this out, longer than it should have frankly.
I spent years being only interested in the craft of coding. I had many debates over the years with product managers and others regarding the speed of delivery. I always wanted to push for quality over time. I still do.
Slowly over the years I have moved towards a true agile approach of defining and delivering an MVP which allows me to focus on quality and also go faster.
But this isn’t what I’ve learned. What I learned is that with every job the challenge is people.
In the past I somehow believed that focusing on the quality singularly would result in the work speaking for itself, but sadly this is no more true in the field of software than anywhere else.
Whether it’s ‘right’ or ‘wrong’ we are dealing with people and what will grow you as an individual and grow your career more than anything is your ability to communicate with people in different roles and at different organizational levels. You can surely advocate for quality, as I will continue to do, but you must remember the goal which is to deliver something tangible of value to your customer, whether your customer is another team in your org, or an external client.
I was fortunate that the debates I had regarding quality versus time have actually helped me become better at communicating those ideas with those other people, but looking back I think I could have made it easier on myself by being less of a zealot.
I would encourage anyone, especially junior engineers, to focus on the people skills as much as the software skills. If you can master both you will be much more effective in your career.
Top comments (0)