I’ve taught so many groups and have yet to see a student who came to learn Java just for fun. Every single one of them wanted to become a professional developer and earn a living. And isn’t it what we’re learning new skills for — to get a job?
Employment is the natural progression from learning a programming language, but what I’ve come to realize is that getting a job after graduating is a righteous mess. Most companies want developers with some working experience and if you don’t have any, at all, you’ll most likely be offered an unpaid internship that definitely won’t sort out your bills.
So what do you do, if you want to become a Java programmer? After all, it is a well-paid job even for Junior developers with an average of almost $70K per year according to Indeed.
As reported by the US Labor Statistics Bureau, the software development job market is estimated to grow by 21% by 2028. You bet it’s going to project to the rest of the world.
Java isn’t the go-to language for creating games, like C++, or machine learning algorithms, like Python, but it is widely used in coding services and platforms for real-world application. It’s used in Amazon and Facebook, you can find yourself applying Java skills to healthcare systems and financial platforms that will benefit ordinary people.
In most case scenarios, you’ll have to get through two or more rounds of interviews in a single company before you can land a job. Even startups hire recruiters to help them find specialists so your first encounter with a company will be through one of them.
Recruiters are mostly interested in your motivation, ambitions, and if you’d fit with other team members. So expect the standard questions like why we should hire you and what do you see yourself in five years. Sometimes they give a technical assignment that will later be assessed by another developer.
A word of advice to you: if you didn’t get past the first round, that company wasn’t for you.
If you did pass, you will get a technical interview where you can show your prowess in Java. For a developer with limited experience, they will most likely focus on your basic Java knowledge and problem-solving skills. Let’s go over a few topics you’re likely to get questions in.
What do you need installed on your computer to start coding in Java? — The development kit and virtual machine. You might get asked to tell what you need to install first or step-by-step how you do that. You might also get trick questions like:
Can you use the JVM on any platform? — Java is cross-platform and you need a JVM to run an app, so of course, it does.
You’re probably using a code editor as well, so don’t forget to mention that. Personally, I like using IntelliJ IDEA. It’s convenient and has all the needed features for coding, such as smart completion, code analysis, and detection of duplicates.
It’s rare that you’ll join the project from the very beginning and the company would want to see How will you approach an already existing project?
Usually, you’ll get to code a part of the project or certain functionality, but you need to understand the whole thing, its idea, goals, and how it should operate. What the company is looking for here is your ability to read someone else’s code, adapt to their style, how fast you can get up speed, and if you are going to ask for help from other team members. Which you certainly should.
Another common question relating to your possible work on a project is What are your actions when you’re running behind schedule? It’s not about how well you can break it in for your team lead or client that you will miss the deadline, but how well you can prioritize. For example, you can identify the features that hit the minimum viable product mark and focus on those first.
How do you organize your code? — that’s the question when you can bring up your portfolio. Companies look for specialists who can write readable code (understandable for other team members) and know the best practices for organizing and commenting on it.
Here’s why I preach that you should do more practice than reading. It’s a sure way to build yourself up to a personal portfolio — when you don’t have job experience, a portfolio will speak for your skills.
When declaring a class, what method will you use? — prepare to answer questions like on an exam. You need to show that you understand the basic concepts and can use them.
OOP, objects, collection, how to declare a method and even the basic structure of a Java program can be a question on an interview with a beginner, so you might want to review some theory or play a coding game before your meeting. Which brings us to the next question:
Although the competition is quite high among beginners, you’ll still find companies that look for budding developers with no job experience and great potential. The thing is, some need specialists with minimal experience so they can mold you into the professional they need. Someone who doesn’t yet have a unique style or behavior that is hard to break. Still, you need sufficient knowledge and skills:
- Basic Java Syntax. It’s an obvious one, but when applying for a job, your knowledge of it should be impeccable: properly declared objects and no missed brackets.
- Understanding the difference between types of objects. For example, how do abstract classes differ from interfaces; which modifiers are public and which ones are private?
- Coding practices: How to organize your code into packages or how to write a unit test?
- Core concepts: OOP and its principles, String, Collection, Multithreading, handling exceptions, loops and data types.
- JAR library: what it is, how it is used, and how to reference it in your code.
- Design patterns: MVC, Facade, DAO For web and enterprise development, additionally, you will need to learn:
- The basics of working with SQL databases
- HTTP protocol
- The basics of HTML and CSS
- XML and web services
- How to use a logging framework
My best advice would be to run through a game-based beginner course when you start looking for a job. It’s less stressful and more fun than re-reading your Java for Dummies just before an interview. A lot of text will make a mess in your brain.
CodeGym is a game-based Java course for beginners that also has a section on interviews and a community of peers to back you up. Its main focus is on practice so you get hands-on experience in solving problems and not just looking at examples. CodeGym is also a fun way to review Java basics while preparing for interviews.
Javarevisited — This educational platform offers a unique approach to learning Java. It’s more like a mixture of theory and practice. There are tons of useful tutorials on one hand and practical tasks on the other hand. You read the theory and then apply it.
Codementor — a platform where you find, as the name suggests, a mentor in coding. It’s handy if you need more one-on-one communication with an experienced developer.
300 Java interview questions on JavaPoint — a resource for learning different languages that also has a section to prepare you for interview questions, from language-specific ones to general HR questionnaires, including some big companies such as IBM and Adobe. It also compares questions for different languages.
Charisma on Command — a YouTube channel with tutorials on how to make a good impression and make people like you, including the interviewer, and many conversation tips for introverts.
Getting a job as a Junior Java Developer can be tough. Competition is tough and most companies look for a specialist with some level of experience, but you play your cards right, you land your first job with some confidence and enthusiasm.
Show them that you understand programming, that you can learn fast, work on your first impressions and you’re good to go.