Since 2016, all those who wish can learn front-end and back-end development from scratch under our program. And it's totally free of charge.
Why we Decided to Create the Program
We always welcome people as passionate about self-development as we are. Having created the Education Program, we wanted not only to hire skilled engineers but to help all those wishing to become them.
Training principles and rules
Our front-end and back-end Education Programs share common principles and differ only in content.
The Program is tuition-free
It was a conscious decision. We intended to maintain a person’s self-motivation and a genuine desire to grow into a highly-skilled developer without any purpose to get back money put into their training.
Timing and procedure are unlimited
The experience has shown that the training period takes at least 3 months. You can start learning from scratch, but it is possible to complete the program within shorter timeframes if you already have certain experience in Software development. A flexible approach allows to take study breaks and mix the sequence of the Program blocks.
We emulate "combat" conditions and tasks
As part of the training process, you will study the theory, perform the practical activity and work jointly with our practicing engineers. We are meticulous to the code quality, discipline, and the ability to define, express and defend the personal point of view – all these principles apply to the real commercial projects.
Stages of frontendbackend training
We provide a booklist of reliable resources for the most effective programming language learning. Along with it comes a list of challenging beginner-level tasks on CodeWars as a bonus.
We have selected sophisticated CodeWars kata as well as challenging functors and monads tasks. It helps to summarise knowledge obtained in the previous item.
Creation of an echo-bot for Telegram and Vkontakte social networks
Creating a simple bot that returns your message back is a great starting point to working with side effects in Haskell. At the same time, the task to design an architecture for two messengers at once will help to puzzle out polymorphism.
Creation of a web-server with REST API for a news service
The news business is quite a simple subject area. The most common web server requirement here is REST API. Anyway, it’s not enough to create a news feed. It is necessary to examine architectural principles and patterns, set up infrastructure (like authorization, logging, and configuration), write test cases, make filtrations, sorting, and pagination. Generally speaking, to experience back-end developer’s life firsthand. Having gained such background, one will have a clear picture of how real-world Haskell applications are produced.
Both theory and practice review
You will have to refactor the completed tasks. After that, we do a code review with a focus on the long-term project support in the future – like it is supposed in reality. Having completed this task, you may demonstrate your repositories to more senior software developers. Then you prepare for the interview having a list of approximately 80 questions. Some of our in-house developers administer the interview. They are not interested only in getting the correct answer to the question. Their goal is to make sure you’re having a comprehension of what you’ve learned. It will ensure joint productive work in the future. If you still have some knowledge gaps – don’t worry. You have an unlimited number of interview attempts. Bear in mind colleagues’ feedback and give it another try. Once you’ve successfully answered all the questions – welcome to the team!
Layouts theory: HTML, CSS, Git
Interface creation underlines any front-end developer’s work. It implies layout building in HTML + CSS according to the designer's mockups. So this task requires independent layouts research and working with Git.
Layouts practical training
You are to make up pages for the two mockups which were designed specifically for student use. The requirements are the same as on a real project. You are expected to design components architecture, use BEM-naming, Webpack, Pug, SCSS, then publish the result on Github Pages.
We’ve composed a list of sources that helped us to master this language some time ago. We recommend examining this block along with stage №4. In other words, to link theory with the practice.
At this stage, you’ll have to create a jQuery plugin that implements slider widget functionality. To do that, you are to study the architectural principles and patterns, set up the infrastructure, and write tests. Simply saying, walk in the real front-end developer's shoes.
Practical tasks refactoring
Having completed tasks refactoring and met our requirements, our team’s developers will get engaged in the process. They will do a code review as they would do it on a real project with implied continuous support. Then you are ready to show your repos even to experienced developers.
Project teamwork on the SCRUM model
Here we shape a small student’s team of 5-6 people and involve a Project Manager, the Education Program supervisor, and a tester. While working on a project, you will master React library and gain experience working on an end-to-end project. Expect the real conditions: critical customers, empathetic scrum-master, careful Product Owner, pressing deadlines, rapid examination of the new technologies, two-way code review, changing requirements, and total satisfaction over the product result.
Job interview and employment
Finally, you may choose between applying for a job to us or to some of our partner companies that are looking for a talented junior developer. We constantly update the list, so by the time you have finished the Program, there will be a couple of relevant options.
You've chosen to join our partner's team
Requirements for a junior developer vary from one company to another. In most cases, our Education Program curator arranges an interview call and moderates it. At a meeting, we find out relevant information about a candidate and analyze whether we can work together effectively. Then both parties make a decision.
You've chosen to join our team
You prepare for the interview according to the list of approximately 80 questions. Some of our in-house developers administer the interview. They are not interested only in getting the correct answer to the question. Their goal is to make sure you’re having a comprehension of what you’ve learned. It will ensure joint productive work in the future. f you still have some knowledge gaps – don’t worry. You have an unlimited number of interview attempts. Bear in mind colleagues’ feedback and give it another try. Once you’ve successfully answered all the questions – welcome to the team!
How to Get Started
Before you begin the program, you'll take a 10-minute survey to learn about the rules of the program, answer a few questions about yourself, and get a clear plan of action. After the survey, you'll be taken to the repository with all the materials and you can begin your training.