Java developer job description template

A job description for a fresher Java developer, with an intern version, screening questions on core Java and a clear line between what to require and what you can train.

In short

Expect a fresher Java developer to fix defects, write unit tests and add small REST endpoints in a service that a senior developer reviews. Ask for core Java (object-oriented design, collections, exceptions), SQL, Git and a project built with Maven or Gradle. Spring Boot and Hibernate help but can be taught, so list them as good to have.

Java developer job description template

Fill in your company details once and both versions below update: the full-time job for freshers and the internship. Copy the one you need into your job post.

Nothing you type leaves this browser.

1. Full-time Java developer (fresher)

Java developer (fresher)

Company: [Company name]
Location: [Location] · Work mode: [Work mode]
Employment type: Full-time
CTC: [CTC for the full-time role]
Joining: [Joining date] · Apply by: [Apply by]

About [Company name]

[About your company]

About the role

[Company name] has an opening for a fresher Java developer in the [Team] team. You will work on Java services that run core business functions, starting with defect fixes, small changes and tests, then moving to new endpoints as you learn the code base. A senior developer will review your work and explain our standards. We are looking for a graduate with solid Java fundamentals who wants to learn how business applications are built and kept reliable.

What you will do

  • Fix defects in existing Java services by reproducing them, reading the logs and tracing the code to the cause
  • Add or change REST endpoints across the controller, service and repository layers of a Spring Boot application, with review
  • Write JUnit and Mockito tests for the classes you change and keep the build green
  • Write and tune SQL queries, and read and write data through JPA, Hibernate or JDBC
  • Build, run and package the application with Maven or Gradle and sort out simple dependency problems
  • Follow the team’s coding standards, fix the issues raised by code quality tools and answer review comments
  • Handle exceptions properly and write log messages that let support staff trace a failure without asking you
  • Read older code that predates newer Java features before changing it, and ask when the reason for a design is unclear
  • Fix defects raised by the QA team and check them in the test environment before they go to release
  • Keep API documents and short design notes up to date after each change

What we are looking for

  • Core Java: classes and objects, inheritance, polymorphism, interfaces, abstract classes and encapsulation
  • Strings, wrapper classes and the Collections framework (List, Set and Map), with an idea of when to use each
  • Exception handling, including the difference between checked and unchecked exceptions
  • Awareness of threads and why shared data needs care
  • SQL on a relational database such as MySQL, PostgreSQL or Oracle, and basic JDBC
  • A Java project built in an IDE such as IntelliJ IDEA or Eclipse, with Maven or Gradle
  • Git basics, and the ability to read a stack trace and find the failing line

Good to have

  • Spring Boot basics: controller, service and repository classes
  • Hibernate or JPA mapping
  • JUnit and Mockito
  • Java 8 features such as lambdas, streams and Optional
  • Awareness of microservices or Docker
  • Servlets and JSP

Who can apply

Final-year students and graduates of B.E./B.Tech in computer science, IT or electronics fit well, as do MCA candidates and BCA or B.Sc (computer science or IT) candidates with strong Java fundamentals. If you run a training programme, you can also consider candidates from any engineering stream who pass your Java screening.

How to apply

Apply through this job post by [Apply by]. Shortlisted candidates will hear from us about the next steps.

2. Java developer internship

Java developer intern

Company: [Company name]
Location: [Location] · Work mode: [Work mode]
Employment type: Internship · Duration: [Internship duration]
Stipend: [Stipend for the internship]
Joining: [Joining date] · Apply by: [Apply by]

About [Company name]

[About your company]

About the role

[Company name] offers a Java internship for students who want to work on a real back-end code base. You will fix small defects, write unit tests and build a small module with a mentor, learn how a layered Java application is organised and present your work to the team. Strong interns can be considered for a PPO.

What you will do

  • Fix small, labelled defects chosen by your mentor
  • Write JUnit tests for existing classes and report the code paths you could not cover
  • Write SQL queries and test-data scripts for a feature in the test database
  • Build one small REST endpoint with guidance, from request handling to the database call
  • Read the logs of a failed run in the test environment and report what failed and why
  • Write a short note describing one module so the next intern can follow it

What we are looking for

  • Pursuing B.E., B.Tech, BCA or MCA with Java in the syllabus
  • Writes Java programs in an IDE using classes, interfaces and collections
  • Knows basic SQL queries
  • Has used Git or can learn it in the first week
  • Able to give the whole internship period, with exam dates shared early

Who can apply

Final-year students and graduates of B.E./B.Tech in computer science, IT or electronics fit well, as do MCA candidates and BCA or B.Sc (computer science or IT) candidates with strong Java fundamentals. If you run a training programme, you can also consider candidates from any engineering stream who pass your Java screening.

How to apply

Apply through this job post by [Apply by]. Shortlisted candidates will hear from us about the next steps.

Other titles for this role

Junior Java developer, Java developer trainee, Associate Java developer, Java backend developer (fresher), Software engineer (Java).

Screening questions to add to your job post

  1. Why are Strings immutable in Java, and what does that mean when you build a long string inside a loop? Tests core knowledge beyond syntax. Good answers mention safety and sharing of strings, and StringBuilder for repeated appends.
  2. What is the difference between == and equals() when you compare two Strings? Look for the difference between reference identity and string content, with a correct example. Let the candidate reason through the answer.
  3. When would you use an ArrayList, a HashMap and a HashSet in a project? Checks that the candidate picks a collection for a need (ordered list, lookup by key, unique values) and not by habit.
  4. What is the difference between a checked and an unchecked exception? Give one you handled. Tests exception handling in real code. Look for IOException or SQLException as checked, NullPointerException as unchecked, and what the candidate did about it.
  5. In your Spring Boot or Java project, which classes handle the request, the business logic and the database access? Shows whether the candidate sees the layers or has only copied annotations. If they have not used Spring, ask how they organised their own code.
  6. A NullPointerException appears in the logs. How do you find the cause? A good answer starts with the line in the stack trace, then asks which object was null and why. Random changes are a weak sign.

What to look for when you shortlist

  • Fundamentals explained in the candidate’s own words, with examples from their code, not memorised definitions
  • A Java project the candidate can run and explain, with clear classes and sensible error handling; database access, REST endpoints and tests are extra evidence where present
  • Understanding of what the framework does for them, instead of treating annotations as magic
  • Comfort with the IDE debugger and with stack traces
  • Honest gaps: ‘I have not used Hibernate’ is a better answer than a bluff
  • Small methods, sensible names and no copy-pasted blocks in the sample code

Mistakes to avoid in this job description

  • Asking a fresher for Java, Spring Boot, microservices, Kafka, Docker, Kubernetes and a cloud platform together. Keep core Java and SQL as must-haves, name Spring Boot as good to have and say you will train on the rest.
  • Leaving out the Java version and the age of the code base. A graduate trained on recent Java may meet older code on day one, so state the version and say if you maintain legacy code.
  • Mixing up ‘Java developer’ and ‘Java full stack developer’. If the browser side is part of the job, name Angular or React; otherwise say the role is back end only.
  • Using certifications as a filter. A certificate with no running project says little, so ask for a project and a short explanation of it instead.

Questions about hiring a Java developer

What should a fresher Java developer know?

Core Java with object-oriented design, collections, exceptions and strings; SQL with JDBC; a build tool such as Maven; Git; and the habit of reading stack traces. Spring Boot and Hibernate are common in projects but can be learnt on the job. Ask for one Java project with a database that the candidate can run for you.

Is Spring Boot compulsory for a fresher Java developer?

Not usually. Make it compulsory only if the fresher must use it from day one and you cannot offer training. Otherwise list it as good to have, say what support you give, and assess core Java, SQL and debugging. A small Spring Boot project is extra evidence, not an unstated eligibility rule.

What is the difference between a Java developer and a Java full stack developer?

A Java developer works mainly on the back end: services, business logic and databases. A Java full stack developer also builds the browser side, often with Angular or React. For freshers, choose the title that fits where most of the work lies, and name the front-end framework if the front end is part of the role.

Which Java version should I mention in the job description?

Name the version your production code runs on and say whether you maintain older code. Freshers usually learn on a recent release, so telling them early about older frameworks sets honest expectations. It also helps them prepare for the features they will actually use, such as streams and lambdas.

How do I assess Java skills without a long coding round?

Show a short class with a planted bug, such as comparing Strings with == or skipping a null check, and ask what it prints and how to fix it. Add a few spoken questions on collections and exceptions. This reveals reading ability and fundamentals, which a long puzzle round does not.

Post your Java developer job free

Paste this job description into a free LineupX job post, add your screening questions and share it with students across 100+ institutions and edtechs. No hidden charges, no limit on jobs.