FuturByte

Hire AWS developers

AWS is a very large catalogue of services, and hiring for it means finding someone who can choose the few you need and refuse the rest.

What AWS actually is

Amazon Web Services is the largest cloud platform, offering hundreds of services covering compute, storage, networking, databases, messaging, analytics and machine learning. Almost anything can be built on it, usually several different ways, and the differences between those ways are often commercially significant rather than merely technical.

That breadth is the reason AWS experience is hard to evaluate. Nobody knows all of it and nobody needs to. What matters is depth in the dozen or so services your workload actually touches, plus the judgement to know when a simpler option is sufficient. A candidate who has used forty services shallowly is usually a worse hire than one who has operated five properly, because the second has been on call for their decisions.

The commercial dimension is unavoidable and often underweighted. On AWS, architecture decisions are cost decisions. Data transfer between zones, the choice between provisioned and on-demand capacity, log retention, idle resources and the difference between a managed service and one you run yourself all show up on the bill. Engineers who cannot read a cost report are making financial decisions without seeing the consequences.

The part that separates seniors from mid-levels

Identity and access management is the foundation, and it is where the most serious mistakes happen. The permission model is genuinely complex, with policies attached at several levels that combine in ways that are not always obvious. The failure mode is universal: something does not work, a broad permission is granted to unblock it, and that permission stays forever. A candidate who can explain how they would debug a permission problem without widening access is telling you something important about how they work.

Networking is the second area and the one that separates application developers who use AWS from engineers who understand it. Virtual private clouds, subnets, routing, security groups and the various gateway types determine what can reach what. A great many availability and security incidents are network misconfigurations, and a great many surprising bills are data moving across a boundary that charges for it.

The third is what the platform does when something fails, because it will. Availability zones exist so that a failure in one does not take the system out, and that only works if the architecture actually spans them and the failure path has been tested. Engineers who have been through a real incident design differently: they set timeouts, assume retries, make operations idempotent and know what their system does when a dependency is slow rather than absent.

Where AWS is used

The label “AWS developer” covers several jobs that share a technology and little else. These are the settings the work usually turns up in, and the one you are hiring into should shape the whole process, because the judgement each demands is different.

Application hosting

Containers and serverless functions behind load balancers, the most common workload and the one most teams start with.

Data platforms

Storage, warehousing and processing pipelines, where the service choices have very large cost implications.

Regulated workloads

Financial, healthcare and government systems using the platform's compliance programmes and isolation controls.

Migration from on-premises

Moving existing systems into the cloud, which is as much an organisational project as a technical one.

Cost remediation

Reducing spend on an estate that grew without governance, a very common and well-defined engagement.

Event-driven systems

Queues, streams and functions reacting to events, where the platform's managed services do most of the work.

If a candidate's experience sits in a different row of that list from the work you have, that is not a reason to reject them, but it is the thing to probe. Ask what would be different about their approach in your setting. Someone who can answer that has transferable judgement. Someone who says it would be much the same has probably not thought about it.

Support status of the tools in this stack

AWS does not version the platform as a whole, so currency is judged by which services and patterns someone has used recently rather than by a release number.

AWS itself is not versioned as a single product, so the useful equivalent is the support status of the tools a AWS engineer works with daily. The table is read from public release data rather than written by hand, so it states what is supported now. It is worth having in front of you during an interview: asking which of these a candidate has upgraded, and what broke, gets you further than asking how many years they have used each.

Release and support status across the AWS toolchain
ToolLatest releaseRelease dateMaintained linesFurthest end-of-life date
Kubernetes1.37.12026-09-2342027-10-28
Hashicorp Terraform1.16.42026-09-23none publishednone published
PostgreSQL18.62026-08-1152030-11-14
Node.js26.10.02026-09-2262029-04-30
Python3.14.72026-08-0552030-10-31
Redis8.10.22026-09-1752030-09-01
Docker Engine29.8.12026-09-1512026-12-04

Source: endoflife.date public release data, read 2026-09-25. A tool with no published end-of-life dates sets its support boundary by ecosystem practice rather than by policy.

The practical use of this is in judging an estate rather than a person. A team running several of these past their support dates is usually not behind by accident; it is behind because upgrades were never anyone's job. That is worth knowing before you hire, because it tells you whether the first six months will be building new things or paying down what was deferred.

The toolchain around it

Nobody hires for AWS alone. The surrounding tools are where most of the day-to-day work happens, and a gap in any of them costs more time than a gap in the core library. This is the set that turns up most often on real job specifications alongside it.

IAM
Identity and permissions. The most important service to understand and the most commonly misconfigured.
VPC and networking
Subnets, routing and security groups. Determines reachability, isolation and a large part of the bill.
ECS, EKS or Lambda
Compute. Which one suits depends on the workload, the team and the operational appetite.
RDS or Aurora
Managed relational databases, usually the right default over running your own.
S3
Object storage, with lifecycle policies that materially affect cost at scale.
CloudWatch and OpenTelemetry
Metrics, logs and traces. Log retention settings are a common and avoidable expense.
Terraform or CDK
Infrastructure as code. Console-only changes are a serious operational risk.
Cost Explorer and budgets
Spend visibility, which should be an engineering tool rather than a finance one.

Related skills that frequently appear on the same specification: Node.js, Python, DevOps, Kubernetes, Terraform.

What to test in an interview

These are the topics that separate candidates in practice. Each one is given with why it discriminates, what a strong answer sounds like, and the response that should make you slow down. None of them requires a whiteboard.

IAM and least privilege

The single most consequential area, and where real security incidents originate.

Cost awareness

Architecture decisions are financial decisions on AWS.

Networking

Separates people who use AWS from people who understand it.

Choosing compute

Tests judgement rather than knowledge.

Infrastructure as code

Console-managed infrastructure is unreproducible and undocumented.

Failure behaviour

Reveals whether they have operated systems or only built them.

An AWS decision they regret

The most informative question in a cloud interview.

Warning signs in a AWS codebase

The fastest way to read a candidate is to ask what they have found wrong in code they inherited. These are the patterns that come up most often, what they cost, and what fixing them looks like. A developer who recognises three or four of these from their own experience is worth more than one who can recite the documentation.

Over-broad IAM permissions

Infrastructure created by hand

Unbounded log retention

Cross-zone chatter

Public subnets by default

Serverless as a universal answer

What each level can own

Job titles are not comparable between companies, so it is more useful to describe levels by what a person can be left to own without supervision. These are the boundaries we use when we assess a AWS engineer.

Junior
Deploys and operates within an established account structure. Needs review on permissions and cost implications.
Mid-level
Owns the infrastructure for a service including its code definition, monitoring and alerts. Understands networking and can debug access problems.
Senior
Owns architecture across services, the account and permission structure, the cost model and the failure design. Can justify service choices against alternatives.
Staff
Owns multi-account governance, the security baseline, the cost governance model, and the decision about which workloads belong on managed services at all.

How the work is usually scoped

Team shape follows the kind of work, not the headcount you happen to have budget for. These are the shapes that come up most often and the constraint that actually governs each one.

New environment build

Cost remediation

On-premises migration

Security and permission review

Infrastructure as code adoption

Migration work you may actually be hiring for

A large share of AWS work is not new development. It is moving an existing system from one state to another while it stays in service. These are the migrations that come up most often, and each one asks for a different kind of experience from the person you hire.

On-premises servers to AWS

Console-managed infrastructure to infrastructure as code

Self-managed databases on instances to a managed database service

A single account to a multi-account structure

Migration work rewards a different temperament from greenfield work. The useful question in an interview is not whether someone has done the specific migration you face, but whether they have ever run one incrementally: behind a flag, with both paths live, and with a way back. Developers who have only done big-bang cutovers tend to propose them again.

What a good brief for this role contains

Most of the time lost in hiring a AWS engineer is lost before anyone is interviewed, in the gap between what the brief says and what the team actually needs. These are the points that, for this technology specifically, change who the right candidate is. A brief that answers them can be matched in days. One that does not produces a shortlist that looks reasonable and converts badly.

If you cannot answer some of these yet, that is normal and it is still worth writing down which ones are open. An unknown that is named can be worked around. An unknown that is papered over in a job specification turns into a rejected shortlist and a restart four weeks later.

What the US market pays for this work

AWS work is counted by the US Bureau of Labor Statistics under Network and Computer Systems Administrators. That classification is broader than the technology itself, so treat the figures as the shape of the market a AWS engineer is hired into rather than as a rate card for the skill. Across the United States the Bureau counts 314,340 people in this occupation, with a median annual wage of $99,130.

US annual wages, Network and Computer Systems Administrators, May 2025
US annual wages, Network and Computer Systems Administrators, May 2025$99,130Median$62,640$155,05010th pct90th pctMiddle half $78K to $127K

The spread matters more than the midpoint. The 90th percentile is about 2.5 times the 10th, which is a wide band for a single occupation and tells you that the title on its own carries very little pricing information. Two people described as a AWS engineer can sit at $62,640 and $155,050 in the same national dataset. When a budget is set from a median without asking which end of that range the work actually needs, the hire that follows is usually the wrong one in one direction or the other.

Related classifications are worth reading alongside it, because teams hiring for AWS frequently end up recruiting against these titles too:

US national wages, May 2025
OccupationEmployed25th percentileMedian75th percentile90th percentile
Network and Computer Systems Administrators314,340$78,010$99,130$126,640$155,050
Computer Network Architects179,740$104,620$134,050$168,200$202,680
Software Developers1,687,890$105,210$135,980$171,980$214,670
Computer and Information Systems Managers670,570$138,060$175,140$220,730$297,510

Source: BLS Occupational Employment and Wage Statistics, May 2025. Figures cover all US employers and are not FuturByte rates.

These are employer-side wage figures for people on a US payroll. They exclude employer taxes, benefits, recruitment cost and the months a seat sits empty, all of which are real and none of which appear in a salary line. The useful way to read the table is as the cost of the alternative you are comparing against, not as a number to match.

How US metro markets compare for this role

The same job is priced very differently across the country. Ranked by median annual wage for Network and Computer Systems Administrators, the gap between the highest and lowest of the 28 metro areas covered here is a factor of about 1.7. San Jose sits at the top with a median of $133,360; Pittsburgh sits at the bottom with $80,440. A budget built from a national median will be wrong in both of those markets, in opposite directions.

Median wage for network and computer systems administrators, by US metro area
Median wage for network and computer systems administrators, by US metro areaSan Jose, CA: $133,360San Jose, CASan Jose, CA$133,360San Francisco, CA: $129,680San Francisco, CASan Francisco, CA$129,680Washington, D.C.: $125,430Washington, D.C.Washington, D.C.$125,430Baltimore, MD: $122,950Baltimore, MDBaltimore, MD$122,950New York, NY: $119,390New York, NYNew York, NY$119,390Boston, MA: $116,770Boston, MABoston, MA$116,770Los Angeles, CA: $106,290Los Angeles, CALos Angeles, CA$106,290San Diego, CA: $105,170San Diego, CASan Diego, CA$105,170Denver, CO: $105,090Denver, CODenver, CO$105,090Austin, TX: $104,520Austin, TXAustin, TX$104,520Seattle, WA: $104,440Seattle, WASeattle, WA$104,440Raleigh, NC: $103,380Raleigh, NCRaleigh, NC$103,380Dallas-Fort Worth, TX: $103,260Dallas-Fort Worth, TXDallas-Fort Worth, TX$103,260Chicago, IL: $103,170Chicago, ILChicago, IL$103,170Portland, OR: $102,950Portland, ORPortland, OR$102,950Minneapolis-St. Paul, MN: $102,790Minneapolis-St. Paul, MNMinneapolis-St. Paul, MN$102,790Tampa, FL: $101,560Tampa, FLTampa, FL$101,560Houston, TX: $101,430Houston, TXHouston, TX$101,430Atlanta, GA: $101,000Atlanta, GAAtlanta, GA$101,000Philadelphia, PA: $100,460Philadelphia, PAPhiladelphia, PA$100,460Salt Lake City, UT: $99,110Salt Lake City, UTSalt Lake City, UT$99,110Miami, FL: $97,180Miami, FLMiami, FL$97,180Detroit, MI: $96,400Detroit, MIDetroit, MI$96,400Phoenix, AZ: $93,730Phoenix, AZPhoenix, AZ$93,730Kansas City, MO: $91,980Kansas City, MOKansas City, MO$91,980Orlando, FL: $91,800Orlando, FLOrlando, FL$91,800Charlotte, NC: $89,990Charlotte, NCCharlotte, NC$89,990Pittsburgh, PA: $80,440Pittsburgh, PAPittsburgh, PA$80,440
Network and Computer Systems Administrators by metro area, May 2025, ranked by median wage
Metro areaEmployedMedian wagevs US medianLocation quotient
San Jose, CA2,460$133,360+35%1.07
San Francisco, CA3,910$129,680+31%0.81
Washington, D.C.9,920$125,430+27%1.57
Baltimore, MD4,620$122,950+24%1.69
New York, NY17,690$119,390+20%0.92
Boston, MA6,760$116,770+18%1.24
Los Angeles, CA8,770$106,290+7%0.69
San Diego, CA2,510$105,170+6%0.81
Denver, CO4,670$105,090+6%1.44
Austin, TX5,030$104,520+5%1.92
Seattle, WA5,530$104,440+5%1.31
Raleigh, NC2,730$103,380+4%1.82
Dallas-Fort Worth, TX11,740$103,260+4%1.43
Chicago, IL6,950$103,170+4%0.76
Portland, OR2,820$102,950+4%1.15
Minneapolis-St. Paul, MN3,200$102,790+4%0.81
Tampa, FL4,720$101,560+2%1.61
Houston, TX6,330$101,430+2%0.95
Atlanta, GA6,140$101,000+2%1.05
Philadelphia, PA4,050$100,460+1%0.69
Salt Lake City, UT1,130$99,1100%0.68
Miami, FL6,340$97,180-2%1.11
Detroit, MI3,010$96,400-3%0.78
Phoenix, AZ4,370$93,730-5%0.91
Kansas City, MO2,760$91,980-7%1.25
Orlando, FL4,260$91,800-7%1.49
Charlotte, NC4,180$89,990-9%1.52
Pittsburgh, PA1,570$80,440-19%0.70

Location quotient compares how concentrated this occupation is in the metro against the national average. A value above 1 means the metro has more of this work than its size would predict.

The location quotient column is the more useful one for hiring. A high median tells you what a role costs; a high quotient tells you whether the people exist. Washington, D.C., Baltimore, Austin, Raleigh, Tampa, Charlotte each have a quotient of 1.5 or above, meaning the work is concentrated there well beyond what the size of the local economy would predict. Those are the markets where a search is likely to be quick and competitive at the same time, and where a counter-offer is most likely to take a candidate off the table late in the process.

The opposite case is worth planning for too. In a metro with a low quotient, the total pool is small even when wages look reasonable, so the realistic options are to widen the search radius, accept a longer time to hire, or bring the capability in from outside the local market entirely. That last option is what most teams are weighing when they come to us.

Hiring risks worth naming

Every one of these has produced a bad hire somewhere. They are written down so that the process tests for them deliberately rather than discovering them in month three.

Breadth without depth. Ask what they have been on call for. Service count on a CV is close to meaningless.

No cost accountability. Ask what their last system cost to run. Architecture without cost awareness produces expensive surprises.

Console-driven habits. Ask how their infrastructure is defined. Manual estates are a serious operational liability.

No incident experience. Ask about a failure they handled. Design judgement comes from outages more than from documentation.

Hiring AWS developers by metro area

Wages for this occupation vary more between US metro areas than most budget models assume. Each page below sets out the published employment and wage figures for that market, how it compares with the national picture, and what the local industry mix means for the kind of AWS engineer who will be available.

Frequently asked questions

Do we need an AWS specialist or can our developers manage it?

Developers can deploy applications on AWS and frequently do. What usually goes wrong without a specialist is the surrounding structure: permissions, networking, account organisation and cost. Those are the things that are hard to retrofit and expensive to get wrong. A common and sensible arrangement is a specialist for a defined period to set the foundations, then developers working within them.

How do we control AWS costs?

Make spend visible to the engineers making architecture decisions, which is the step most organisations skip. After that the usual wins are unbounded log retention, idle and oversized resources, storage lifecycle policies, cross-zone data transfer and committed-use discounts on genuinely steady workloads. A focused cost review typically pays for itself quickly on any estate that grew without governance.

Should we use serverless or containers?

Functions suit spiky, event-driven work where you would otherwise pay for idle capacity. Containers suit sustained, predictable load and give you more control over runtime and dependencies. The mistake is choosing either universally. For a steady high-volume workload, functions are often more expensive and less predictable than equivalent container capacity, and the comparison should be made with real numbers.

Is AWS more expensive than running our own servers?

Sometimes, and the comparison is rarely made honestly. Cloud costs are visible and elastic; on-premises costs are lumpy and include staff, space, power, hardware refresh and the capacity you bought and did not use. AWS is usually better value for variable load and for teams that would otherwise carry operational burden, and worse for very steady, very predictable workloads at scale.

How do we avoid lock-in?

Partially, and at a cost. Using containers and open standards keeps portability higher; using deeply managed proprietary services gives more productivity and more lock-in. The honest position is that the productivity is usually worth it and the way to manage the risk is to know which services would be hard to leave and keep that list short and deliberate rather than accidental.

What certifications should we look for?

Certifications show familiarity with the catalogue and say nothing about judgement or operational experience. They are a reasonable filter at junior level and close to irrelevant at senior level. What actually predicts performance is what someone has been on call for and what they would do differently now.

How many AWS accounts should we have?

More than one. Separating production from non-production is the minimum, and separating by workload or team beyond that limits blast radius and makes cost attribution possible. Organisations that run everything in one account find that permissions become impossible to scope and nobody can tell which team is spending what.

What should we fix first on an estate nobody has governed?

In our experience, in this order: find and scope down over-broad permissions, put public resources behind private networking, set log retention, and get infrastructure into code. The first two are security, the third is usually the fastest cost win, and the fourth is what stops the estate drifting again.