Learn software development quickly and efficiently by coding real world apps.


How it works

In 12 words

You are supposed to follow the Schedule and fill the Daily form.


  1. The curriculum is organized in modules
    • Each module has a topic to address
    • We start with theory and write 2 apps
      • 0-java-fundamentals
    • Then we’ll build web apps
      • 01-java-notification-service
      • 02-java-file-service
      • 03-java-article-service
    • Then we’ll come back to theory and see where we used it in real apps
      • 04-java-recap
    • Then we’ll create a web application that talks to the previous ones
      • 05-java-blog
  2. Each module is designed to be learned during 1 week (or 2 weeks if you are having hard times)

  3. The order of learning is described in the names of the modules
    • let’s take as example first module
    • 0-java-fundamentals:
      1. 0 is the first module, since in IT 0 is often the first item and not 1
      2. java is the language / platform
      3. fundamentals is the topic
  4. Each module is stored in a git repository so that you will get familiar with git from day one
    • you’ll start using git from 2nd module: 01-java-notification-service
  5. Each module has a
    • By default GitHub will render it once you’ll visit the repository’s page in your browser
    • You’ll have the links to material you should learn
    • Those could be separated .md (Markdown) files
    • Or a file with more details
  6. The file
    1. Will give you list of topics that are discussed in the videos
    2. Each topic will have links to various articles that are explaining well the topic
    3. You’ll have to go through all the links from this file and practice them as described in articles
  7. Each module has a video playlist that demonstrates how it’s done
    • You are supposed to watch those videos
    • IMPORTANT: please write the code by yourself, do not copy paste
    • IMPORTANT 2: the videos are not just for watching
    • Even though each repository contains the code in .java files, you can take a look - but not copy paste!
  8. At the start of the .md files you’ll have a PREV link
    • It’ll point to the material that should be covered first
    • Before doing this one
  9. Once learned and practiced you’ll have to Create new features on your own
    • You’ll be asked to code some extra features on your own
  10. At the end of the .md files you’ll have a NEXT link

Have the desire to read more ? helps you to learn Java @ Junior Level in a matter of 4 - 10 weeks -

  1. True-to-life apps.
  2. No useless exercises.
  3. You are expected to spend 8 hours a day.

At the end of the learning process you’ll be able to code and deliver working applications by using a concise list of popular tools and methods.

The learning materials are organized in real life subjects hosted in GitHub repositories. The name of each repository shows the order you have to follow while learning and using the language.

In you want to give feedback, ask questions, etc. : please create a issue under the corresponding repository in GitHub.

Code review

Since you are supposed to work with a git repo anyways..

  1. create a repository where your reviewer has a account
    • @rodislav can be mentioned in GitHub, GitLab, Bitbucket
  2. make it accessible for the reviewer
  3. create a issue or a pull request and assign it to the reviewer