1. “People are no longer born; they are grown”
Well then, since you’re still here, let’s continue. “And I will show you how deep the rabbit hole goes” © 🐇
Let me tell you how the product development process works — we’ll walk through the steps from the highest global level down to the lowest — writing code. I think a few interesting discoveries await you…
Modern IT products are no longer written; they are built. They’re assembled piece by piece from libraries, frameworks, third-party programs and products, or they use remote paid or free online services 🧩.
A modern product is a whole zoo of technologies, services, solutions, and processes. Some of the work is done by people, some is automated, and the remaining 90% is done by cloud services in data centers ☁️. The world isn’t what it used to be.
But the first thing you’ll notice is constant change. You no longer write programs, you make changes to them.
2. Constant change
You’ll come to work and join a team of 20 people that has been working on the product for five years. Users currently have access to version 7. And your task will be to make changes to this product. Small ones, so as not to scare off the current active users.
And that won’t be easy, because the product is already running. It has customers, and they pay money 💰. So you can’t break anything. Making changes to a live product is several times harder than to a new one. There are special standards, migration protocols, and utilities for this. A joke comes to mind:
Two old friends meet: one became a mechanic, the other — a surgeon... Each has their own life, worries, joys... They tell each other about everything, and the topic of salaries comes up. The auto mechanic says: “Well, I make 30k a month and I’m very happy with that. How much do you make?” The cardiac surgeon says: “Well, about 100k per operation...” The mechanic gets curious: “Strange, why such a big difference? We’re basically doing the same thing — replacing parts.” And the surgeon says: “Well, let’s go to the car. Start it up...” The mechanic starts the car, the surgeon opens the hood and says to the mechanic: “See, the engine is running? Replace it!” 😂
Even if a miracle happens and your team spends a whole year building a product from scratch and only then releases it, do you know what happens next? If your product is successful, the product owner will want to evolve it. Release a new version, add some functionality. Or at least run a few experiments. And do you know what follows? Change 🙈
3. Product value
From the perspective of modern development, only code that has already been released and features that users are actually using have value. If you wrote code that sits somewhere and runs, but people don’t use it, its value is close to zero. That’s why all code should get to production as early as possible 🚀
Your code needs to go through these stages:
- ✔️ You wrote it and made sure it works.
- 🔍 Your team lead reviewed it and merged it into the main branch in Git.
- 🧪 Tests during the build showed that you didn’t break anything important.
- 🧩 Integration tests showed that the product works as it should.
- 🛡️ A tester verified this code and approved it for release.
- 📦 Then you need to build a new version of the product and release it to the server.
- 🐳 The new version of the product needs to be packaged into Docker images and released.
- 🗄️ You may need to run migration scripts and make changes to the database and/or other third-party systems.
- 📊 Then you need to collect logs on the server to make sure everything is working as expected.
- ⏪ In case of an incident, if you broke something, you need to roll the build back, restore the database to its previous state, and not lose the actions users performed while working with the unstable version of the product.
In most companies these tasks are solved today: new processes are in place, specialized people have been hired, and special security protocols and quality control standards have been introduced. The larger the company, the less time passes from writing code to the moment it reaches production and turns into value — starts helping people.
In most companies, code completes this journey in two weeks. However, there are companies that release every week or even every day. Some even several times a day.
Code you’ve merely written is worth nothing. Only code running in production brings value.
GO TO FULL VERSION