Coding is more complex than ever. Creating a new product is much more complex.
A software developer must have deep knowledge of a subject and knowledge of many other technologies. This t-shaped skill helps developers to build software from end to end. If you are a backend developer you need to understand how frontend works and vice versa. And add some Docker, cloud systems (AWS, Azure …), CI/CD knowledge. Don’t forget to add database knowledge.
Now you are a complete development team, right? No. This is how things work nowadays. Literally. If your code is not working, you need to know the problem’s source. Is it your code, infrastructure, or pipeline? Is data orphaned? Accessing the logs and reading them is also getting complex. You need to use a few tools to just read logs. This is getting crazy.
Despite all this, coding is not so important. Yep! You heard it right.
People care about products, not codes.
Who is using your product?
Who is paying for that?
What difference does your product make?
What is the added value?
How do you differentiate from your opponents?
and many other questions that disturb you about your product
Getting customers is hard. Keeping them is too hard. Word-of-mouth marketing and becoming a love brand is every product owner's dream. But we live in the real world. Who cares about your product? You answer "why", and I answer you "who". Think about why and add some difference. Then sell it. People will love it if you focus on why. People will talk about it if they love it.
Developers? Don't listen to them too much. Give developers freedom, and power but always listen to your clients more. Some solutions don't require coding, some solutions only need integration which can be solved with no-code integration tools. Focus on finding a solution to problems, not on coding.
Implementing a new feature is hard. Implementing the right feature is too hard. Users always request new features. They want a magic button that solves everything. Measure it! Use analytic tools, A/B testing, and ask your clients. But measure it, twice.
Fixing the bugs is hard. Prioritizing bugs is too hard. You always have bugs in your code. You always have complaining customers. It is the nature of software. You have limited time and limited resources. You need to prioritize.
If it is not a bug, it is a feature.
Product is the new king! Developers can code any product (just ignore the pain). Even ChatGPT can write code. But what is the right product?