Amazon has a large number of internal systems. Here are ones worth knowing about as a software engineer and engineering manager.
When joining as a SDE (Software Development Engineer) or SDM (Software Development Manager), you will have to learn to use the custom Amazon stack, which is still surprisingly different from the stack AWS customers would use. Below are systems you'd likely come across.
Internal systems highly relevant for SDEs
Code: code search and VCS (Git).
Crux: Amazon’s code review system.
Brazil: Amazon’s build system. See a writeup of Brazil which although dated, is still relevant.
Sage: Amazon’s “internal Stack Overflow”.
Amazon internal wiki system: This has a few neat features, like making it very easy to embed graphs from AWS Cloudwatch or the prior system (PMET - Performance Metrics) on the page.
NAWS: Native AWS. The “modern” stack using current AWS.
MAWS: “Move to AWS” (old, legacy AWS systems).
- Many system are migrating off of this, especially on the Retail side.
- MAWS requires services to be spun up on EC2 machines via a system called Apollo, but this is basically obsolete with native AWS (for which you're expected to use Lambda, or ECS, or raw EC2 if absolutely necessary).
Isengard/Conduit - AWS Account management (all systems are isolated so that each region, service and stage has a unique AWS account.
“The fact it’s the internal service used to provision AWS accounts means that AWS engineers building AWS are insulated from the way that the rest of the world manages AWS accounts. They don’t have to deal in the same way with AWS Organizations or Landing Zones or Control Tower or AWS SSO. And that’s the crux of my beef with the service.”
Pipelines: CI/CD system with support for multi-stage deployments of up to 4 stages: beta, gamma, prod, local. An AWS engineer described it like this:
“Pipelines is one of the best examples of 'making easy things difficult to make hard things possible' at Amazon. Services deploying to 3-4 stages (beta, gamma, and prod across different locales) are probably going to be apathetic about pipelines. However, services like much of AWS with hundreds of deployable units in pipelines, are pleased with it.”
LPT: Live Pipeline Templates. Ruby libraries that generate CloudFormation or CodeDeploy templates, along with defining the pipeline, Isengard accounts and other scaffolding. Each service often has an LPT package to create the needed resources.
AWS CDK: there’s a push to use this instead of LPT, but as of early 2022 it’s still a less mature system to LPT. Most teams are moving and some teams say they are especially fond of the TypeScript support it offers.
2PR: second person approval system for sensitive operations like Isengard and SSH access to systems. Accessing systems without this required approval leads to a team ticket created automatically, which can escalate to management.
AWS Chime: used to be the chat and video calling application. Amazon now uses Slack for chat, but AWS Chime is still used for video calls, including interview calls.
Kingpin: goal tracking system for team, organization and Amazon-wide goals.
Accolades: a tool to give out kudos to employees with comments, with a way to easily “cc” in managers and others.
Connections: pre-installed on company laptops. It asks a simple question at the start of your day like "how do you feel about your manager" or "how much focus does your team have on Operational Excellence (OE)" and asks for a rating out of 5. Everyone across the company is asked the same question each day.
Forte: the Amazon-wide performance feedback process, running from late December until the end of January. Employees use the Forte tool to ask peers and people with whom they work for feedback. This is short, at 60 words or fewer.
Aggregated and anonymised results go up the chain to management, whose goal is to improve their connection scores over time. They are shared with the team and the team gives feedback that their manager acts upon.
The majority of services are written in Java. However, teams are autonomous and can choose whichever language and framework they want. While Java is dominant, there is a wide variety of other languages in use across services.
Want to know more about Amazon's engineering culture? This article is an excerpt from my article Inside Amazon's Engineering Culture. It's my longest article so far, containing more information on this topic than any one publication has attempted before. The article is available to subscribers of The Pragmatic Engineer Newsletter.
Featured Pragmatic Engineer Jobs
- Founding Engineer at Belfry. $140-180K + equity. New York City.
- Growth Engineer at Causal. Remote (Global)
- Founding Front End Software Enginee at Cradle. €75-160K + equity. Amsterdam, Delft, Zurich
- Senior Product Engineer at PartnerSlate. $100-180K + equity. Remote (Global)
- Site Reliability Engineer at Clarisights. €80-140K + equity. Remote (EU)
- Senior Software Engineer at Clarisights. €80-140K + equity. Remote (EU)
- Software Engineer - Product at loveholidays. £64-108K. London.
- Founding Engineer - Backend at Faliam. $150-200K + equity. US locations & Remote (US, Canada)
- Full-Stack Software Developer at Cutr. €70-120K + equity. Amsterdam, Remote (EU)
- Founding Backend Engineer at Flagright. €75-100K + equity. Berlin
- Founding Engineer at Mentava. $100-250K + equity. Remote (Global)
- Senior / Staff Software Engineer at Mainfold. Boston, MA
- Full-Stack Engineer at Bounce. €40-90K + equity. Lisbon, Remote (EU)
- Senior Software Engineer at Shogun. Remote (Canada, Global)
- Senior Backend Engineer at Gigs. €90-120K. London, Berlin, Remote (EU)
- Senior Frontend Engineer at Gigs. €70-110K. London, Berlin, Remote (EU)
- Engineering Manager, SRE and DevOps at Clipboard Health. Remote (Global).
- Backend Engineer at Paytient. $115-165K. Remote (US)
- Platform Engineer at Roar Studios. Remote (US).
- Head of Product Engineering at NearSt. £100-115K + equity. London.
- Software Engineer at CareerPlug. $130-155K. Remote (US, Canada).
- Full Stack Software Engineer at OpenTable. London.
- Senior Software Engineer at TwinWave Security. $150-200K. Remote (US).
- Principal Engineer at Clipboard Health. Remote (Global).
- Senior Java Engineer at Guestline. €60-84K. Remote (EU).
- Software Engineer - Backend at Bitrise. $100-240K + equity. Remote (US).
- Senior Software Engineer at Gruntwork. $170-203K. Remote (US, Canada, Global).