A plain-English guide to every programming language, framework, and tool that appears on a full-stack Java developer's résumé — written for recruiters, not engineers.
The big picture before diving into individual skills
Every full-stack Java app has these three layers. Each tab in this guide covers one area.
When a job req says "Full-Stack Java Developer," the company wants one person who can handle all three layers above. Java is the primary language used on the back-end. The developer typically uses JavaScript-based tools (React, Angular) on the front-end. A strong full-stack candidate should list skills in all three areas, plus DevOps/tooling knowledge.
The technologies that create what users see and click on in their browser
HTML uses "tags" (like <button> or <h1>) to label content. Every web developer must know HTML — it's the baseline of front-end work. It requires no special tooling and runs directly in any browser.
Every visual element you see on a website — margins, font sizes, the blue color of a link — is controlled by CSS. Look for it alongside HTML on any front-end résumé. "Responsive design" (adapting to phone screens) is done with CSS.
While HTML and CSS create the visual page, JavaScript responds to user actions — form submissions, dropdown menus, live search results, animations. It runs inside the browser, making it the world's most-used programming language. A front-end dev without JavaScript experience is incomplete.
TypeScript is increasingly expected on professional résumés alongside JavaScript. It was created by Microsoft and compiles down to plain JavaScript. Seeing TypeScript on a résumé signals the candidate works in a professional, large-scale codebase.
React is the most popular front-end library in the world and is the #1 pairing with Java back-ends. If a job req says "full-stack Java with React," the developer builds the Java server and also writes the browser UI in React. Look for React in almost every modern full-stack Java role.
Angular is especially popular in enterprise environments and large financial/insurance companies. It uses TypeScript by default. Many legacy Java enterprises run Angular on the front-end paired with Spring Boot on the back-end. A candidate listing both Angular and Spring Boot is a classic enterprise full-stack Java profile.
The server-side technologies that power the business logic and data processing
Java has been a top enterprise language for 25+ years. It powers the back-ends of LinkedIn, Netflix, Amazon, Uber, and thousands of banks and insurance companies. Java 17+ and Java 21 are the current LTS (Long-Term Support) versions — seeing these on a résumé means the candidate is up to date.
If Core Java appears on a résumé, Spring Boot almost certainly does too. Spring Boot 3+ (Java 17+) is current. It includes Spring Security (login/auth), Spring Data (database access), and Spring MVC (building APIs). This is the #1 most important back-end skill to spot on a Java full-stack résumé.
When a résumé says "REST API development" or "RESTful services," the candidate knows how to design these communication channels. REST uses HTTP actions (GET to read, POST to create, PUT to update, DELETE to remove). Every full-stack Java developer must know how to build REST APIs — it's the connective tissue of the entire app.
Almost every Spring Boot project uses JPA/Hibernate for database work. When you see "Spring Data JPA" on a résumé, it means the candidate uses this translated layer. Some senior developers prefer raw SQL (Stored Procedures, MyBatis) — both approaches are valid and signal different preferences.
Senior Java developers with 5+ years often list "microservices" or "Spring Cloud" on their résumés. This is a strong signal of enterprise-level experience. It's a more complex architecture — if a junior developer claims microservices, ask follow-up questions. Look for Docker and Kubernetes alongside it.
Every Java project uses either Maven or Gradle — they are non-negotiable. Maven has been the standard for decades; Gradle is newer and faster, favored by Google (Android). Seeing either on a résumé is expected; not seeing either on a Java résumé is a warning sign.
How applications store, retrieve, and manage data
SQL appears on virtually every full-stack Java résumé. Look for specific database names: MySQL, PostgreSQL, Oracle, SQL Server. These are all relational databases (data in tables with rows and columns, like a spreadsheet). MySQL and PostgreSQL are the most common in modern projects.
MongoDB is the most popular NoSQL database and increasingly appears alongside SQL on Java full-stack résumés. When a candidate lists both MySQL/PostgreSQL and MongoDB, they're demonstrating versatility — knowing when to use structured vs. flexible data storage. Spring Data MongoDB is the Java integration.
Redis on a Java résumé signals performance-conscious engineering. It's used for session management, leaderboards, caching API responses, and real-time features. Look for it on mid-to-senior level candidates working on high-traffic apps.
How developers test, package, deploy, and maintain applications
Git is non-negotiable on every developer résumé at every experience level. Candidates should know branching, merging, pull requests, and resolving merge conflicts. GitHub is the most common platform; GitLab and Bitbucket are alternatives used in enterprise settings.
Docker is now expected at mid-to-senior levels and even many junior full-stack roles. It's used in every DevOps/CI-CD pipeline. When paired with Kubernetes, it signals the candidate works with large-scale, cloud-native systems.
Kubernetes (abbreviated K8s) on a résumé signals senior-level, cloud-scale experience. It's typically paired with Docker and cloud platforms (AWS EKS, Google GKE, Azure AKS). Not expected at junior or mid-level unless specifically in a DevOps/Platform Engineering role.
Cloud experience is increasingly expected at mid-to-senior levels. AWS is the most common (32%+ market share). Key services to recognize: EC2 (virtual servers), S3 (file storage), RDS (managed databases), Lambda (serverless functions). An AWS certification on a résumé is a strong plus.
JUnit is the standard Java testing framework. Mockito is used to simulate ("mock") external dependencies so each component can be tested in isolation. Test coverage, TDD (Test-Driven Development), and testing experience signal code quality and professionalism. This is a strong differentiator for senior candidates.
Kafka on a résumé signals the candidate works with high-throughput, event-driven, or real-time systems. Common in fintech, e-commerce, and data engineering. It's an advanced skill — not expected on junior résumés but a major plus for senior back-end or distributed systems roles.
Jargon you'll encounter on résumés and job descriptions — decoded
| Term | Plain-English Meaning | When You See It |
|---|---|---|
| OOP / OOD | Object-Oriented Programming/Design — the foundational style of Java code | Core Java experience |
| API | The "waiter" between front-end and back-end; how services talk to each other | Any full-stack or back-end role |
| JVM | Java Virtual Machine — the engine that runs Java programs on any computer | Java performance conversations |
| CI/CD | Continuous Integration/Deployment — automatically testing & shipping code changes | DevOps maturity; mid/senior roles |
| ORM | Object-Relational Mapping — auto-translation between Java objects and database tables | Hibernate, JPA, Spring Data |
| MVC | Model-View-Controller — a popular way to organize web app code into three roles | Spring MVC, Angular |
| CRUD | Create, Read, Update, Delete — the four basic database operations every app needs | Any data-driven application |
| JWT | JSON Web Token — a secure digital "badge" used for logging users in without passwords each time | Authentication / Spring Security |
| LTS | Long-Term Support — a stable version of software maintained for years (e.g., Java 17, Java 21) | Signals candidate is using current, stable Java |
| DTO | Data Transfer Object — a simple container to carry data between layers of the app | Spring Boot API design |
| Agile / Scrum | A project management style where work is done in short 2-week sprints with daily standups | Team collaboration; almost universal |
| TDD | Test-Driven Development — writing tests before writing code; signals discipline and quality | Senior engineering culture |
| IaC | Infrastructure as Code — managing servers with code instead of manual setup (Terraform) | Senior DevOps / cloud-native roles |
| Monolith | A single large application (vs. microservices) — simpler but harder to scale | Architecture discussions |
| SOLID | 5 design principles for writing clean, maintainable OOP code — signals strong fundamentals | Senior or software architecture focus |
Qualifying questions by domain — with what strong, average, and weak answers sound like
📌 How to use this section
Each question below is designed to be asked conversationally — you don't need to understand the technology to evaluate the response quality. Focus on: specificity (do they give real names and versions?), tradeoff thinking (do they know pros/cons?), and depth under follow-up (do details hold up?). Vague answers to technical questions are a red flag regardless of résumé claims.
🚩 Universal Red Flags — Across All Domains