000 Start here! [0d]
Paid trainee program for junior developers with a structured web development curriculum, regular mentor reviews, daily status updates, and guidance on code organization and pacing.
105 Ruby basics [2d]
Introductory Ruby practice for reading and writing simple programs, with focus on data types, control flow, methods, classes, error handling, blocks, and regular expressions.
110 Where to find API documentation [0.5d]
Finding the right API reference is fragmented across Ruby, Rails, gems, web platform docs, and external SaaS sites. Bookmarks and search profiles make everyday lookups faster.
120 Git basics [1d]
Git is the version control system for tracking changes, branching, merging, and syncing code between local repositories and servers.
125 Gems, bundler, rbenv [1d]
Managing Ruby, Rails and gem versions across many projects requires Bundler and rbenv to keep environments consistent and switch versions safely.
130 Ruby on Rails basics [4d]
Ruby on Rails basics for building CRUD apps with ActiveRecord, routes, controllers, views, validations, migrations, and associations.
140 Testing basics [3.5d]
Test basics for Rails focus on unit and end-to-end coverage, Capybara browser control, and choosing the right test level without overtesting.
141 Creating test data with factories [1d]
Factories keep test data isolated and predictable in Rails, replacing fragile fixtures with explicit records and reusable defaults for unit and feature tests.
142 Validations [1d]
Rails model validations prevent incomplete or invalid movie data from being saved, with field-specific errors and flash feedback on failed forms.
145 CSS basics [3d]
CSS fundamentals for styling and layout: selectors, box model, inline vs. block, Flexbox, Grid, DevTools inspection, and Sass basics.
150 JavaScript basics [2d]
Core JavaScript language concepts for browser-side logic: variables, functions, control flow, arrays, errors, and the tricky behavior of this and callbacks.
152 Working with the DOM [1.5d]
JavaScript can manipulate the browser DOM to add interactivity: select elements, register events, change classes and attributes, and apply the same change to many nodes.
154 Haml [0.5d]
Learn Haml syntax for reading and writing templates, including attribute formats and silent Ruby lines for code that should not render to HTML.
165 ActiveRecord scopes [4d]
ActiveRecord scopes keep large record sets in the database, reduce Ruby object churn, and help avoid N+1 queries by chaining filters, preloading, and plucking.
167 Software design basics [4d]
Principles for maintainable Rails and object-oriented code: reduce duplication, keep responsibilities narrow, and separate search from authorization to simplify public APIs.
170 Memoization [0.4d]
Repeated Ruby calculations and HTTP requests waste time; memoization caches results for fast reuse with @variable ||= computation or the memoized gem.
172 Debugging [1d]
Breakpoints and browser tools help locate the exact line or interaction where behavior diverges from expectations, inspect state, and continue execution safely.
175 RSpec in depth [2d]
RSpec matcher design, DRY specs, mocking, and Rails request and helper specs for testing callbacks, changelogs, redirects, and error handling.
180 Personal productivity [1d]
Developers need a simple system to capture tasks, plan first steps, manage email, and reduce distractions so work does not get lost or pile up.
185 Our process [2d]
makandra’s development workflow for issues, reviews, merges, and production deploys balances traceability with lightweight project management.
186 Linux basics [1d]
Linux command-line essentials for everyday file, process, package, SSH, and shell tasks, plus editor setup, shortcuts, permissions, and executable scripts.
187 Exception notifications [0.5d]
Exception notifications help detect application errors early, but naïve e-mail alerts can flood inboxes and repeat the same issue across servers. Sentry reduces noise by aggregating similar errors and suppressing duplicates.
190 Pagination [0.5d]
Pagination keeps large movie lists responsive by loading only a page of records instead of thousands at once. will_paginate adds page links and reduces render time.
200 Migrations [2d]
Rails migration exercises for adding cached actor fields and backfilling existing records, with guidance on complex migrations and avoiding model usage in migrations.