Hello there, how is it going?
Welcome to scaleyourapp.com
This article is a comprehensive write up on How long does it take to learn Java & get a freaking job? I take into account several scenarios, & try to answer all your queries, for instance, how long will it take to learn it if you are learning to program from scratch. How long if you have knowledge of C++, PHP, Python or any other programming language already. Maybe you just want to learn it as a hobby, you might not be looking for a job. Maybe you have an app on mind which you want to develop using Java & just not sure if it is the right language for the task. Hmmm…
So, without any further ado.
Let’s get on with it.
Before we jump right into the specific scenarios, just a quick introduction with Java. It’s important, really.
1. What is Java Programming Language?
Java is a backend programming language, primarily used for writing server-side applications. Frameworks written on Java EE Enterprise edition, like Spring make it really easy to write web apps in Java, taking care of all the boilerplate code, configurations & stuff.
Besides writing server-side code, we can also develop standalone applications & mobile applications with it. It has a massive community & is adopted by the big guns in the industry. Big online platforms, be it e-commerce, FinTech or any other, run on Java.
I know this as I am a professional Java programmer, & I’ve written code for production systems receiving millions of hits every single day.
Now with this being sorted out. Let’s get on with the first scenario.
2. How Long Does It Take to Learn Java When I Am Starting from Scratch with No Programming Experience?
Java is an object-oriented programming language. The entire Java universe revolves around an object. So, there are two things. And P.S I am suggesting you a timeline, referring to which will help you develop a good concept on the programming language.
I don’t intend to rush you through it. And why should we? It’s not like there is an impending alien attack on our planet & we have to code a defence system in Java to help save the planet. Do we? 🙂
2.1 What Do I Need to Know Before Learning Java? Are There Any Prerequisites?
There are no prerequisites to learn Java. Even if you are beginning to program the first time in your life. You can pick Java as your first programming language. I’ve talked about how to go about it in the below paragraph. Knowledge of C++ or any other programming language is not required.
2.2 How Hard is Java Programming Language? Will I Be Able to Learn it?
Java is as easy or as hard as any other programming language. A programming language is just a syntax. The difficult part is applying the logic. And that is common to any programming language. The more you practice. The easier it gets.
Alright!! Now with these most commonly asked questions sorted out.
On our way to learning Java. First thing, we need to write some very basic programs, for instance adding two numbers, swapping values & stuff. This will help us get a hang of what programming is. Assuming you are willing to devote a couple of hours a day. I would say, one week or less is good to have a grip of if-else constructs, & the basic syntax of Java.
Once you know how to compile the code, by that I mean developing an understanding of what compilation errors are & how to get rid of them. You now know how to run a Java program & stuff. Time to advance to stage two, that is Object Oriented Concepts.
This includes things like understanding interfaces, what classes are? How to construct classes? Type safety, Casting, Exception Handling & everything.
Now since we have no idea of what object-oriented programming is. This will take a while to get your head around.
I would say 2 weeks putting in 2 to 4 hours a day.
So, it will be a month give or take. You would know what is Java. How things are. How to run programs. How to construct objects etc.
Now with the basics under your belt. Time to write some bigger programs & then move to projects. A calculator program would be best to start with.
This is just the start, you need to learn a lot more things to become a good developer. Like Design Patterns, Servlets JSPs & other things. But it would be too much for now, considering you are just a beginner.
What about the Job? How do I know I am ready to apply for a Job?
Yeah, I will talk about it up ahead in the article. But before that let’s take into account the other scenarios.
3. How Long Does It Take to Learn Java When I Already Know C, C++, PHP, Python or Any Other Programming Language?
Well, Kudos you are someone with experience in programming. So, we can skip the basics part.
3.1 If You Have Experience with C or A Programming Language Which Is Not Object Oriented
Experience with C means you are clear with the basics of programming but still we need to develop a concept in the object-oriented realm. If you are willing to invest 2 to 4 hours a day. Two weeks will suffice to be good with the basics of Object-Oriented programming.
3.2 If You Have Experience With PHP, Python, C++ or Any Other OOP Based Programming Language
With the programming basics & the OOP concepts under our belt. We need a weeks’ time to get the hang of the Java syntax. No more work should be put into it further.
4. What is the Best Way to Learn Java?
Once we are good with the basics. The best way to learn Java or any other programming language is, jump right into building stuff. Write programs, keep practising, then write bigger programs & then upgrade yourself to building projects.
The first program can be as easy as developing a calculator application. An app which adds, subtracts, multiplies numbers. Keep adding more features as you go.
I can’t think of any other better approach to learn Java. I have learned it this way in my journey to become a professional full-stack web developer. I am also OCJP Oracle Certified Java Programmer & OCJWCD Oracle Certified Java Web Component Developer.
5. What Can Java Do? What Is It Good For? What Applications Can I Build Using Java?
Java is the most ubiquitous programming language in the world of software development. Right from mobile apps to server-side apps like social networks. Everything can be written using Java.
Popular big data frameworks like Hadoop is written in Java. ElasticSearch the most used enterprise search framework in the industry is written in Java. Apache Foundation has over 200 projects written in Java which are adopted by the software industry. Pokemon Go is written in Java.
I wrote an online multiplayer business strategy game based on the game of cricket in Java. The game is built using Java, Spring Boot, Google App Engine & deployed on Google Cloud. Here is a screenshot of it.
Besides If you are still in doubt, if the application you have in mind could be built using it? Do let me know in the comments.
6. How Will I know If I Am Ready for A Job? When Should I Start Applying for Java Jobs?
After we are clear with the fundamentals, & have enough confidence that we will be able to tackle the interviewer’s questions, we can ideally start applying for jobs.
But I wouldn’t apply just yet. Why?
I would recommend, build a good project in Java before you apply. And a project can be anything from a calculator app with many features to a management system to a simple Tetris game.
Oh God… Why a project I am out of patience already. Isn’t investing a month reading Java enough?
Well I know, it’s hard to keep studying but hear me out. Why am I recommending a project, why is it important?
6.1 Why Building Java Projects Is Important?
Brood over the below points:
1. It Gives You Confidence Like No Other: When we write a project from scratch, from bare bones. We kinda really get a grasp of how things work. How the lego blocks fit together & turn out into a big functional working thing. Even if the interviewer tries to mess with you, tests your confidence in the fundamentals. You know your concepts pretty well because you have built something implementing those concepts. You are confident in what you are saying, you haven’t just read stuff from some book. You have actually built stuff.
2. Your Resume Gets Picked: Think of this from an interviewer’s perspective. You put out a job opening in the market. You are bombarded with tons of applications which claim they know Java. Some might even say they are an expert on the domain but don’t have anything to prove in their resume. Now you come across a resume which states a project written in Java entirely from scratch. Which one are you gonna pick for the interview?
3. Hands on Coding Experience: When you work on a project besides writing the core logic there are several other things like handling exceptions well, null checks, creating a good object design, writing fail-fast, fail-safe systems. You just cannot learn these things if you don’t write a project by yourself.
All in all, it doesn’t hurt building projects. The odds of getting a job spike by notches.
7. Does Doing Java Certifications Help? Are There Any Benefits of Being Java Certified?
Certifications are helpful in a new few ways. Like they give a subtle hint that you are serious about what you are doing. Certifications add value to your profile. It’s always better to have a few certifications in the initial phase of your career.
But again, think of certifications as badges. Don’t associate them with your salary. It’s not that if you have a certification you deserve a better package. Nah!! Things in the industry don’t work like this.
Skill & a hands-on coding experience have the top priority & are most sought after. Certifications won’t mean anything if you aren’t able to perform well in the interview.
But yeah certifications will give your resume an edge over the others. If you don’t wanna do them, don’t sweat over it. Just focus on the projects.
8. Which Certification Is Best for Java?
I cleared OCJP Oracle Certified Java Programmer & OCJWCD Oracle Certified Java Web Component Developer. The certifications awarded by Oracle hold value in the industry. A few of the organizations also reimburse the complete cost of the certification. Both of my certifications were reimbursed by my employer.
9. Which Programming Language Has Most Jobs?
If you are inclined towards fetching a job in the industry. I would say you should definitely learn Java. Majority of the popular online portals use Java in one way or the other. There is no scarcity of Java jobs, be it an Android Developer or a back-end dev. Also, availability of jobs makes it easier to switch & move places, we aren’t tied down to one organization.
In the 2018 StackOverflow developer survey, Java was above all of the backend programming languages be it Python or any other. Also, you’ll come across several folks who will be delighted to let you know that Java is a dying language. Don’t believe them. It’s been almost a decade I’ve been hearing this. Even today Java is still on. Amazon Web Services just released its own SDK for Java.
One more thing, I am talking in regards to getting a job. There are different technological solutions to different use cases. For instance, if you intend to write low-level code. You have to pick a low-level language like C. I’ll write a separate article on this. Different tech for different use cases.
More On the Blog
Guys, this was pretty much it. If you liked the article do lemme know in the comments.
If you any further doubts do lemme know in the comments. If it’s something which needs a bigger explanation I’ll write an article on it.
See you in the next article.
Until next time.
- Distributed Systems, Scalability & System Design #1 – Heroku Client Rate Throttling
- Zero to Software/Application Architect – Learning Track
- Java Full Stack Developer – The Complete Roadmap – Part 2 – Let’s Talk
- Java Full Stack Developer – The Complete Roadmap – Part 1 – Let’s Talk
- Best Handpicked Resources To Learn Software Architecture, Distributed Systems & System Design