A production bug
Reported by a user, reproduced from a vague description, fixed without breaking three other things.
Barmaj is a supervised engineering experience. You pick up real tickets on a codebase you did not write, refine and estimate them with your squad, open pull requests, and have them reviewed by senior engineers.
For developers who can already code. Applications are reviewed by a person.

The gap
Every rejection email says the same thing in different words: we were looking for someone with more experience. The gap is not knowledge. It is everything that surrounds writing the code.
Tutorial world
Real engineering
The engineering experience
This is not a syllabus. It is the loop a professional team runs every sprint, and you run it from the inside.
Real work, written as tickets — bugs, features, debt.
Read it, question it, find what the ticket does not say.
Estimate independently. Nobody sees a number before the reveal.
A committed scope with a start and an end.
A branch on your own fork of a codebase you did not write.
Described well enough that a reviewer can start immediately.
A senior engineer responds within one business day.
It ships when it is right, not when you are finished.
What you did well, what to change, and why.
An attributed record, linked to the work that proves it.
Then it starts again, with a harder ticket.
How it works
Most of this is unremarkable to anyone who has worked on a team. That is exactly why it is worth doing before your first role rather than during it.
Tell us where you are and what you have built. A person reads it.
A short technical exercise, so squads start at a comparable level.
A small engineering environment with a mentor and a real backlog.
A ticket from the backlog. Ambiguous, like every real ticket.
Question the ticket with your squad before writing any code.
On a branch, in a codebase with conventions you have to respect.
Written so a reviewer can start without asking you anything.
A senior engineer responds within one business day.
Address the feedback, get it merged, and see it land.
Every merge adds to a record of how you actually work.
Not tutorial projects
No blank folders. No finished specifications. No projects that exist only to be finished.
Reported by a user, reproduced from a vague description, fixed without breaking three other things.
Code that works and nobody wants to touch. Change it without changing behaviour.
Written by someone who is not an engineer, and missing the three details that matter.
Something got slow. Measure before you optimise, and prove it got faster.
A module with no tests and a history of regressions. Decide what is worth covering.
Two reasonable options. Pick one, write down why, and defend it in review.
Something is broken now. Diagnose under time pressure and communicate while you do.
A shortcut somebody took, and the argument about whether now is the time to pay it back.
Reading code you did not write and finding the useful thing to say about it.
What happens if the provider times out here? Right now the caller gets a resolved promise and no data, which is indistinguishable from an empty result.
The retry logic and the parsing are doing two jobs in one function. Splitting them would let you test the retry without a fixture.
Naming — `data2` will not mean anything to you in six months.
First response within one business day. Every comment says whether it blocks.
Mentorship & code review
This is the part you cannot get from a tutorial, a course, or an AI assistant that agrees with you. Someone experienced reads what you wrote and tells you what they think.
Engineering growth
Not a quiz score and not a certificate. Every claim about how you work points at the pull request that shows it, and a mentor can explain it to you in one sentence.
Growth profile
Illustration — not a real memberAdded failure-path coverage nobody asked for, twice
Asked what happens on timeout before building
Factoring improved across three consecutive PRs
Chose the simpler option and wrote down why
PR descriptions a reviewer can start from cold
Argued a point on the merits and changed the design
Packages
What differs is how much senior time you get, not how much of the product you are allowed to touch.
A squad, the backlog, refinement and planning poker. Peer review only.
$49 / month
Everything in Community, plus senior review on every pull request within one business day.
EGP 750 / month
Everything in Mentored Engineer, with same-day mentor review and monthly one-to-ones.
$249 / month
Who Barmaj is for
Barmaj is for developers who have the skills and none of the context. If you are still learning to write a for-loop, this is not the right time — come back when you have built something you were proud of.
Barmaj is an engineering experience program. It is not a course, and taking part is not a role at a company. What you leave with is a record of how you work, and the experience of having worked that way.
What we will and will not claim
Barmaj is new. Rather than borrow credibility we have not earned, here is exactly what we commit to — and you can hold us to it.
Measured from the moment a pull request is ready for a person, in business hours. When reviewer capacity runs out we pause taking new members rather than let turnaround slip.
If a mentor cannot explain a piece of evidence to you in one sentence, it does not get written down.
No leaderboards, no commit counts, no lines of code. Those numbers reward the wrong behaviour and we do not collect them as scores.
Contributions happen on your account, so what you build is visible and verifiable without taking our word for anything.
When members finish their first projects we will publish what actually happened, including the parts that did not work — with their permission, and anonymised where they ask for it.
Applications are read by a person, and places are limited by how many pull requests we can review properly each week.
Apply to Barmaj