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.
010 Learning with agents [0.5d]
You will work with a coding agent during your entire trainee program. The agent explains concepts, helps you when you are stuck, reviews your code and — later in the program — writes code under your direction. This card shows you the tool, our rules for using it, and gets your laptop set up.
Important
Work on this lesson in
teachermode.
Learning goals
- You can start Claude Code, work in a session, and resume it later.
- You can explain the usage quota and which model to work on.
- You can explain our session modes (
teacher,...
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 Asking your agent about APIs and libraries [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 and Ruby versions [0.75d]
Managing Ruby, Rails and gem versions across many projects requires Bundler and rbenv to keep environments consistent and switch versions safely.
129 HTML basics [0.5d]
HTML describes what is on a web page: headings, paragraphs, lists, links, images and forms. Everything you build from here on attaches to it — Rails renders HTML, your CSS selects it, your JavaScript walks it.
Important
Work on this lesson in
teachermode.
Note
Many trainees arrive already knowing HTML. If that is you, read the learning goals, confirm you could do the exercises, and move on to the next card. This card exists so that nobody has to pick HTML up by guessing.
Learning goals
- You can write a complete HTML do...
130 Ruby on Rails basics [4d]
Ruby on Rails basics for building CRUD apps with ActiveRecord, routes, controllers, views, validations, migrations, and associations.
131 Exploring code bases with agents [1d]
At makandra you will constantly work in applications you didn't write: customer projects, legacy apps, gems. A coding agent can read a code base much faster than you and explain it to you. This lesson teaches you to ask the right questions, and to check the answers, because an agent's explanation is a hypothesis, not a fact.
Important
Work on this lesson in
teachermode.
Learning goals
- You can ask an agent about an unknown code base in a way that gets useful answers: an overview first, then narrower questions.
- You can trace...
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 [2.5d]
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.