What 90% of engineering leads get wrong
Piotr Kaca?a ??
CTO / Board / Advisor ? I help companies building great product engineering teams
?? Hey! My name is Piotr, and welcome to my newsletter on building blocks for successful tech product companies. Subscribe for free step-by-step guides on best practices used by the best companies!
90% of engineers I talked to think their job is to write good code. That's a problem. Not only is it not how you build good products, but it will likely cause you to fail big time, and people in your team will get fired.
Don't get me wrong. Out of my 25 years in the industry, 15 years I've been an engineer. I've seen things. Writing good code is certainly important, but it is not the ultimate goal of engineering teams. What is? If you have to remember one sentence from this post, get this:
The ultimate goal of tech teams is to create value for customers and your business.
This is what I mean by Product Engineering mindset. You need to get that message to your teams - engineers and engineering leaders. That's how you win.?
Stakes are high because if you're not bringing value to customers, you're burning money. Quite a lot of money since engineers get big paychecks. Burn enough cash, and you'll get defunded.
Defunded means they'll fire you and close down the company. It may take a year or five, but it will happen eventually. It did happen to others before, and it will happen to you. If you're not bringing enough value to your customers, your competitors will eventually. You're ripe for disruption.?
How to fix that?
No, don't kill the batman. That's plain wrong.?
Here's how to fix it:
Engineers - instead of focusing on code, focus on customer value.
And with every team I work with, I expect engineering leaders to understand it and spread the love to their teams.
In this post, I will explain why writing good code is not enough and how you can increase customer value by shifting the mindset from code-centric to value-centric. And yes, you'll still be able to do fancy tech. The difference is that someone will use this tech.
A tale of two engineering teams
Imagine two engineering teams working on similar products in the same market. Both teams have talented and experienced engineers who write good code. Both teams use agile methodologies and follow best practices. Both teams deliver their products on time and within budget.
However, there is one big difference between the two teams.
Team ??? is focused on writing good code.
Team ??? is focused on creating value.
Which team is more successful? Which team brings more impact? Which team makes customers happier, causing them to use their product more, leading to higher revenue for their business? You know the answer; I do not need to tell you.
领英推荐
Why writing good code is not enough
Why is writing good code not enough? Isn't that what engineering teams are supposed to do? Well, yes and no.
Yes, writing good code is a necessary condition for engineering teams. But it is not enough.
Writing good code does not guarantee that you are creating value. You might be writing elegant, efficient, and error-free code, but it is not creating value if it does not solve a real problem, meet a real need, or deliver a real benefit. It is just a waste of time and resources.
Think about it. How often have you seen technically impressive products that fail to attract or retain customers? How often have you seen products full of features but no clear value proposition? How many times have you seen products that are well-coded but poorly designed? I've seen enough. Hell, I've built some of them myself. That was a hard lesson for me.
If you're building an impressive product that does not bring value, you're not building a good product, no matter how great the tech you use. This product will fail eventually.
And no,?thinking?it brings value without validating it with customers doesn't mean it brings value. Everyone thinks their feature will work. 80% will not. Building products is a numbers game.?
What products will you get from code-centric and value-centric mindsets?
Code-centric products are driven by the technical aspects of the code rather than the product outcomes. Code-centric products are optimized for the engineer's satisfaction rather than the customer's satisfaction. Code-centric products are doomed to fail.
Value-centric products are driven by the value that the code creates for customers and the business. Value-centric products are connected to the customer's reality and aligned with the customer's goals. Value-centric products are optimized for the customer's satisfaction and the business's success.
How to make the mindset shift
So, how can you shift the mindset from code-centric to value-centric?
It is not easy, but it is possible.
It requires a change in how you think about and approach your work. It requires a change in your attitude, your behavior, and your culture.
Here are some tips to help you and your team make the mindset shift:
Conclusion
Writing good code is not enough for engineering teams. The real job of engineering teams is to create value for customers and your business. And that requires a mindset shift from being code-centric to being value-centric.
What's your take? Let me know in the comments below.