In this text I will tell you what exactly I read, watched and listened to on the topic of programming in the Java language, having zero knowledge at the start: which courses, sources and resources are worthy of attention, and which can be discarded. How I spent a very modest amount on good books and really useful videos on the net.
This material is not about motivation, you should have it exclusively of your own. It is also not about personal experience: how I decided to change my life and become a mobile app developer after working in a retail store (who cares about that, except myself?).
This is a subjective opinion, like any monologue. I look forward to seeing examples of your experience in the comments.
I am attracted by mobile development, I see prospects for myself in it. Java is a high-level language that implements basic programming concepts such as OOP. After learning Java, I can move on towards Android development: for example, taking up the Kotlin language. Either go towards cross-platform development: learning Dart + Flutter, or Kotlin Multiplatform. Maybe I’ll take Swift for iOS. Perhaps I will try myself in server-side development, or in programming “smart” devices.
Let’s see, time will tell. But first you need basic knowledge. Understand “what is all this for?” – important. I study technologies with the specific purpose of their future applications. Java is fine.
How to choose books
For a long time I have given preference to foreign authors: what is in special, what is in fiction. My actions when choosing Java books were as follows:
- Open a list of books in any large bookstore or marketplace. In my case, it was Ozone.
- Download from the net all the books from the list that can be found. I would like to say that only “introductory fragments”, but this was not the case.
- Scroll through all downloaded books, select only those that captivated and delayed. Choose the best two or three of them.
- Buy these books officially, preferably in paper form. Delete the archive with pirated copies (honestly, I did so).
Here’s what I chose, and I was not mistaken (hereinafter – links are not referral):
- Java. A beginner’s guide. Modern methods of creating, compiling and executing Java programs (Herbert Schildt).
- Learning Java (Bert Bates, Katie Sierra).
These are very different books in terms of presentation. Schildt gives fundamental knowledge in a classic “linear” style: academic and sometimes dry. Learning Java is a holiday book with fun pictures, infographics, bouncing fonts, and a stream of visual storytelling. I read both books in parallel, they complement each other. Repeating familiar material from one book while discovering new details from another author has proven extremely useful.
How to read? Thoughtfully, slowly, repeating each chapter (and even paragraphs) until you have a complete reading comprehension. If there are code examples: study until every line is remembered. The speed of reading is not equal to the speed of comprehension of the material. It is better to learn one page a day and understand it thoroughly than to fly through a chapter in an hour, leaving the wind in your head.
It is also helpful to mark key points with a pencil. If you return to a text you have already read in order to remember something – this is definitely a key fragment, circle it.
Courses in Russian
I did not plan to support domestic monsters with the ruble, but nothing prevents me from looking at the menu. Why didn’t I end up using one of those tempting GeekBrains or Skillbox promotions? Because I don’t believe it. It is also too expensive. And in most cases it is ineffective.
The course from Yandex.Practicum looked stylish, fashionable and youthful. With beautiful pictures and an informal presentation style: short text lectures and an exercise machine. You can go through the basic introductory part for free, you will be offered to buy a continuation.
It seemed to me that the presentation of the material is too superficial, and the actual practice (paradox) is just not enough. After a couple of hours of training, the text lectures got to the complex topic of classes and methods – much prematurely.
In addition, I found a syntax error in the code in one of the chapters, which I wrote about in the tech support chat. The error was immediately corrected, and the typo that followed it was not, the type of the variable remained “deadline”. This approach to proofreading articles is alarming.
In Javarush like Ya.Praktikum service, but the quality of materials is better, which is evident even in the evaluation and also a free course.
This is all the same informal style behind which the fundamental approach tries to hide – fortunately, not always successfully: through jokes with jokes, knowledge will certainly get to you. The training is built in the form of a game: with quests and achievements. The site is focused only on Java, there is a forum, chats, a full-fledged community that will help you with tasks and problems.
The introductory course was enough for me, I also managed to get a beta version of a professional full-fledged program: while it is being tested, it is available for free.
As an additional simulator and a way to offload the cleverness of Schildt’s book, Javarush did a great job and cleared up some knowledge gaps. Thank you, but I won’t buy a monthly subscription yet. This is due to the following service, namely …
JetBrains came up with the Kotlin programming language, but is mostly known for its great IDEs. Among them is IntelliJ IDEA , with the free Community Edition. The development environment is great for Java, and with the Edu Tools plugin from the same JetBrains it allows you to connect the editor and training service created by the company – Hyperskill .
The service is paid, a trial period of only seven days is available. But if you stubbornly study, the trial period is extended: first for a month for the first completed stage of the project, then for another month for a fully completed project.
I got on the action from JetBrains, they gave three more months of training, if you solve just one problem every day for the whole month. Unfortunately, for family reasons, I had to miss a few days and the bonus disappeared, but the fact itself is important: the company is really interested in training you and has both a knowledge base and tools for this.
Fragments of theory are given for each project, followed by practice: a dozen compulsory practical tasks and as many optional ones. Everything is arranged in such a way that you start writing code from the first minutes of training. On some tasks, you have to seriously break your head already at the initial stage – the community will help here, with a system of prompts and discussion threads.
The company has not given any certificates yet. Subscription prices, I must admit, bite. But even they are several times cheaper than those of the above-mentioned GeekBrains and others like them. Another possible disadvantage of Hyperskill is that it is completely in English. I advise you to consider this as a plus: understanding the basic concepts of Java in the original turned out to be not only a challenge, but also a wonderful experience that will definitely come in handy.
I will definitely take a paid subscription, while I do without it – I have “made it” for a trial for two months in advance.
The very idea (intelligent?) Of learning to code from video caused an inner protest in me. I watched trial webinars and videos on three major Western platforms: Coursera , Stepik, and Udemy . He threw away the Russian-speaking lecturers at once: over and over again they muttered something on the screen, it was difficult to figure it out, questions arose about the qualifications of the authors. Perhaps I was just unlucky.
By putting the filter in English, the world of commercial video courses opened up, where everything is extremely tough. Each author praises his course, fortunately, almost everyone can be evaluated by the first free videos.
I settled on the Udemy service for several reasons:
- Prices. Please note: the screenshot shows huge discounts. This is not an ad-hoc discount – Udemy is constantly giving up to 90% off no matter what time I visit. I don’t think I’m just lucky.
- Quality. Having chosen 3 courses, I have bought one so far. He’s big and cool. And there is also a pleasant lecturer who literally chews everything up on the shelves. Here he is .
- Strategy. It is convenient for me to see the learning tree. Planning what I read in books before and after watching a few videos. And what exercises will I do on the Hyperskill on the same day.
All this does not mean that you should be limited to just one Udemy. On the same Stepik, there are many Russian-language courses: if you can find a diamond among a ton of diamonds, write in the comments.
And finally, a little story. As an answer to this material .
The purchase of my first Java book coincided with significant events in my life. I quit my job, sold my apartment and bought another. In anticipation of the move, my wife and I rent an apartment while the new one is being renovated.
Everything in a rented hut is uncomfortable: a crooked wobbling table, dim light, stuffiness from a small window. I put Schildt’s book aside for a long time and did not open my laptop: come on, I’ll move and there I’ll begin to study properly. After all, comfort is important, but for now you can play toys on your phone.
The day came when my wife asked why I was not studying anything, because I finally have everything for this. I began to absurdly excuse myself: I was uncomfortable, I needed a table, a chair, a lamp.
My wife interrupted me and said sharply: “If you want to study, you should not care what conditions you will do it. Don’t waste your precious time. Get busy. Every day is important. Here is a normal table and light. Others do not have this either. You will start to study and you will stop noticing everything around you except your Java ”.
What am I doing?
It doesn’t matter which courses you are taking.
It doesn’t matter which book you start with.
It doesn’t matter which video you watch first.
Just start looking and reading something. Just start writing code, any code, a lot of code, code with bugs, ridiculous and strange code that will start to make sense over and over again.
This is the only way to achieve something. There is a long way ahead, but it is already clear: it will be damn interesting!