Software Engineer Resume Keywords
The 123 technical keywords FaangPrep's free resume check looks for, grouped by category, with every alternative spelling it accepts. Use them to check a resume against a real job posting, not to stuff a resume with words you have not used.
Check my resume freeHow keyword matching works
The check reads the job description, finds which of the terms below it names, and then looks for each of those terms in your resume. Your score is the share of the posting's technical keywords your resume already contains. Terms are matched as whole words, so "Java" does not count as "JavaScript", and every listed alias counts as the same skill: "K8s" counts as Kubernetes, "Postgres" as PostgreSQL.
It also lists words the posting repeats that are not in this vocabulary, such as a domain like "payments". Those are shown but never scored. It does not judge layout, wording or impact, and it cannot know how a particular company has configured its applicant tracking system.
Skills whose names are ordinary words
Some skills share their name with everyday English, so a plain match would count "go above and beyond" as the Go language. The check only counts their unambiguous forms, and writing those forms on your resume makes it clearer to any search:
- Go: write "Golang" or "Go language".
- REST: write "REST APIs", "REST API" or "RESTful".
- Express: write "Express.js".
- R: not matched; name the packages or the analysis you did with it.
All 123 keywords, by category
Languages (19)
| Keyword | Also matched as |
|---|---|
| JavaScript | js, es6 |
| TypeScript | ts |
| Python | — |
| Java | — |
| C++ | cpp |
| C# | csharp |
| Golang | go language |
| Rust | — |
| Kotlin | — |
| Swift | — |
| Ruby | — |
| PHP | — |
| Scala | — |
| SQL | — |
| Bash | shell scripting |
| Dart | — |
| Objective-C | — |
| Haskell | — |
| Elixir | — |
Front end (14)
| Keyword | Also matched as |
|---|---|
| React | react.js, reactjs |
| Next.js | nextjs |
| Angular | — |
| Vue | vue.js, vuejs |
| Svelte | — |
| Redux | — |
| HTML | html5 |
| CSS | css3 |
| Tailwind | tailwindcss |
| Webpack | — |
| Vite | — |
| React Native | — |
| Flutter | — |
| Accessibility | a11y, wcag |
Back end (16)
| Keyword | Also matched as |
|---|---|
| Node.js | nodejs |
| Express.js | expressjs |
| NestJS | — |
| Django | — |
| Flask | — |
| FastAPI | — |
| Spring Boot | spring framework |
| .NET | dotnet, asp.net |
| Ruby on Rails | rails |
| GraphQL | — |
| REST APIs | rest api, restful |
| gRPC | — |
| Microservices | microservice |
| WebSockets | websocket |
| API design | — |
| Event-driven | event driven |
Data (17)
| Keyword | Also matched as |
|---|---|
| PostgreSQL | postgres |
| MySQL | — |
| MongoDB | mongo |
| Redis | — |
| Cassandra | — |
| DynamoDB | — |
| Elasticsearch | — |
| Kafka | — |
| RabbitMQ | — |
| Spark | apache spark |
| Hadoop | — |
| Airflow | — |
| Snowflake | — |
| BigQuery | — |
| ETL | — |
| Data modeling | data modelling |
| NoSQL | — |
Cloud and infrastructure (18)
| Keyword | Also matched as |
|---|---|
| AWS | amazon web services |
| GCP | google cloud |
| Azure | — |
| Docker | — |
| Kubernetes | k8s |
| Terraform | — |
| Ansible | — |
| CI/CD | ci cd, continuous integration, continuous delivery |
| Jenkins | — |
| GitHub Actions | — |
| Linux | — |
| Serverless | lambda |
| Nginx | — |
| Observability | — |
| Prometheus | — |
| Grafana | — |
| Monitoring | — |
| Git | — |
Engineering practice (25)
| Keyword | Also matched as |
|---|---|
| System design | — |
| Distributed systems | distributed system |
| Scalability | scalable |
| Data structures | — |
| Algorithms | — |
| Object-oriented | oop, object oriented |
| Design patterns | — |
| Unit testing | unit tests |
| Integration testing | integration tests |
| Test-driven | tdd |
| Jest | — |
| Cypress | — |
| Playwright | — |
| Selenium | — |
| JUnit | — |
| pytest | — |
| Agile | — |
| Scrum | — |
| Code review | code reviews |
| Performance optimization | performance tuning |
| Caching | — |
| Concurrency | multithreading, multi-threading |
| Security | — |
| OAuth | — |
| Authentication | — |
AI and ML (10)
| Keyword | Also matched as |
|---|---|
| Machine learning | ml |
| Deep learning | — |
| TensorFlow | — |
| PyTorch | — |
| NLP | natural language processing |
| LLM | llms, large language models |
| Computer vision | — |
| Pandas | — |
| NumPy | — |
| scikit-learn | sklearn |
Mobile (4)
| Keyword | Also matched as |
|---|---|
| Android | — |
| iOS | — |
| SwiftUI | — |
| Jetpack Compose | — |
Using keywords honestly
Add a missing keyword only if you have used it. Put it where the work happened: an experience bullet that says what you built with it and what changed is stronger than the same word in a skills list. Use the posting's spelling, and add the common variant once.
EXAMPLE (FICTIONAL)
Before: Worked on deployment scripts and container setup.
After: Containerised six services with Docker and deployed them to Kubernetes (K8s) on AWS through a GitHub Actions CI/CD pipeline.
Questions
- What keywords should a software engineer resume include?
- The technical terms the job posting you are applying to names, and that you have actually used: languages, frameworks, databases, cloud tools and practices such as testing or system design. There is no universal list. Two backend roles can want different stacks, so start from the posting, not from a template.
- Will adding keywords get my resume past the ATS?
- Not on its own, and no tool can promise it. Applicant tracking systems are configured differently by each company, and a recruiter still reads the resume. What keywords do is make sure that when a recruiter searches the ATS for a skill you have, your resume contains the word they search for.
- Should I write "K8s" or "Kubernetes", "JS" or "JavaScript"?
- Use the posting’s own spelling first and add the common variant once, for example "Kubernetes (K8s)". Our checker treats the listed aliases as the same skill, but a recruiter’s ATS search may not.
- Where should keywords go on a resume?
- In a skills section for scanning, and in the experience bullets where you used them, with what you built and the result. A keyword that only appears in a skills list is weaker evidence than one tied to real work.
- How do I check my resume against a job description?
- Paste both into the free keyword check on the FaangPrep resume builder. It runs in your browser with no sign-up and lists which of the posting’s technical keywords your resume already has and which are missing.
Which of these does your resume miss?
Paste your resume and a job description. No sign-up, nothing uploaded.
