From juniors to developers: get the first job
- Tutorial

Hello! Briefly about myself: I have been programming since 1989, since 2005 in Java, since 2013 I have been working as a Java trainer (until January of this year I combined it with the main work of a Java developer). Quite a lot of my graduates got a job, and I want to share my thoughts on how to get the job of a Java developer (and not just Java).
From learning Java to getting a job offer - a long distance
Requirements for candidates for a Java developer vacancy are quite high, see an example of a test assignment for a junior from one of the outsourcers of the Republic of Belarus . Of course, there are positions with lesser requirements, but there are not so many of them and, according to statistics in Ukraine (dou works through proxies, I did not find in Russia), the Response / Vacancy ratio for such positions is from 20 to 50.
For vacancies with experience ( of which there are much more) a vicious circle is obtained: without experience you cannot get work, and without work you cannot get experience. To the question "Who is to blame?" The answer is obvious - companies that do not want to invest time and money in training, but want to get a ready-made specialist. The main question remains:
What to do?
Large companies basically close junior positions with their interns . One employment option is to go on an internship, but
- there is also a big competition
- not everyone who successfully completed an internship gets a job
- sometimes the learning environment is quite difficult and not for everyone. From a review about an internship at EPAM RB:
Everything is so terribly strict there that I am still in shock. They have a strong selection there ... everything is evaluated, dz, tests, oral polls, and in the end the defense of your project. We are assigned tasks and deadlines. I didn’t have time to fill in the task - everything, goodbye ... I feel like at school ... Up to the point that we have a list of 200-230 questions on almost all topics that we should know without hesitation. We carry out summaries (!), A written answer to each question and this is checked ... Epam is training programmers) you can’t say otherwise.
The steps of the other option are familiar (an excellent video by Jacob Fein " How to become a professional Java developer "):
- Good resume
- Invitations for interviews and training in their passage
- Receive offer
A good (eye-catching) resume means that HR notices it and sends you an invitation to an interview.
On the Internet there are a large number of recommendations on how to achieve this:
- Choose a template for resume
- Junior's Perfect Resume
- How to sell your resume 2 times more expensive
- How to write a resume
- Summary of programmers. Part 1 (bad)
- Summary of programmers. Part 2 (good)
- How to write a resume in English
But, in my opinion, the main thing:
Position yourself NOT as a junior.
To do this, you must:
- A good understanding of the basics: how the memory works , what is JMM , experience with servlets, JUnit, SQL
- Up to Java Core: Maven, Spring (MVC, Security, Test), JPA (Hibernate), REST basics. JavaScript and HTML / CSS basics are also desirable.
There are a lot of materials on Java frameworks and technologies on the Internet. But if you want to master them, and not read / look and forget, you need to write your own pet project on them . This can be a project of a home library or bookkeeping, or feeding a cat, or ... Well, if there is a real need for it, then during its operation you will gradually come to optimal solutions.
It’s best to do it on the basis of a small project on a popular stack, such as the reference implementation of Spring Pet clinic. From the first time to make the code beautiful and correct, I didn’t even mess up the signor. The project should live and bring its owner the joy of familiarizing with the beauty of the code through refactoring. And, in addition to understanding technology and developing a sense of beauty, from working on your own project you get the skills to find beautiful and practical solutions for specific tasks and solve specific problems that make up the programmer’s daily work. To do this, you need:
- understanding how frameworks work, what are they based on, what patterns are used
- outlook, skills to solve such problems
- working with tools: Git, IDEA, Maven, Tomcat, DB client, testing REST services
- the ability to find the right solutions on the Internet (70-80% is the ability to choose from the one found in Stackoverflow )
This task is not easy and, if there is not enough knowledge, experience, time, I recommend to undergo some kind of Java Enterprise training on this stack, be sure to write a project based on the technologies passed at the exit. My training criteria:
- Leads a teacher with experience in Java development, better as a signor or architect
- Maximum coverage: the most important and necessary Java developer themes, APIs, frameworks, tools in one course.
- During the training, a completed Enterprise project is developed. The topics are not separately (in the air) on distant examples, but sequentially, in conjunction, as additions to creating a single working application.
- The sequential increase in complexity: from zero to deploy the finished application to the cloud
- Practice! Participants throughout the course must work with the project code. Compulsory homework. If they give only a theory (a bit of everything), then this, in my opinion, is wasted money and time. Without practice, any training (Java, English, cycling) is worthless.
- Support for the group and the teacher: the ability to ask any question and get a qualified answer.
- Availability and structured materials
- Review of your code.
- Help with resume writing and job placement. If you are guaranteed a 100% job placement at the end, do not believe it. Well said in the article about the work of the developer :
The work of a programmer is not so much a profession as a lifestyle. Studying at the university, self-education, hobbies and, importantly, passion are key components of success in this area.
After you have experience in your own Java Enterprise project,
Make a new resume:
A typical Java junior resume starts like this:
Start your career as a junior Java developer in a modern, promising company, so that in 3 years you will become a specialist ...
We train well ...
Experience: none
Passed courses ...
Necessary:
- remove the words "start a career", "junior" and "ready to learn"
- insert into the qualification all the technologies you have studied
- in experience write about participation in the project with its brief description
For example, EXPERIENCE:
Participation in the development of Spring / JPA Enterprise application with authorization and access rights based on roles on the Maven / Spring MVC / Security / REST (Jackson) / Java 8 Stream API stack:
- implementation of saving to Postgres and HSQLDB databases based on Spring JBDC, JPA (Hibernate) and Spring-Data-JPA
- implementation and testing of REST and AJAX controllers
- client implementation on Bootstrap (css / js), datatables, jQuery + plugins.
With such a resume, you can not be afraid to apply for vacancies with a requirement of 1-2 years of experience and, perhaps, you will go to the next level: “Invitations for interviews and training in their passage”, which already requires a separate article.
Thank you for your attention and wish you a great career in IT.