Professional development on Ruby on Rails - course 93,000 rub. from ThinkNetica, training 9 months, Date January 23, 2024.
Miscellaneous / / November 28, 2023
Why Ruby on Rails
According to research from Habr. Career - Traditionally, the most noticeable increase in salary occurs during the transition from junior to middle - salary increases by 2.2 times, this has already become a trend.
What will you get on the course?
Career
Ruby is a high-demand skill with high salaries and low competition. Yes, there are usually fewer vacancies in Ruby than in other languages, but there are also fewer specialists. Being a rare and sought-after professional is beneficial both in the short and long term.
High salaries
Ruby has some of the highest salaries in web development (a consequence of the shortage of specialists). In addition, it is in Ruby that the highest salary growth is observed when moving from junior to middle and from middle to senior.
Demand in the world
Ruby on Rails is popular in Europe, the USA, Brazil, South Africa, India and other countries and, of course, in the CIS. Startups especially love it. This gives you the freedom to choose where to live and work. You can get a job from (almost) anywhere in the world and work remotely.
Elegance and simplicity
Ruby is designed to "increase programmers' happiness." Many people love and appreciate Ruby and Rails for their simplicity, expressiveness and elegance. It is often chosen after having negative experiences with other languages, such as PHP or Python.
Easy to learn
Ruby has a simple and intuitive syntax, which makes it easier to learn than other languages.
Rich Ecosystem
Ruby has a solution for almost all common problems, making the programmer's job easier and simpler. In essence, you work like with a Lego constructor, assembling the project you need from pieces. Reserving the development of only unique and interesting code.
Best practics
Ruby and its Rails framework are created by top world-class developers who immediately include applications best engineering and architectural practices such as Test-Driven Development, Convention over Configuration, MVC, REST etc. This improves the development culture, so Ruby developers are, on average, more skilled than in other languages.
How the training works
We use a teaching methodology mastery learning. This means that the participant gets access to the next topic only after he has mastered and worked on the current one at the proper level.
This allows us to guarantee high results for participants.
1. View lesson
It all starts with watching a recording of a video lesson, which describes the topic in detail and shows its application in a practical project, the duration of the lesson is 20-60 minutes
2. Completing the task
After watching each lesson, you receive homework that must be completed and submitted for testing. During the process, you can ask questions and receive help from mentors and other participants
3. Examination
When the task is ready, you submit it for review. Mentors look at your code, leave comments, make recommendations for improvement, and decide whether to accept it or not. If the assignment is not accepted, you will need to correct the comments and resubmit it for review.
4. Next lesson
After a series of improvements and corrections, when the mentor accepted the task, you get access to the next lesson and task. So, you are moving towards your goal - to become a pro in RoR!
Ruby Basics (5 weeks*)
In this course, we will thoroughly explore the Ruby language from the very basics to advanced topics such as metaprogramming:
- Command line, git and Github basics
- Setting up the development environment
- Simple data types in Ruby
- Composite data types: arrays and hashes
- Control structures
- Fundamentals of Object-Oriented Programming
- Interfaces, inheritance and polymorphism
- Class Methods
- Modules and Mixins
- Ruby object model
- Exceptions and their handling
- Blocks, Proc and lambda
- Ruby idioms and good style
- Metaprogramming
- Final project in Ruby
Ruby on Rails Basics (10 weeks*)
- HTTP protocol
- SQL and Database Basics
- Branches in git and Pull Requests
- Rails ecosystem and gems
- MVC and REST
- Routing
- Data Validation
- Database Basics
- Connections and associations
- Controllers and Views
- STI
- Active Record query language
- Scopes and callbacks
- Custom controllers and forms
- User Authentication
- Twitter Bootstrap
- Assets Pipeline
- Localization
- Javascript Basics
- Javascript in a Rails application
- Deploy to Heroku
- Rack and writing your own mini-framework
Ruby on Rails. Advanced level (10 weeks*)
- Agile development process
- Git flow
- TDD/BDD Basics with RSpec
- Controller testing
- Integration (acceptance) testing
- HAML/Slim, SCSS, CoffeeScript
- Ajax
- Nested Forms
- Polymorphic associations
- JSON and various ajax forms
- ActionCable
- "Thin" controllers and responders
- OAuth and social authentication networks
- Authorization
- REST API development
- "Advanced" RSpec
- Background tasks
- Run tasks on a schedule
- Full text search
- Setting up a server from scratch
- Deploy applications via Capistrano
- Passenger and Unicorn
- "Advanced" server setup
- Caching and optimization
- Highload and High availability
- "Philosophy" of Rails
- Architecture design
- Refactoring
- Various gems
- How to write good code
Final project (3-4 weeks, after 25 weeks* of the main course)
The time has come to apply everything you have learned during this time in the battle with the final test. Its essence lies in independent planning, design and development of a graduation project.
You will choose a project idea (if you don’t have one yet, we will help), plan iterations and implement this project. The most important thing is that the project will not be the simplest; every project should have something unusual and interesting and, of course, technically complex.
As a result, you will consolidate the skills you have acquired and add another project to your portfolio.
Preparation for employment and job search (1 - 6 months)
This stage includes a special course in preparation for employment, as well as support and assistance in the job search process:
- Personal consultation
- Competitive Analysis
- We create a resume that will definitely be noticed
- Preparing a cover letter
- Learning to stand out from the crowd of applicants
- Test interviews with employers
- We tighten up weak points
- Execution of test tasks, their analysis and code review
- Passing real interviews
- Employment
- Personal support at all stages and after employment (up to 6 months after the end of the intensive course)