What about a completely new approach to learning programming and education in general? Nothing like anything you've seen before. What about learning that has a goal, tools, and results?

Do you want to know Java to get a job? The goal is worthy, and the result is not easily achieved (in today's conditions). And the tool is our educational course: CodeGym. Now let's go into greater detail about all this.

CodeGym's goal is for you to be employed

Goals are often unattainable because they are too fuzzy, or non-specific. This is particularly noticeable in today's world. If you wanted to learn how to program 20 years ago, you had few choices. You would get a book on programming, whichever one you could find (with difficulty). If you were lucky, it turned out to be a good book. If you were very lucky, you found some courses offered by some club for young engineers. If you met a cool teacher, great. The process is complete. If not, then you had to plow forward on your own or give up.

An environment with limited information, where information must be chased down and access to it is not 24/7, has its advantages: if you need to learn something, you soak everything up, like a sponge.

With the development of the Internet, the situation has changed to the complete opposite: information is available in such abundance (especially for newcomers) that identifying what is useful and well-structured is extremely difficult. It is available on the Internet, but finding and choosing what to pay attention to is not an easy job. And even when you've found everything, it's extremely difficult not to become distracted: what if there's something better out there? In addition, the general availability of information leads to an «I'll study later» and «I'll watch that later» mentality. But «later» never comes.

Sheer inertia is causing universities and other educational institutions to act as if we have limited information, so they keep cramming as much as possible down our throats. But the reality is that loads of information are available to the student with or without the university. It's accumulating all over the place, everywhere but in the head.

Accordingly, we can conclude, that in today’s world effective education requires:

  • specific and useful information in the first stage
  • a developed ability to sift the wheat from the chaff in all other stages

You've found CodeGym. Welcome to the «About us» tab. You're probably interested in learning how to program. These words are very vague. Here at CodeGym, we help form a specific practical skill: the ability to write programs in Java, so you can work at a professional software development company. Along the way, we provide you with information about how to correctly put together your resume and conduct your job search.

To us, it is very important not only that you get hired, but also that you are not fired in your first year of work. This requires real skills and experience.

Once you get a job and work for about a year, you'll grow and progress very quickly, thanks to the very process of doing your job. Here, like with a government job, the main thing is to get in. =)

Thus, CodeGym helps you achieve the following goals:

  • Get programming experience in Java;
  • Get a job as a programmer.

Do those align with your goals? If so, give it a try!

CodeGym tools: what makes this course attractive

To develop your programming skills and the ability to think in the "right" way, you'll need 500-1000 hours of practice. The CodeGym course was created specifically to give you this experience. During self-study (and other types of learning), the student faces many obstacles that can be overcome using the CodeGym system.

Problem: There isn't always a time and place to practice.

Solution. We live in the Internet age, which makes this problem easy to solve: whenever you have time, study on CodeGym wherever you want at a pace you're comfortable with. And you can start any time, even this very second! With CodeGym, you don't need to wait a few weeks or months for a group to form and the course to begin. There's no need to cram yourself into a rigid class schedule or spend a lot of time on the road to get to a meeting place. Just click the «Start learning» button, choose a convenient registration method, and start learning. From any device, whenever you want, at a pace you're comfortable with.

Problem: Self-study makes it hard to think up adequate tasks.

Solution. This really is much harder than it seems. More often than not, a beginner can't know exactly which skill or combination of skills she needs to hone, and the tasks she takes on are either too difficult or too easy, or «neither here nor there». CodeGym specialists have already taken care of this by putting together 1,200 tasks that cover all sorts of topics. And you encounter them in the course exactly when you need them!

You start with very simple tasks and finish with full-fledged projects. The projects include small computer games, online chat, an application for automating a restaurant, and an ATM emulator.

Problem: There's no one to check your solution.

Solution. Even if your solution to a task makes the correct solution for a single data set, that doesn't mean that it will be okay for another data set. It's quite difficult for newcomers to test their code on their own. At CodeGym, your solution is verified by a virtual teacher, and you get the results instantly.

This is an advantage over full-time courses, where the teacher often doesn't have time to carefully check whether the students' code is correct, and certainly doesn't have time to check every task if there are many of them.

Problem: If the solution is wrong or not quite right, what do you do next?

Solution. You've made a mistake, but you don't know what it is exactly. With self-study, this is a serious problem that leads to stagnation. But CodeGym has the answer: a virtual teacher gives recommendations about your solution, helping you fix your mistakes, and also gives you a clear list of requirements regarding what you need to do. It's very convenient and informative.

Problem: How can you learn to program in a professional development environment (IDE)?

Solution. Almost all modern programmers create code in special applications called integrated development environments (IDE). They significantly simplify the processes involved in creating applications. There's just one catch: You need to be able to work in the IDE and know its subtleties, otherwise many of its capabilities will remain unused.

We teach CodeGym students how to work in one of the most popular modern IDEs: IntelliJ IDEA. To this end, we wrote a series of educational lessons and guides. And most importantly, we developed a special plugin for IDEA. It's built into the development environment, and you can complete CodeGym tasks directly in IDEA.

Problem: The Internet has so much information! How can I understand what I need to know?

Solution. Here we return to the problem that we touched on when explaining our goal. There is a lot of knowledge, and it is very easy for newcomers to «get bogged down» in unnecessary details or to entirely fall by the wayside. In the overwhelming majority of cases, excessive information in the first stage hinders, rather than helps. Therefore, we have included only the most essential things in the course, the things which, if lacking, will prevent you from becoming a Java programmer. The CodeGym course contains 600 very short (and, I must add, not boring!) lessons. Each of them explains one topic, so that the student can focus on that topic without being distracted. The topics are repeated periodically: on early levels, the material is presented simply «from 10,000 feet»; on later levels, the presentation is more in-depth.

Of course, we're not opposed to books and third-party materials. If you want to go deeper, go ahead! We even identify and link to additional materials (books, websites, videos) that we feel are helpful.

Problem: With self-study, it's so easy to lose motivation!

Solution. No kidding! How often have you started to learn something, but then at some point, you abandon the effort?! This happens if you don't receive a good return: you get stuck on a topic, don't understand whether you're moving in the right direction, don't feel progress, and don't know what to do next. That's why on CodeGym:

  • You can skip some tasks to return to them later: instead of «slowing down», you continue making progress without losing motivation;
  • There are hints to the correct solution and an online community where you can get practical advice on how to do tasks or help in understanding a topic. The CodeGym community has thousands of active members. Some of them have already completed their studies, found work, and shared their experience on our website.
  • There's a bunch of useful (effective!) motivational materials. They run through the whole course;
  • Finally, there is a clear plan that you can and should follow.

Problem: What if you've already learned what Java Core has to offer. Is that still not enough? How do you know what to do next?

Solution. Beginners aren't the only ones with problems. They are no less abundant for those who have already accumulated a decent amount of Java knowledge and written thousands of lines of code. How do you know if you're ready to start looking for a job? Is your knowledge sufficient? If so, then what do you do next?

In addition to extensive knowledge of Java, the CodeGym course provides targeted preparation for job interviews. We'll tell you what recruiters and technical experts expect from a new «junior developer».

And we'll discuss in detail the questions asked during interviews. We'll tell you how to make an attractive resume.

CodeGym results: employment as a Junior Java Developer

If you complete all the tasks, study the lessons, listen to all the recommendations, you have very good chances of finding a job as a Junior Java Developer at a decent company. We can't offer a 100% guarantee. That outcome depends not only on us, but also on the current market situation and your personal qualities. This is what we guarantee: You can't complete CodeGym to the end and not become a programmer!