If you are reading this article, you most likely have a question about how to become a Java developer. Perhaps you’ve even decided to learn Java programming language, but don’t know where to start.
I also dare to suppose that many have asked themselves:
- Is it possible to learn Java in 1 year?
- What if I haven’t studied programming at university?
- I don’t even have a technical specialty. Can I?
- How much time will I have to spend on this activity?
- What will you have to learn? Where to start learning?
If you had at least one of these questions then you are in the right place now.
It’s no surprise that many people get lost at the very beginning, not knowing where to start as there are many languages, many programming books, various training courses, video courses, and even individual mentoring.
How to choose what is right for you and how to achieve results in a timely manner? Let’s talk about everything in turn.
Motivation To Become A Java Developer
Before embarking on a complicated activity that requires a lot of time and energy, you need to understand why you need it.
Each of us should answer three important questions for himself:
The most difficult question. It is at the heart of motivation. You need to clearly understand what your goal is and what you are aiming for. Money here should not be a key reason, but only an important addition.
If you like modern technologies, you like to create something, you can spend hours with your favorite activity, you are ready to do it for free and you have logical thinking, this is probably the right activity for you. You have to be able to get satisfaction from work. Only in this case, it is possible to achieve really good results.
It is quite a logical question. What you need to do to be successful in a given field. Here, too, the question may arise which language to choose and what materials will be needed to learn it.
How to achieve meaningful results in a timely manner.
If everyone has to answer the first question on their own, we can find the answer to the last two together.
Which Programming Language To Choose?
Suppose motivation is okay, and we can move on to the next question. Before choosing any programming language, you need to understand if there are any vacancies in the job market and if there will be any vacancies when you reach the basic level and start your job search.
The complexity of a programming language is also significant. The more complex a language is, the more time you will need to learn it. On the other hand, choosing what is easier does not always make sense, because the competition here may be higher than in other categories.
In order to determine the perspective of a language, it is necessary to analyze where it is used, how wide the area of its application is and how often new frameworks come out in the selected language. This is where the ranking of programming languages can help.
Most Popular Technologies In 2021
Examples of a large number of surveys can be found on the Internet. Here are just a few of them:
For example, according to the website tiobe.com , which regularly publishes rankings of programming languages, Java ranks in the top five along with C, С ++, and Python.
Now let’s look at the number of vacancies and candidate responses in different languages. In order not to translate for a long time, I will just provide a few links.
For example, Indeed.com regularly publishes statistics by vacancies, payouts, etc. For example, you can see interesting trends in the number of vacancies in different cities and in different languages.
Generally you have to choose one of the leading languages and then when you finish your studies you will have a good chance of finding a job.
In my humble opinion, Java is a good option to start your career. It is an easy-to-use language with a wide range of uses and a sufficient number of vacancies. The second half of our article will be about Java.
Java Programming Ecosystem Overview
To better understand what it takes to become a Java developer, we’ll do a brief overview of the Java ecosystem. Please see the next picture. Of course, it does not cover all aspects, but it does give some understanding.
Java itself is, of course, at the center of the universe. To be more precise, Java Core. At the time of writing this article, Java JDK 11 was released. Oracle changed the policy of working with Java versions and now there is no such huge difference between versions as it was when, for example, Java 8. This version remains the most popular and is often used in the vast majority of companies and projects.
You can confidently start learning the language from this version and acquire new elements, applying them to the knowledge of the basics. Studying this part is perhaps the most difficult task for a beginner.
You have to master a new type of activity and start thinking differently. In addition, there is also a large amount of information to be learned. Most of the beginners drop out at this stage.
Version Control Systems
If you are learning Java normally, you will need additional tools such as the Version Control System and project building system. As a VCS, I recommend using the Git system, which is the absolute leader among similar software.
All other systems like Subversion and Perforce are a thing of the past. In addition, you can use the Github or GitLab repositories for free to store your code. With great probability in your enterprise, you’ll be using Atlassian’s BitBucket. But it’s just a shell. If you learn to use Git, all the rest won’t matter. Atlassian is also a supplier of products such as Jira and Confluence, but in the learning phase, this is irrelevant to you.
Tools For Building Projects
As for project building tools, there are two variants: Maven and Gradle. In my subjective opinion, Maven is preferable, but other designers may have their own opinion. In fact, both frameworks are equivalent.
After familiarizing yourself with the above-mentioned things, it is worth considering which direction to take next. In the figure above, you can see the four basic directions: Front-End (HTML, CSS, JS), Back-End (Hibernate, Spring, SQL), Android, and Big Data.
Although these four parts are separated in the figure, they are actually very closely related. For example, if you have chosen to become a Full-Stack Java Designer then you will need to study the Back-End part well and understand the basics of the Front-End part. You shouldn’t expect web design from you, but you should be familiar with HTML.
I must also note that in the Back-End chapter under Spring, Spring Core is primarily meant. It is from this part of the framework that you must start. Now it is so powerful that it covers all aspects of Java design.
As for BigData, there is also a large selection of technologies here. Basically all of them are intended for distributed storage and processing of distributed data using the Map-Reduce method. The oldest and most famous technology here is Hadoop.
I think there is no need to explain what Android is. Let me just say that to design applications for this mobile platform, you will need to learn Java programming.
As you have noticed, there are quite a few areas of Java application, so in the near future, while learning Java, you will not be left without a job.
Where To Start? What To Read?
Of course, you have to start with the basics, i.e. Java Core . Then Maven, Git, and then the direction you prefer.
Here you have three options. We do not take into account the situation where you chose this specialization at the university. It does not exclude the options described below.
The First Option – Java Books
The oldest, traditional, and most proven method so far. Pros: Most of the books of famous publishers are written by professional authors, many of whom have many years of design and teaching experience at prestigious Western universities.
These books are also carefully checked by the publishers themselves, so the probability of errors is very small. Especially when the same book is republished as the language is updated.
After reading the basic books, move on to the more advanced ones. There are very few places where you can find advanced programming topics dealt with the same depth.
Cons: Many books are written in dry academic language and resemble a textbook. The famous author Cay Horstmann himself has repeatedly admitted that he does not read these books in full.
Best Java Books For Beginners
The most popular and best books for beginners are :
- Java The Complete Reference – Herbert Schildt. This book has been published many times and is perhaps the most comprehensive guide to Java. Besides the language itself, there are also well-explained basics of algorithms.
- Schildt, Herbert (Author)
- English (Publication Language)
- 1248 Pages - 12/10/2020 (Publication Date) - McGraw Hill (Publisher)
- Thinking in Java – Bruce Eckel – also won a place of honor in the programmers’ library. Accessible and understandable explanations. Good for beginners.
- Prentice Hall
- Eckel, Bruce (Author)
- English (Publication Language)
- 1520 Pages - 03/02/2006 (Publication Date) - Pearson (Publisher)
- Head First Java! – Kathy Sierra, Bert Bates – a book that has become popular due to its authors’ ability to explain complex concepts with simple real-life examples. Not too deep in content, but interesting nonetheless.
- Paw Prints 2008-05-29
- Sierra, Kathy (Author)
- English (Publication Language)
- 688 Pages - 05/29/2008 (Publication Date) - Paw Prints 2008-05-29 (Publisher)
- Core Java – Cay Horstmann. This book has long been on the shelves of many Java developers. It is precisely in this category of books, from which separate chapters for problem-solving are read, not the entire book.
- Cay S. Horstmann (Author)
- English (Publication Language)
- 832 Pages - 03/20/2020 (Publication Date) - Pearson Education (Publisher)
Option Two – Java Programming Video Courses
Video courses and all kinds of video tutorials are becoming more and more popular. The idea itself is very good and I like it personally. This type of educational material is most suitable for visual learners, the people who best understand visual information.
Additionally, you can also use pickup by ear. One of the advantages is the affordable price. In addition, you can find a huge number of free lessons on YouTube, some of which are very good.
Among the disadvantages of the lessons on YouTube, I should note the frequent fragmentation and unsystematic nature, as well as the fact that the material in them is presented in a rather superficial way. But even here, there are exceptions in the good sense.
An alternative to lessons on YouTube can be such sites:
O’Reilly – Huge collection of books, video tutorials, and webinars on a variety of topics. The quality of the materials is the main advantage. Books and video training are recorded by recognized specialists in the field.
The main disadvantage is the price. $ 400 / year if you pay immediately or $ 480 if you pay monthly. All materials are here in English.
Udemy – A large library of different courses. The pricing policy here is completely different from the previous stock. Here you can buy a course that will remain at your disposal forever. When choosing a course on Udemy, you need to pay attention to the number of hours of video lessons, sound quality (usually several lectures are available without registration), opinions of other listeners.
Option Three – Full-Time Traditional Courses
I guess this is the best training option that can lead you to your desired goal. The advantage is that a good teacher will help you understand things that you cannot understand yourself and will speed up the learning process a bit.
Here, as with video courses, you need to approach the selection carefully. As in other fields, demand creates supply, and it is quite possible that there will be many low-quality courses on the market.
There are various reasons for poor quality. Often the cause is in the teacher. In order to increase profits, training courses employ inexperienced teachers or attract a large number of students. The larger the group, the more diverse the level of students in the group will be. After all, the group is divided into stronger and weaker.
When choosing courses, pay attention to the opinions of people who have already completed them, how many people are in the group. An important indicator is the presence of input tests and the description of the minimum requirements.
Which Option To Choose?
Here everyone should find the optimal option for themselves. From our point of view, the best option is to combine to one degree or another all three options. If you decide to take programming courses, first of all, you need to understand whether programming at all suits you. If so, watch a few video lessons before you enroll in any courses.
How To Exercise?
The most important thing is practice. It involves not so much the ability to write code as the ability to do this properly. Many say you need to participate in an open-source project or write your own.
If you know nothing much more than how to write a Hello World program, no one will let you get involved in an open-source project. In these projects, the approach is very similar to the approach to working in companies.
There are tasks there, the implementation of each of which involves code inspection. The job of those in charge of the project is to fix errors, not to create new ones.
You need to start small. First, learn to write the programs you see in books or video lessons just to keep them running. Try to modify them a bit. Then go to the tasks in the same book. They will help you not only to learn to type programs quickly and correctly, but also to think differently.
The next step is to start writing your own little project. He has to solve a practical problem, even a very small one. In the learning process, you will learn new material, algorithms and design patterns. All of this should be used in your design. If you are unable to apply them here, start a new project.
At the same time, it is worth practicing tasks on portals such as hackerrank. You can not only practice writing code, but also understand the mechanics of the platform. More and more companies start the process of hiring colleagues with tasks on this portal and similar to it.
Own Repository On GitHub
At this point, it’s time to set up a repository on GitHub or GitLab. You should have some normal projects there that will be no shame to show the employer. Have some experienced friends do the code inspection. This is a good practice even for seasoned programmers and not just for beginners.
Parallel to setting up a repository, it’s time to compile a CV and start looking for jobs in companies. Don’t forget to include links to projects in your repository. Go through as many interviews as possible. The ability to undergo interviews is a very important skill, which is why all programming courses at IT Academy end with preparation for such interviews.
Finally, I wish you good luck. Remember, Facebook and Apple also used to be small businesses located in someone’s garage or dormitory. You just have to learn. It is not so important how many hours a day you study, but how many days in a row you do it. Consistency is the key to success. All the best for your future and happy learning from Codingcompiler.