The roles in the tech industry

April 3, 2022


This article is aimed at people looking to get a better insight on which jobs exist in the high-tech industry.

Disclaimer: the example used in this project is meant to introduce all the roles in the industry. Real-life projects usually do not need all the mentioned people, at least in the initial stages of the business.

To demonstrate the various roles that exist in the industry and how they work together - we will build a company that produces an app called Dinder, which has a very original and unique goal — dating with dinner.

First, lets explore how most companies work:

We have an idea. In this case — a dinner-dating platform.

The platform requires software. So let’s welcome our first employee:

Laura, our software engineer (FrontEnd, Fullstack, Backend, Mobile, …) will help the company by writing code which will be compiled to a certain artifact (output).

But how does Laura know what to build? She needs requirements. A spec.

And who where does Laura get that spec?

Who translates the business requirements into a product-oriented spec?

Welcome on board, Jake!

Jake will take care of translating the business requirements (We want an app that allows users to date during dinner!) to product requirements (We need to have a nice on-boarding flow for the user, and a screen that has a map where the user can choose the restaurant and person to have the date with).

So, we have 2 employees now. Here is how our company looks at the moment:

Awesome. Jake translates requirements to Laura, who codes them and produces an app.

But does Laura know how the app should look like?

Oh no! That looks awful! Our whole app looks like “Date hot singles” popups on dodgy websites.

Who was missing in the process?

Dana was missing. So, let’s welcome Dana on board!

Dana will create designs based on the spec provided by Jake. Then, Laura will transform that spec into code, and produce an output.

Awesome! Now our app looks great, and we are ready to release it to the users.

Open the champagne! 🍾🍾🍾🍾

We are waiting… The app is available in the stores, yet nothing seems to be happening…

What went wrong?

Nobody told the people of the world about our original, unique app.

So, who should have done that?

With Joao on board, our app can get traction.

Here is the state of our company right now:

Makes sense?

So, we released the app and heavily invested in marketing and User Acquisition.

We now have 100,000 downloads!

and a 2.3 app-store rating.

Wait, what? Why? What went wrong?

Even though Laura did a great job in coding the product and testing it herself, she missed a whole load of edge cases, unexpected scenarios and crashes.

Who could have solved that?

Gaby! Saviour of the day! Thank you for joining us.

With Gaby’s help, our next release is so stable and safe that our rating grew to 4.3

2 months passed. Users count is constantly declining — users are leaving our app and moving to competitors.

Investors are mad, our churn is high. What can be done?? Who knows what is happening?

Ohh, it’s the BI (Business Intelligence)! Hey Harry.

Great, now we have someone that can bring us insight on why users are leaving us, and what we should do in order to have an advantage on our competitors. Now we know what the market thrives for.

We have a few weeks of extreme growth. The recent investment in our company allowed us to double our expenses on user acquisition, which resulted in massive growth in our customer base.

The growth is so huge, that our databases start failing — they simply can’t handle such load. Nobody knows what to do. Which data architecture and technologies should be used to allow the company to scale? What can we do to serve our clients faster?

No idea. And not only that, one of the employees deleted our whole database by mistake, and we had no backups.

Who can come to the rescue? Who can save us from such incidents, and help our data scale properly?

Hello Daria! It’s a pleasure to meet you!

Daria saves the day. We can continue growing, as our company looks like this:

A few months pass successfully. The company achieved its goals, and is now in the process of securing another investment round.

But it wouldn’t be fun if something didn’t go as expected at the most critical point, would it?..

Our company got hacked. Our users’ data was stolen and leaked. Credit card information was leaked, and personal messages were published online.

Such scenario puts our company in a very vulnerable position. Not only we lose the trust of our customers and investors, but we are also subjects to huge fines and lawsuits.

Who could have prevented this awful scenario?

Hello David!

David is a security specialist. One of his jobs is to perform penetration testing, which should help the company learn which security holes it has. In addition to that, David helps the team build a safe and secure architecture, that will protect us from hackers. David takes numerous measures to ensure we have a high cyber-security standard.

With David on board, we are still afraid of hackers, but at least we are conscious and took measures to prevent the next hack.

The company grows. We are now:

  • 5 Product Managers
  • 50 Developers
  • 10 QAs
  • 3 DBAs
  • 2 Security Researchers

Due to this scale and size of the team, releasing new features became extremely slow.

Manual QA takes about 15 hours to complete for even the tiniest change, and that’s a best-case scenario. Whenever several bugs are found, the ping-pong with the dev teams can last more than a week.

We are failing to release fixes and features to our users, and are losing our competitive advantage. Our ratings fall as well, and our customer-base shrinks.

Who could help in this situation?

Hello Anna! Thank you for joining us.

Anna created several automated QA tests, and developed a UI automation framework which allows running many common scenarios and use-cases automatically, without any human being involved.

Thanks to Anna’s work, the QA part of the release cycles became very efficient and quick.

But the dev part still struggles.

Building the app became a mess. Producing an output and managing versions became such a spaghetti, that no-one can understand what’s going on and what should be done.

Not only that, but we are failing in scaling our infrastructures and managing releases properly. We have 2 iOS apps and 2 Android apps, we also have a web version of the platform and many microservices in the backend.

Almost every release of a new feature results in errors, synchronisation problems, and deployments failures. On top of that, we have no way to rollback our changes when something goes wrong. This results in huge downtimes, and now our customers are super angry.

Paul helps us in creating our cloud infrastructure properly; he set up auto-scaling of servers, he created automated deployments to the app stores when releases are approved, and he implemented a rollback system in our company that allows us to cancel buggy releases and move back to stable ones.

Now, our company is stabilising and keeps being stable for several months.

We have a very strong team of professionals that keeps growing, thus growing the product and bringing it to new horizons.

You get the idea…

As you can see, even the most straightforward idea and simple product require a group of skilled people that tackle the many challenges a company encounters during its different stages.

The main thing to remember is:

There is so much more to the industry than writing code.

Disclaimer - This example is for demonstration purposes only. Usually, small to medium sized projects do not need in-house BI, DevOps or Penetration Testers. Most of these tasks can be either delegated to PaaS solutions (as is the case with DevOps), or, to third party providers (which usually have an expertise, and would be cheaper than hiring the said professional for a full-time role).

Building a lean team (especially for startups) also means some of the roles would be done by the same person, such as manual & automated QA, or DevOps, release management and software development.

Let's have a coffee ☕️

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.