ingrid.fyi India's software hiring trends, explained.
Sign in to ingrid.fyi with Google
Your Google account
name@gmail.com
Continue with Google
Home / Software engineering roles
On this page
Software engineering roles, explained Software engineering is not one job. A phone, the app on it, the cloud it talks to and the chip inside it are each built by different engineers with different skills. This page explains where each role sits and how the roles fit together. It covers the roles that have a role page of their own on ingrid.fyi. How software is built, layer by layer

Take any everyday product, a food delivery app, a banking app or a car's dashboard. Underneath it sits a stack of layers, and each layer has its own engineers.

How software is built, layer by layer. Frontend and mobile app engineers build the screens people see. Below them, backend engineers (Java, Python, JavaScript and Node, .NET) build the services and data engineers move and store the data. Cloud and DevOps engineers run the platform, C/C++ systems engineers write the operating systems, storage and networks beneath it, embedded firmware engineers write the software inside one device, and chip designers design the silicon itself. Test engineers and security software engineers work across every layer. GenAI, AI model and machine learning engineers learn from the data. SAP, ServiceNow and Salesforce engineers work on business platforms that companies buy and shape rather than build.How software is built, layer by layer. Frontend and mobile app engineers build the screens people see. Below them, backend engineers (Java, Python, JavaScript and Node, .NET) build the services and data engineers move and store the data. Cloud and DevOps engineers run the platform, C/C++ systems engineers write the operating systems, storage and networks beneath it, embedded firmware engineers write the software inside one device, and chip designers design the silicon itself. Test engineers and security software engineers work across every layer. GenAI, AI model and machine learning engineers learn from the data. SAP, ServiceNow and Salesforce engineers work on business platforms that companies buy and shape rather than build.

The arrows point downward, from what people see to what they never see. The higher layers are mostly software that runs on someone else's machines. The lower layers sit closer to the hardware, where memory and speed are managed by hand. Test engineers and security software engineers work across every layer. The AI roles sit beside the data, because every model learns from it. SAP, ServiceNow and Salesforce sit apart, because companies buy these platforms and shape them to their business rather than build them from scratch. The sections below follow one food order down the stack, from the screen the customer taps to the chip inside the phone.

The screens people use

Picture ordering dinner on a food delivery app. Everything the customer touches, the menu, the cart and the map that follows the rider, is the work of two roles. Frontend engineers build what people see and click in a web browser, in React, Angular or Vue (what the role is). Mobile app engineers build the same kind of screens as apps on the phone, for Android, for iOS, or for both at once (what the role is). Neither screen knows the price of a dish or whether the restaurant is open. For that, the screen asks the services behind it.

The services behind the screens

Backend engineers write those services, the business rules, the APIs and the databases behind every order, payment and booking. When the customer taps Pay, a backend service checks the cart, takes the payment and tells the restaurant. It is one kind of work done in four main languages. Java engineers work on large, long-lived systems at banks, retailers and travel companies. .NET engineers do the same work in Microsoft's stack, often for business software sold to one industry. Python backend engineers build services for products that are often close to data and AI. JavaScript and Node engineers build whole web products in one language, from the screen to the server. Many backend jobs are full-stack, covering the screens as well. The four share one explanation of what the role is. Every order these services handle leaves a record behind, and those records are where the next roles begin.

The data and the AI

By the end of a busy evening, the app holds a mountain of orders, deliveries and payments, spread across many databases. Data engineers build the pipelines that move those records into one place and the stores that hold them (what the role is). Once the data sits together, the AI roles build on it. Machine learning engineers build models that predict one thing, such as how long an order will take or how much a restaurant should stock (what the role is). AI model engineers train, tune and serve large models themselves (what the role is).

GenAI engineers build products on top of large language models, the kind of model behind ChatGPT and Claude, without training those models themselves (what the role is). When an order goes missing and the customer types a complaint, an assistant reads the message, looks up the order, checks where the rider is and writes a sensible reply. GenAI engineers build that assistant. They connect the model to the company's own data and services, write the instructions it follows, and test its answers so that it stays accurate and never promises a refund the company would not give. The services, the pipelines and the models all need machines to run on, and those machines form a layer of their own.

The platform underneath

Cloud and DevOps engineers build and run the servers, clusters and pipelines that all this software runs on, and keep it running when the dinner rush arrives (what the role is). Their servers in turn depend on software that most engineers never touch.

C/C++ systems engineers write that layer (what the role is). It holds the operating system that every server starts up with, the storage that keeps each order safe on disk even when a machine fails, the network code that carries a message from the rider's phone to the data centre, and the database engines that backend engineers use every day without looking inside. A great many programs sit on top of this software, so it has to be fast and it cannot crash. That is why it is written in C and C++, languages that let engineers manage memory and speed by hand. Much of it lives inside products such as Linux, PostgreSQL or the software in a network switch, and the work suits engineers who like to know exactly what the computer is doing. Beneath the operating system, software meets the hardware.

Devices and chips

The rider's phone, the restaurant's billing machine and the servers in the data centre are all physical devices. Embedded firmware engineers write the software that runs inside one device, such as a car's control unit, a medical machine or a home appliance (what the role is). Every one of those devices is built around chips, and chip designers design the chip itself before it is made (what the role is). That is the bottom of the stack, yet two roles belong to no single layer.

Across every layer

A bug can hide anywhere from the menu screen to the payment service, and so can a weakness that an attacker might use. Test engineers check that software works before customers find out it does not, mostly by writing code that tests it (what the role is). Security software engineers build the parts of a system that decide who gets in and stop attacks (what the role is). Both roles look after the app the customer sees. Behind that app, the company also runs software it never wrote itself.

Business platforms

The food delivery company has to pay its staff, buy supplies, answer its own employees' IT requests and keep track of its restaurant partners. Large companies rarely build software for this kind of work. They buy ready-made platforms and shape them to their own business.

A business platform is one large piece of software, written by one vendor and sold to companies all over the world. SAP, a German company founded in 1972, began as software that companies installed on their own computers, and many still run it that way while others now use it from SAP's cloud. Salesforce, founded in 1999, and ServiceNow, founded in 2004, were built for the cloud from the start, so a company rents them as a service and reaches them through a browser. Either way, the company pays a licence or a subscription, gets the same core product as every other customer, and then configures it to match its own way of working.

Building this kind of software in house sounds possible but rarely makes sense. Paying salaries means following tax and labour rules that differ between states and countries and change every year. Closing the books means following accounting standards that auditors check line by line. A vendor writes these rules once, keeps them up to date and shares the cost across all of its customers. A company that built its own system would carry that whole burden alone, for software that gives it no edge over its competitors.

Once in place, these platforms are very hard to remove. SAP often runs a company's finance, purchasing and stock for decades, and every report, process and connected system grows around it. Replacing it can take years and a large budget, so companies tend to keep it and keep extending it. That long life has turned the work of shaping these platforms into a career of its own. Engineers here rarely write a program from nothing. They configure the platform, write code in its own language where configuration falls short, and connect it to the company's other systems.

SAP engineers work on the system behind a company's finance, purchasing and stock (what the role is). ServiceNow engineers work on the system behind its internal service desk and staff requests (what the role is). Salesforce engineers work on the system behind its customers, sales and service teams (what the role is). With the whole map in view, a few pairs of roles still look alike from a distance.

Roles that are often confused

Machine learning, AI model training and GenAI all involve models, but the work differs in what each engineer starts with and what each one delivers.

A machine learning engineer starts with the company's own records and builds a model for one narrow question. The food delivery app's model that guesses how long an order will take learns from the app's past orders, and it answers that one question and nothing else. The engineer chooses what the model looks at, such as the distance, the time of day and how busy the kitchen is, trains it, checks that its guesses are good, and keeps it accurate as the city changes.

An AI model engineer works on the large, general models themselves, the kind that can read, write and answer almost any question. These models learn from huge amounts of text, images or speech, and training one keeps a large cluster of specialised chips busy for weeks. The engineer prepares that data, runs and tunes the training, adapts a model to a new language or field, and makes it fast and cheap enough to serve to many users at once. This work sits with the companies that have the data and the computing power to afford it.

A GenAI engineer trains no model at all. The GenAI engineer takes a large model that already exists, from a provider such as OpenAI or from an open source release, and builds a product around it, such as the food delivery app's support assistant. The work is mostly software engineering, connecting the model to the company's data, writing the instructions that steer it, and testing that its answers stay correct.

Put simply, the machine learning engineer builds a small model for one job, the AI model engineer builds the big general model, and the GenAI engineer builds a product on top of that big model.

Cloud and DevOps engineers and security software engineers both work on the platform. The cloud engineer builds it and keeps it running, and the security software engineer makes sure nobody can misuse it.

Firmware, systems and chip design all sit close to the hardware. A chip designer designs the chip. A firmware engineer writes the software inside one device built around that chip. A systems engineer writes the software that servers, networks and operating systems run on, across many machines rather than one device.

Frontend and full-stack engineers both build screens. A frontend engineer builds only the screens, while a full-stack engineer builds the screens and the services behind them.

Last updated October 2026.
Privacy Terms Refunds and cancellation Shipping and delivery © 2026 ingrid.fyi · Payments by Razorpay
You're browsing as a guest. Sign in free to follow links for five minutes, once an hour.