Ideas Engineered for Tomorrow
We Engineer Services & Solutions for Your Business Needs
Consulting Services Hire Book Consulting

Hire DevOps Engineers in India

This page is about hiring a person, not buying a project. Before you hire DevOps engineers in India, work out which of the four jobs hiding behind that job title you are actually staffing, because getting that wrong is the failure we see more than any other.

Jump to Screening

One Title, Four Different Jobs

Nobody agrees what a DevOps engineer is. The phrase started life as a description of how teams should work together and ended up as a title on a requisition form, which means it now covers at least four separate trades with different daily habits, different failure modes, and different people doing them well.

Build and release engineering

This person owns everything between a developer pressing merge and the change being live. Pipeline definitions, build caching, artefact registries, versioning, environment promotion, database migrations, rollback. Their day goes on making a slow pipeline fast and a flaky pipeline trustworthy, which sounds unglamorous until you count what a twenty-minute build costs across forty engineers waiting on it.

You want this hire when the complaint in your retros is about shipping. Deploys happen on Thursday because nobody trusts Friday. The test suite fails at random and everyone just re-runs it. Nobody can say with confidence which commit is in production. There is a release checklist in a shared document and it has eleven manual steps in it. None of that is a cloud problem or a Kubernetes problem, and hiring a cluster specialist to fix it wastes both of you.

Platform engineering

A platform engineer builds the thing your developers use, and their success is measured by how rarely anyone has to ask them for help. Golden paths, service templates, a way to get a new service into staging without raising a ticket, sensible defaults for logging and metrics, documentation that is actually current. The customer here is another engineer, so product sense matters as much as infrastructure skill, and that combination is genuinely rare.

The signal that you need this role is drift between teams. Five services, five different ways of building a container image, five interpretations of what a health check should mean. Every new starter spends their first fortnight learning conventions that exist only in somebody's head. That is a platform problem, and pointing a cloud engineer at it produces more infrastructure rather than less confusion.

Cloud infrastructure engineering

Accounts, networks, identity, storage, DNS, cost. This is the person who decides how many cloud accounts you have and why, what your VPC and subnet layout looks like, how roles get granted, where state lives, and what happens when the monthly bill doubles. They spend their time in Terraform or OpenTofu, they read provider changelogs for fun, and they think in terms of what a mistake can reach.

Hire this role when the estate underneath is the problem. Everything runs in one account on one flat network. Nobody knows who created the load balancer that has been quietly billing since last year. There are identity users holding access keys older than the current CTO. Half the infrastructure was clicked into existence and is not described anywhere, so no environment can be rebuilt from a repository.

Site reliability engineering

An SRE treats reliability as a measured quantity rather than an aspiration. Service level objectives, error budgets, incident command, blameless review, and the uncomfortable conversation about whether this sprint goes to features or to stability. The practice came out of Google and it works best when you have enough traffic that the numbers mean something.

The tell for this hire is that you cannot answer simple questions. What was your availability last quarter? What counts as down? How long does an incident take to detect, as against how long it takes to fix? If nobody owns those numbers, an SRE is often worth more than another pair of hands on the infrastructure, because they change what the team argues about.

How to work out which one you need

Take your last five painful weeks and write down where the pain actually was. Not where you assume it was. If four of the five were release days, you have a build and release problem. If four were other teams sitting blocked waiting on you, you have a platform problem. If four were the cloud account behaving in ways nobody predicted, you have an infrastructure problem. And if you cannot categorise them at all because there is no record of what happened, that finding is itself the answer, and reliability is where to start.

In a company under about thirty engineers, one good generalist covers all four and it works fine. It stops working somewhere in the forties, and the symptom is always identical: the person hired to build the platform spends every day unblocking other people and never builds anything. If you recognise that, the fix is a second person and a written split of who owns what, not a more senior single hire.

One more honest note before you write a job description. If what you have is a bounded project rather than a continuous job, hiring is the wrong instrument entirely. We come back to that further down and it is worth reading first.

What Does a DevOps Engineer Actually Do All Week?

Job adverts describe this role in verbs: automate, optimise, streamline. Here is the shape of the actual work, which is more ordinary and far more interruptible than any advert admits.

The morning: whatever broke overnight

Failed jobs, a deploy that half finished, a queue backing up, an alert that fired at 04:00 and cleared itself. Triage first, then a decision about which of those is a real defect and which is noise that ought to be tuned away. The engineers worth keeping are the ones who close the loop on the noise rather than learning to ignore it.

Midday: unblocking humans

A developer whose local environment stopped matching staging. A QA lead who needs a seeded database. A new starter who cannot get credentials. This is genuinely part of the job, and it expands to fill the day if nobody guards it, which is why good ones turn the third identical request into a script or a page of documentation.

The build work nobody sees

A pipeline change, a Terraform module refactor, moving a secret out of an environment variable, adding a dashboard for a service that never had one. Small, cumulative, and the first thing dropped when the week gets busy. Teams that never protect this time end up with an estate only one person understands.

Upgrades on a calendar, not on a whim

Kubernetes has shipped three minor releases a year since 2021, each carrying roughly fourteen months of patch support, so a cluster left alone falls out of support inside two years. Base images, language runtimes, Terraform providers and CI runners all keep their own clocks. Someone owns that calendar, or you find out about it during an incident.

Cost, once a month at minimum

Reading the bill by service and by tag, finding the environment somebody spun up for a demo in March, checking whether the storage class still matches the access pattern. Nobody enjoys this and it is the easiest way for the hire to pay for itself without anyone having to write a business case.

Writing things down

Runbooks, decision records, incident timelines, a README that gets a new engineer to a running environment. This is the difference between a colleague and a dependency. If your DevOps engineer leaves and nobody else can operate the system, you did not hire an engineer, you rented a single point of failure.

Notice how little of that is writing new software. Perhaps a third of the week produces code, and a fair share of that code is glue. If you are hiring somebody who wants to build products, this role will disappoint them by month three, and you will have paid for the lesson.

How Do You Screen a DevOps Engineer in an Hour?

Do not ask what tools they know. Hand them a broken system and make them debug it out loud. You are not looking for the right answer, because you have deliberately not given them enough information to have one. You are watching how they narrow the space: what they ask first, what they rule out, and whether they reach for evidence or for a guess.

A pod has been stuck in Pending for ten minutes

The weak answer restarts it. The next weakest blames the image, which is wrong, because Pending means the pod has not been scheduled or bound yet and an image problem surfaces later as ContainerCreating or ImagePullBackOff. Somebody with real exposure goes to the scheduler events and reads them, then works through the short list of reasons a scheduler declines: no node carrying enough allocatable memory or CPU, a taint that nothing on offer tolerates, a selector or affinity rule matching nothing, a PersistentVolumeClaim that never bound because there is no volume in that availability zone, or a topology spread constraint nothing can satisfy.

The detail that tells you somebody has operated a real cluster is the case where there is no pod at all. A namespace quota rejects the object at admission, so the failure shows on the ReplicaSet rather than anywhere you would think to look. Listen too for whether they mention the autoscaler, and whether they know it can decline to add a node because of an instance limit rather than because of anything to do with the pod. Anyone who gets through that in five minutes with structure has answered your Kubernetes questions and you can move on.

The pipeline that got slower every month

Frame it plainly. Eighteen months ago the build took six minutes. It now takes thirty-one, nobody changed anything deliberately, and the team has stopped noticing. How would they find out where the time went?

The instinct you want is measurement before theory. Break the build into stages and time each one across the last hundred runs rather than the last one, because a single run tells you nothing about variance. Common findings, roughly in the order they turn up: a cache key that stopped matching so the dependency install went cold, a test suite that grew for two years without ever being parallelised, image layers ordered so a one-line source change invalidates everything after it, runners contended at exactly the times everybody merges, and a step pulling from a registry with rate limits that quietly retries. A candidate who only says add more runners is treating a symptom, and has told you they have never had to defend the bill afterwards.

terraform plan shows changes nobody made

My favourite question in the set, because it separates people who use Terraform from people who understand what it is doing. Drift means reality and recorded state no longer agree, and the useful first move is working out which side moved.

Good answers separate the causes rather than lumping them together. Somebody changed a resource in the console, which happens most often during an incident and is not automatically wrong. A provider version changed and now reports a field it used to ignore, or defaults it differently. The cloud service set something server side, with tags applied by an organisation policy being the classic. Or the resource was never properly managed here at all and two configurations are quietly fighting over it. Then ask what they would do next, and listen for reading the plan output carefully, checking the provider changelog, and reaching for targeted imports or moved blocks rather than the answer that destroys and recreates a database to make the plan look clean. Ask them as well what they made of the licence change HashiCorp announced in August 2023 and the OpenTofu fork that followed. It is not a trick. It tells you whether they follow the ecosystem they work in.

You are paged at 03:00 for disk pressure on a node

Ask what they do in the first two minutes, then separate that from what they do the next morning. In the first two minutes the aim is stopping the bleeding without destroying the evidence, so you want to hear about finding what is consuming space before anything gets deleted. Logs that never rotated. Image layers accumulating because nothing prunes them. A core dump directory. A database temp file left by a query that went wrong. An application writing to a path that was never meant to persist.

The second half of the answer matters more. A senior engineer treats the page as evidence that monitoring failed, not as evidence that a disk filled. Disk usage grows predictably, so an alert should have fired on the trend days earlier, at a threshold that gave somebody a working day to react. A candidate satisfied with having cleared the disk and gone back to bed will be clearing that disk again next month.

A certificate expired in production on a Sunday

Everyone has lived this one, which is why it works. Let us Encrypt issues certificates with a ninety day lifetime, so the renewal cadence is short by design and automation is not optional. The interesting part is why the automation did not work, and the honest answers are specific. Renewal ran but the reload did not, so the process is still holding the old certificate in memory. It renewed on one node and not the other. The challenge failed silently for weeks because a DNS record moved. An intermediate changed and the chain the server now sends is incomplete, which some clients tolerate and others reject outright.

Push once more and ask how they would prove the fix. You want inspection of the chain a server actually presents rather than the file sitting on disk, a check from outside your own network, and an alert on days remaining rather than on the renewal job failing. Anyone who says the word monitoring without naming a threshold has not done this.

What you are actually listening for

Across all five, depth shows in the narrowing, not in the naming. Do they ask what changed recently before they theorise? Do they distinguish out loud between what they know and what they are assuming? Do they say at what point they would stop debugging and roll back? Are they comfortable saying they do not know, and then describing how they would find out? A candidate who produces a confident answer to every question with no uncertainty anywhere has generally read about these problems rather than had them.

The Tool List Trap

A CV lands listing Docker, Kubernetes, Terraform, Ansible, Puppet, Chef, Jenkins, GitLab CI, GitHub Actions, ArgoCD, Prometheus, Grafana, Datadog, ELK, Kafka, Vault, Consul, Istio, AWS, Azure and GCP. Twenty one tools. It reads like capability and it usually means the opposite.

Think about what knowing one of those properly involves. Not running the quickstart, but having upgraded it, misconfigured it under load, read its source when the documentation was wrong, and formed an opinion about where it should not be used. That is months per tool, and nobody has done it twenty one times. So the list is telling you one of two things. Either the person touched most of them once and wrote them all down anyway, or they are a genuine specialist in three and padded the rest because everybody else does.

The padding is not really dishonesty. Automated CV screening rewards keyword coverage, so candidates optimise for the filter, and the filter is yours. Which means the fix is on your side of the table.

Pick two entries and go deep

Choose one tool that matters to you and one that looks like padding. For each, ask three things: what did you use it for, what was it wrong for, and what would you do differently now. Real exposure produces a specific complaint. Tutorial exposure produces the vendor summary read back to you.

Ask what they removed

Anybody who has run infrastructure for a few years has deleted something they once installed. A service mesh that added latency and debugging cost for benefits nobody was using. A monitoring agent costing more than the service it watched. One story of a deliberate removal is worth three adoption stories.

Make them choose between two things

Ansible or a golden image. Helm or Kustomize. A managed database or one you run yourself. Push-based deployment or GitOps reconciliation. There is no correct answer, which is the point. You are checking whether they can hold two trade-offs at once, or whether they know only the one they were taught.

Ask what they would not automate

A thoughtful engineer has a list. Anything run twice a year, where the automation rots between uses. Destructive operations, where a human confirmation is the safety feature. Anything whose failure mode is silent. Somebody who wants to automate everything has not yet been burned by automation that ran when it should not have.

A practical note on your shortlist. If a CV is honest enough to name five tools and mean them, that is a positive signal, and most screening processes punish it. Read the short lists first.

Linux and Networking Are What Actually Separate Seniority Here

Tooling knowledge dates. The layer underneath does not, and it is where the difficult incidents live, because every abstraction you run eventually leaks onto it. If I had twenty minutes with a candidate and nothing else, this is the section I would protect.

DNS, which is the answer more often than anyone expects

Ask somebody to walk you through what happens between an application calling a hostname and a connection opening. You are listening for resolver configuration, the search domain list, the difference between a cached answer and a fresh one, and what a negative answer does. In a Kubernetes context, the specific worth hearing is the ndots setting in the generated resolv.conf, which is why a lookup for an external hostname can fire several failed queries against internal search domains before the real one succeeds. That one detail has explained more mysterious latency than any profiler I have watched anyone run.

The other DNS answer that marks experience is the incident where the record was correct and the problem was cache. A short time to live is what makes a failover possible, and nobody thinks about it until the day they need to move traffic and discover the value is 86400.

TLS, beyond knowing it means encrypted

The useful questions here are about the chain. Which certificate does the server send, in what order, and does it include the intermediate? Why does one client accept a connection another rejects? What does the Server Name Indication field do when several sites share an address, and what breaks when it is absent? TLS 1.3 was published as RFC 8446 in 2018 and cut the handshake to a single round trip, which matters when your traffic crosses oceans. Anyone who can talk about handshake cost and session resumption has thought about performance, not just about the padlock in the address bar.

Certificate rotation belongs here too, and it joins up with the Sunday outage question above. Knowing how to inspect what a live endpoint presents, rather than what is written on disk, is a small skill that rescues entire evenings.

Routing and the path a packet takes

Connectivity failures divide neatly once you know where to look. Is it name resolution, routing, a filter, or the application refusing the connection? Each leaves a different signature, and somebody who knows the difference between a connection refused, a connection timed out and a connection reset is already ahead of the field. Ask about MTU while you are there. Overlay networking adds header overhead, with VXLAN encapsulation costing fifty bytes a packet, and a mismatched MTU produces the nastiest class of bug there is: small requests work perfectly, large ones hang, and everybody blames the application.

Two more separate people who have run busy systems from people who have not. Ephemeral port exhaustion, where a service making many short outbound connections runs out of source ports and everything fails at once. And connection tracking tables filling on a gateway, which drops packets and writes a log line most people have never read. Neither is exotic. Both are invisible if you have only ever worked above the load balancer.

systemd, because processes still have to be supervised

Containers did not remove the need for this. Ask what happens when a service configured to restart always crashes repeatedly, and whether they know about the start rate limiting that eventually gives up trying. Ask where the logs went and how they would query them for a specific time window. Ask about ordering and dependency directives, and what a unit does when the machine is short of memory. Deeply unfashionable knowledge, and it surfaces on your worst day.

File descriptors and the wall you hit at scale

Every socket, every open file, every pipe consumes a descriptor, and there is a ceiling. When you reach it the error surfaces as something unhelpful in an application log and the service starts refusing connections while looking perfectly healthy on CPU and memory. So ask what they would check when a process refuses new connections but is not busy. You want counting the open descriptors for that process, comparing against the applicable limit, and knowing that the limit configured in a systemd unit is what actually governs the service rather than whatever an interactive shell reports.

The follow-up is the one that matters: is the limit too low, or is something leaking? Raising a limit on a leak buys you a few hours and a worse outage later. A senior answer says that unprompted.

cgroups, and why the container was killed

Memory limits are enforced by the kernel, and when a container exceeds its limit the kernel kills a process inside it. The application log usually shows nothing at all, because the process never got the chance to write anything. Ask how they would confirm that is what happened rather than assuming it. Ask about the difference between a limit and a request, and what oversubscription does to a node when several workloads decide to grow at the same time.

Current distributions including Ubuntu 22.04 and RHEL 9 default to cgroup v2, which reorganised how controllers are arranged and how memory pressure is reported. Somebody who knows there are two versions and can say why the difference matters has been close to the kernel side of container behaviour. Somebody who thinks a memory limit is a suggestion has not.

The Security Work That Lands on This Person

Whether or not it appears in the job description, three security responsibilities end up with whoever owns the infrastructure. If you do not name them, they get done badly or not at all.

Secrets

Start from where your secrets actually are, because the answer is rarely the one on the architecture diagram. In most teams that grew quickly, credentials live in several places at once: a secret manager for the newest services, environment variables in a CI configuration for the older ones, a .env file on somebody's laptop, and at least one API key sitting in a repository that nobody has rotated since the day it was committed.

The work is consolidation, then rotation, then taking the human out of the path. A secret a developer can read is a secret that has been copied. What good looks like: workloads receive credentials at runtime from a broker they authenticate to with their own identity, database credentials are short lived and issued on demand, and the CI system exchanges an OIDC token for a cloud role rather than storing a permanent access key anywhere. That last change alone deletes a whole category of breach, and it is the single highest-value thing a competent engineer does in their first month on a neglected estate.

Ask a candidate what they would do about a key already committed to git history. The answer has to include rotating it, because scrubbing it from history does not un-leak it. Anyone whose first instinct is a history rewrite has the priorities backwards.

Identity and least privilege that survives contact with reality

Least privilege is easy to say and unpleasant to implement, because the honest version starts by admitting nobody knows which permissions each service actually uses. The path that works is empirical. Grant a broad role, record what it uses over a few weeks, narrow to that, then keep watching. The path that fails is writing a tight policy from imagination, watching production break, and granting a wildcard to make it stop.

Specifics worth probing. Are humans holding long-lived access keys, or federating from your identity provider into short-lived sessions? Is there a permission boundary stopping a role from granting itself more? Are production and non-production separated by account rather than by naming convention, so a mistake in staging cannot reach live data? On instances, is the metadata service configured to require a session token, closing the path where a server-side request forgery bug becomes stolen cloud credentials? None of these are exotic. They are what an auditor will ask you next year.

Root access and billing stay with you. That is not a comment on anybody offshore, it is the rule you should apply to every engineer including your own employees. What the person needs is a named identity, scoped, revocable in a single action, with everything they do landing in an audit log that belongs to you.

The supply chain, which is now everybody's problem

Your production system runs code you did not write and mostly did not choose. Base images pull packages from distribution mirrors. Application dependencies pull transitive dependencies several levels deep. CI pipelines execute third-party actions that have access to your build environment. Every one of those is a path in.

Two incidents made this concrete for everyone. Log4Shell in December 2021 forced thousands of teams to answer a question they could not answer, which was simply where is this library running. The xz-utils backdoor found in early 2024 was worse in character, because it was a deliberate and patient compromise of a maintainer position in a package almost nobody thinks about.

What a good engineer puts in place afterwards is unglamorous. A pinned, curated set of base images rebuilt on a schedule rather than pulled fresh and hoped over. A generated inventory of what is inside each artefact, so the next Log4Shell question takes an afternoon rather than a fortnight. Signing and verification of build outputs so that what runs is what was built, with sigstore tooling being the common route. Third-party CI actions pinned to a commit rather than to a moving tag. And a scanner whose findings somebody triages, because a scanner nobody reads is worse than none at all, having produced a compliance artefact and no security.

One caution. Frameworks like SLSA describe supply chain integrity levels usefully and adopting practices from them is sensible. Do not let anybody tell you a level has been achieved as though it were a certificate. Where regulation applies to your sector, that is a conversation for your counsel and your auditor rather than for an infrastructure vendor.

On-Call, and the One Genuine Advantage of an India Team

Most offshore pages either avoid the timezone question or dress it up. Here is the arithmetic, then the part that is honestly good, then what it costs.

The arithmetic, done properly

India runs on IST, which is UTC+5:30, and there is no daylight saving, so the offset never moves. Take the Indian working day most teams run, 09:30 through 18:30 IST. In UTC that is 04:00 to 13:00, and it stays those same nine hours every day of the year. Everything below follows from that one line.

Your location The Indian day in your local time Overlap with a 09:00 to 17:00 local day
London (GMT / BST) 04:00 to 13:00 in winter, 05:00 to 14:00 in summer Four hours in winter, five in summer. Comfortable, with nobody shifting anything.
Sydney (AEST / AEDT) 14:00 to 23:00, or 15:00 to 24:00 under daylight saving Three hours in winter, two in summer, all of it your afternoon.
New York (EST) 23:00 the previous night through to 08:00 Zero. The Indian day finishes an hour before yours begins.
New York (EDT) 00:00 through to 09:00 Zero in practice. The Indian day ends at the moment yours starts.
San Francisco (PST / PDT) 20:00 the previous night to 05:00, or 21:00 to 06:00 Zero, in both halves of the year.

Read those last three rows slowly, because they are the ones vendors skip past. On standard hours, both American coasts get no overlap at all with a normal Indian day. Not a little. None. Anybody telling you otherwise is either shifting somebody's schedule without mentioning it to you, or counting a five-minute boundary as collaboration.

So a US engagement means an Indian working day that begins in the afternoon. Three hours of live overlap with a New York morning puts the engineer at their desk until around 21:30 IST. That is a real evening belonging to a real person, and it holds up only when it is agreed openly and staffed as the norm, rather than discovered as a surprise in week six. Arrangements people never consented to do not last, and the way they end is a resignation rather than a complaint.

Where the offset genuinely pays

Now the good part, and it is specific to infrastructure work rather than a general offshore benefit. Incidents ignore office hours, and the shift nobody wants is the overnight one.

Work it through. A US Eastern night of 22:00 to 06:00 is 03:00 to 11:00 UTC, which is 08:30 to 16:30 IST. A US Pacific night of 22:00 to 06:00 is 06:00 to 14:00 UTC, which is 11:30 to 19:30 IST. Your most dreaded shift is, seen from India, an ordinary working day. The person picking up that page is awake, at a desk, with the runbook open and a colleague two seats away to argue with. Set that against the same page waking somebody at home at 3am, alone, thirty seconds away from a decision about your production database.

That is a structural advantage and it is the honest reason to consider an Indian team for operations specifically. It is not a slogan, it is the clock.

What a real rotation costs, stated plainly

Here is the part that does not appear on sales pages. Covering the American night from India does not give you round-the-clock cover. It covers one window well. Somebody still has to hold the Indian night, and that is another person, not a bonus.

A rotation that survives needs enough people that no individual is permanently on. One person carrying every page has no holiday, no sick day and no evening, and the reliable outcome is that they resign inside a year and take the only copy of how the system works with them. Two is the floor. Three is where it stops being punishing. Genuine cover around the clock is headcount you are buying. It is perfectly fair to want it, and it belongs in your plan as a cost rather than as something the timezone hands you free.

What makes rotation gaps hard to solve is timing. You notice one because somebody is already carrying too much, so the need is urgent by definition, and recruiting into it in your own market puts a start date months out. We keep engineers on the bench rather than beginning a search when a brief arrives, which is what makes matching within 48 hours and a start inside 7 days achievable. That is the specific reason to talk to us about a rotation gap. It does not alter the arithmetic above, and it does not make the second person free.

There is a second cost that is easy to miss. Handover between windows only works when it is written. A rotation with no written handover produces the same incident investigated twice by two people who never spoke, which is worse than having no rotation. Who is on the rota, what the handover format is, and where escalation goes are agreed with you before anybody carries a pager, and written down rather than assumed.

What to settle before anyone gets production access

Independent of timezone, decide these in advance and put them in writing with us. Which environments the engineer can reach and by what route. Whether access is standing or requested per task. Where the log of their activity goes and who reviews it. What device and network policy applies. What happens to access on the day the engagement ends. Who your named escalation contact is, and who theirs is. None of it is unusual, and every hour spent on it before day one is an hour you do not spend arguing during an incident.

How Deep Does This Hire Need to Be?

Years of experience is a weak signal here, because a person can spend six years applying changes that a template generated for them. A better measure is how much you would let this person change while nobody is watching.

Junior

Follows a runbook accurately and says so when the runbook stops matching reality. Reads a pipeline definition and changes a step in it. Opens a Terraform pull request that somebody else reviews before it is applied. Does not hold production credentials alone. Genuinely valuable on a team with more toil than hands, and a poor idea as your only infrastructure person, because the failures you are exposed to are exactly the ones needing judgement.

Mid

Owns a slice end to end. Builds and maintains pipelines for a set of services, writes Terraform modules other people use, debugs most incidents alone and knows which ones to escalate. Usually still growing into the networking and identity layers. This is the level where somebody has written a policy that turned out too permissive and has since understood why that mattered.

Senior

Can be handed an estate they have never seen and produce a defensible assessment inside a week, with the risks ordered by consequence rather than by how easy they are to fix. Owns the upgrade calendar, the identity model, the release process and the alerting strategy. Debugs across layers instead of handing the ticket back. Says no to work that would add fragility, and explains why in language a product manager accepts. Most teams need this level and try to economise on it.

Staff or principal

Decides the shape rather than the implementation. Whether you should be running your own cluster at all. Where the line falls between what a platform hands you and what each product team has to run itself. What the standards are and who is permitted to break them. You need this far less often than the people selling it imply. When you do, a handful of hours a week moves more than a full-time hire at any other level.

The staffing mistake we watch teams make most often is swapping one senior for two mid-level engineers because the headcount arithmetic looks kinder. For infrastructure that usually backfires. Two people who both need their work reviewed do not add up to one person capable of reviewing it, and the review was the part you were buying.

Four Situations Where Teams Come to Us

These are patterns rather than accounts of particular clients, composites drawn from the briefs that reach us most often. If one of them describes your week, the recommended first move is in the last line.

The only person who understood it has resigned

A Series A company where one engineer built everything and has now left. Infrastructure is partly in Terraform and partly clicked into a console. Two deploy scripts exist and only one of them is used. Nobody knows which alerts matter, so the channel is muted. The instinct is to hire a senior replacement this month, and the better first step is an assessment: get the estate written down and the highest-consequence risks ranked before you draft a job description, because the description you would write today is wrong. Then hire against what you found.

Kubernetes arrived and nobody can operate it

A consultancy migrated the workloads, the migration succeeded, and the team was handed a cluster they cannot run. Certificates renewing on a schedule nobody tracks, an upgrade already overdue, and every incident escalating to the one backend developer who read the most documentation. What is needed here is not a generalist. It is somebody who has operated clusters through upgrades and can transfer that knowledge across, and if you would rather buy the capability than build it, our Kubernetes services in India cover exactly that shape of work.

Shipping has become the bottleneck

Forty engineers, a build taking half an hour, a release process with manual steps and a shared spreadsheet, and a deploy window on Tuesdays because Fridays frighten everybody. Nothing is on fire and everything is slow. This is build and release engineering rather than cloud infrastructure, and picking the wrong one of those two costs you a quarter. The measurable outcome is time from merge to production, and it is worth writing that number down before anybody starts so you can prove afterwards that the hire worked.

A customer security questionnaire has arrived with a deadline

An enterprise prospect sends a security review, and the questions about access control, audit logging, secret handling and change management have no good answers today. There is a real deadline with a real deal behind it. Be careful what you promise here: the work itself is genuine infrastructure engineering, while the compliance position is a matter for your counsel and your auditor. What an engineer can do is close the actual gaps, get changes flowing through a reviewed pipeline, and produce evidence that the controls exist and operate.

Should You Hire the Person, or Buy the Outcome?

This whole page argues for hiring, so it is worth being straight about when hiring is the wrong instrument. The test is simple. Does the work have an end?

Standing up a pipeline, laying out a cloud account structure properly, migrating workloads onto a cluster, defining a first set of service level objectives. Those are projects. They finish. Hiring a permanent person to complete a three-month project leaves you with a person, a finished project, and no obvious next one, and the usual result is that they spend the following year maintaining what they built while quietly getting bored. Carrying a pager, guarding a release process, keeping the upgrade calendar, absorbing the daily interruptions from other engineers. Those never finish, and that is what a hire is for.

Where the work is bounded, buying the outcome is cleaner, and we run those as separate service engagements:

A common and sensible sequence is to buy the project first, then hire the person who will run what it produced. Doing it in that order means the job description you write describes a system that exists rather than one you are imagining. If you are still working out which roles your team needs overall, the broader hire developers in India page sets out how the engagements differ from each other.

How Hiring a DevOps Engineer in India Works With Us

We keep engineers on the bench instead of recruiting against each brief, so the shortlist reaches you within 48 hours of the first conversation and a start inside 7 days is realistic. Here is what happens in between.

Tell us which of the four jobs it is

If you are not sure, describe your last five painful weeks and we will work it out together. This conversation decides whether the hire succeeds, and it is worth an hour of your time before anything else happens.

Agree the working hours before anyone is proposed

Overlap window, whether on-call is in scope, and what handover looks like. Settling this first means candidates get screened against a schedule they have actually accepted rather than one they discover later.

Run your own technical conversation

Use the debugging scenarios above, or bring a real incident from your own history and ask them to work through it out loud. You should be satisfied on depth yourself rather than taking anybody's word for it.

Start read-only, then take the pager

The first week is reading the estate, reproducing environments and writing down what surprised them. Production access and pager duty follow once you have both read that assessment and agreed what it means.

Flag a bad match and someone else is in front of you inside 48 hours, and the seat is filled from our bench of engineers rather than by whichever single name we happened to send first.

Frequently Asked Questions

What is the difference between a DevOps engineer, a platform engineer and an SRE?

The difference is what the person is answerable for. A build and release engineer answers for the path from a commit to production. A platform engineer answers for the internal tooling other developers use. A cloud infrastructure engineer answers for the accounts, networks and identity underneath. An SRE answers for reliability as a measured number, with service level objectives and error budgets. Most adverts say DevOps engineer and mean one of those four.

How much overlap will I actually get with a DevOps engineer in India?

IST is UTC+5:30 and never shifts for daylight saving, so an Indian day of 09:30 to 18:30 always lands on 04:00 to 13:00 UTC. London gets four to five hours of that. Sydney gets two to three in its afternoon. New York and San Francisco get none on standard hours, so a US engagement needs a deliberately shifted Indian schedule that both sides agree in writing before anyone starts.

Every CV on my shortlist lists twenty tools. How do I tell them apart?

Stop reading the list and pick two entries from it. Ask what the tool was wrong for, what the person changed after using it in anger, and what they would not use it for again. Someone with real exposure has an opinion and a scar. Someone who followed a tutorial gives you the marketing summary back. Two tools examined properly tell you more than twenty names scanned.

Do I need to hire a DevOps engineer, or do I need Kubernetes work done?

If the work has an end, buy the outcome rather than the headcount. A cluster to stand up, a pipeline to rebuild, a Terraform layout to untangle: those are projects, and hiring a permanent person to do a three-month job leaves you with a person and no next job. Hire when the work is continuous, when someone has to carry the pager, and when the knowledge needs to stay in the building.

Can one DevOps engineer cover on-call for a production system?

Not sustainably. One person carrying every page has no holiday, no sick day and no evening off, and the usual outcome is that they leave within a year and take the only copy of how things work with them. Two is the realistic floor for a rotation that survives, and three is where it stops being punishing. Follow-the-sun cover is headcount you are buying, not a bonus that comes free with the timezone.

What Linux depth should I insist on for a senior DevOps hire?

Enough to debug without the abstraction. They should be able to explain a DNS resolution path including search domains, read a certificate chain and say why a client rejected it, describe what a systemd unit does on repeated crash, recognise the symptoms of file descriptor exhaustion, and say how cgroup v2 accounts for memory. That set separates people who operate systems from people who operate dashboards.

Who holds the cloud root credentials once we hire someone offshore?

You do. Root and billing stay with you, and the engineer gets a named identity in your identity provider with a scoped role, federated into the cloud account rather than a long-lived access key. Everything they use should be revocable by you in one action. Device policy, network access, log retention and the exact permission boundary are agreed with you before work starts and written down rather than assumed.

Not Sure Which of the Four You Need?

Describe your last five painful weeks and we will tell you which role fixes them, including when the honest answer is that you should not be hiring at all.