CodeGym /Courses /Frontend SELF EN /Product Creation

Product Creation

Frontend SELF EN
Level 48 , Lesson 0
Available

10.1 “People are no longer born, they are grown”

Alright, since you're still here, let's keep going. “And I will show you how deep the rabbit hole goes” (c)

Let me tell you how the product development process happens. We'll go through the steps from the very top, global level, down to the nitty-gritty of writing code. I think you'll find a few intriguing insights...

Modern IT products are no longer just written: they are created. They are assembled from libraries, frameworks, third-party software, and products, or even use remote paid or free online services.

A modern product is a whole zoo of technologies, services, solutions, and processes. Part of the work is done by people, part is automated, and the remaining 90% is generally performed by cloud services in data centers. The world isn’t what it used to be.

But the first thing you'll notice is constant changes. You no longer write programs: you make changes to them.

10.2 Constant Changes

You’ll start work and join a team of 20 people who have been working on a product for 5 years. The seventh version is currently available to users. And your job will be to make changes to this product. Small ones, so as not to scare off the current active users.

And it won’t be easy, because the product is already working. It has clients, and they pay money. So nothing can be broken. Making changes to an already working product is several times harder than a new one. There are special standards, protocols, migrations, and utilities for this. It reminds me of a joke:

Two old friends meet: one became a mechanic, the other a surgeon... each has their own life, worries, joys... They tell each other everything and then start talking about salaries. The auto mechanic says, "Well, I earn 30k a month and I'm quite satisfied with it, and you?" The heart surgeon says: "Well, I make about 100k for an operation"... Then the mechanic got interested, "Strange, why is the difference so big, it seems like we do the same thing — changing parts," and the surgeon says to him: "Well, let's go to the car, start it"... the mechanic starts the car, the surgeon opens the hood and says to the mechanic, "See, the engine is running? Change it! :)"

Even if a miracle happens, and your team wrote the product from scratch for a whole year and only then released it, you know what will happen next?

If your product becomes successful, the product owner will want to develop it. Release a new version, add some functionality. Or at least conduct a few experiments. And you know what will follow? Changes.

10.3 Product Value

From the standpoint of modern product development, only the code that has been released and the feature that users are utilizing have value. If you've written a code, it’s stored somewhere, it's working, but people aren’t using it, then its value is close to zero. Therefore, all code should reach production as soon as possible.

Your code should go through these stages:

  • You wrote it and made sure it works
  • Your TeamLead reviewed it and added it to the main branch in Git
  • Tests during the program build showed that you didn't break anything important
  • Integration tests showed that the product works as expected
  • A tester checked this code and gave the go-ahead for release
  • Then you need to build a new version of the product and release it on the server
  • The new version of the product needs to be packed into Docker Images and released
  • You might need to run migration scripts and make changes to the database and/or other third-party solutions
  • Then gather logs on the server to make sure everything works as expected
  • In case of an emergency, if you broke something, you need to roll back the build, restore the previous state of the database and not lose the actions users did while working with the unstable version of the product

In most companies, these tasks are now resolved: new processes have been built, special people hired, special security protocols and quality control standards introduced.

The bigger the company, the less time passes from writing code to the moment it hits production and turns into value — starts benefiting people.

In most companies, code goes through this path in two weeks, but there are companies that release every week, or even every day. And some truly exceptional ones — several times a day.

Written code is worth nothing. Only code running in production brings value.

Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION