How good is Hyperskill and JetBrains Academy for learning Java

07 October 2023

Last year the imposter syndrome gods demanded yet another sacrifice so I decided to give them a substantious offering. JetBrains, creators of lovable IDEs and the Kotlin programming language, had launched their own JetBrains Academy (through a site called Hyperskill), so I signed up for an annual subscription.

Hyperskill is a different learning platform. So long are the days of listening a dude coding in a Udemy video and pausing every five seconds to replicate that same code with the hope that one day your hands will program for you.

Hyperskill’s framework has the following main concepts: tracks, projects, knowledge maps, topics, exercises. I signed up for the Java Backend Developer which is what I currently do at my work. A track is composed of a knowledge map with topics, projects, and within each topic, exercises. Topics are located in a nested folder-like structure, such as:

Knowledge Map

This folder structure is called the Knowledge Map. When you start a track you get to choose a project of varying difficulty. So the killer feature of Hyperskill is the focus on actual projects and the verification of your progress based on actual code written by impulse of your brain in an actual IDE. You will even be submitting exercises and projects through the IDE back to the tab in your browser. Mindblowing.

Once you pick a project you will go through several stages. Each stage of the project can only be unlocked and submitted after having worked in a number of topics. Each topic can only be completed if you have completed a number of exercises to verify that you have more or less learned it.

Stages and topics

Topics are strictly static text affairs. No videos. Just you and your (hopefully) silent mind trying to figure stuff out. And this is revolutionary in on itself. Contrary to what you might think, a prepared text is better than an ad-libbed video. Also, one big issue of all these video courses is that it’s cumbersome to update them so not only you have to potentially go through ad-libbed stuff, but also, increasingly outdated ad-libbed stuff. Text is easier to update whether that is by expanding or correcting information.

After you go through the Topic (aka: theory), you have to practice by going through a series of exercises of varying difficulty. Once you’ve finished enough of those (around 5 or 6) the topic is deemed completed and you move on to the next Pacman pill. You don’t need to complete topics this way, you can also skip a topic by completing only one exercise (usually of a higher difficulty).

So that’s what I did. I used the platform for 185 days, learned 477 topics, solved 1148 problems and completed 2 projects.

My Hyperskill Profile as of today

And yes, I did eventually finish the track, and got the Java Backend Developer certificate.

The point of sharing this is that this review comes from someone that actually put the time to go through the whole thing.

First, a disclaimer: I went through the thing as someone that have already been working as a developer for two and a half years and with Java specifically for a year, not as a complete beginner. So you might find that some of the following comments are not relevant if you’re a complete beginner using the platform.

This system that I just described above is only as good as the theory and exercises it presents. Theory is, for the most part, clearly explained. My main peeve is with the exercises. There are three types of exercises: IDE exercise, Free text box answer and Multiple-choice (one or multiple answers). The IDE exercise is the star of the show: clicking a button in your browser will open IntelliJ in your machine. You have instructions on your left, the code editor in the center and you can click a ‘Check’ button that will validate your answer. Once the answer is validated the site will allow you to move forward to the next exercise or topic.

Free text box is simpler: they will usually show some code on the exercise description and then provide a free text box where you input a missing statement or similar.

Multiple choice is by far the weakest of the three: you choose one or more answers from a list of options.

According to JetBrains the IDE exercises are the most common task of task in their courses. I don’t know how accurate is that statement. Specially on the second half of the knowledge map I increasingly got the impression that the main type of task presented were the multiple choice questions. I understand the need of having multiple choice exercises for deeply theoretical topics but I think that, if that is not the case, then they should be completely avoided. I found them pretty much useless. They go in one ear and out the other.

I get that the IDE exercises require a lot more creative work from trainers and I guess that eventually they will replace many of those Friday 5 p.m. multiple choice exercises for interesting IDE exercises where it makes sense to do so.

Based on these grievances, if I could start over I would do things differently. When you start a track you start going through the stages of your chosen projects. So before you start solving the IDE project stage you’re recommended to complete the required topics:

Stage Locked!

But fret not. You’re not actually forced to do that. One should disregard the OCD path and go straight to the project stage. Try to make sense of it with what you have in your brain backpack. If necessary go through the required topics. If you are more like a teacher’s pet student and follow the straight path there’s a chance you will get a bit burnt by the wall of useless multiple choice questions between you and the actual cool activity at the end of the rainbow. Just ignore the warnings from the platform and get straight to the pot of gold.

If I were the Hyperskill product owner I would invert the whole approach and put the Project Stage at the top, and add more breadcrumbs in the description of the stage in regards of what topics are being applied. Hell, you can even be more radical and forget about the topics. Most of the info is online anyway, and googling is in and of itself an essential programming skill. The actual new thing that Hyperskill brings to the table are the IDE exercises and projects.

Having said all that, how good is Hyperskill? Pretty good. I highly recommend it for complete beginners and mid developers with imposter syndrome. Unfortunately it’s too expensive and since I paid it from my own pocket I don’t think I will renew it for a second year (and monthly subscription is ridiculously expensive so that’s probably not happening either). Also I’m already subscribed to the JetBrains all products pack, shouldn’t there be a little discount for us JetBrains loyals? (wink, wink).

But here are some fantastic recent news: Hyperskill is now free to go through the lessons and to complete exercises (up to 10 exercises per day) which means you can go through the straight (yet sometimes boring) path without losing a cent. And once you’re done with the topics you can pay up and unlock the project stages which is (or should be) actually the raison d’être of the platform.