Why does finishing a programming course feel nothing like being ready for a job?

I read 30 junior developer job ads word by word, over two evenings, with a notebook, and tallied what they actually asked for.

Here's the scoreboard, and it does not match the tutorial syllabus either of us is following.

How I did the tally (steal this method)

I picked 30 ads aimed at beginners: junior developer, trainee, intern-level roles, from public job boards anyone can open. For each ad I wrote down every requirement in plain words, then counted how many ads repeated it.

No cleverness. Just reading slowly, which apparently nobody does, including me before this.

The scoreboard

What the ad asked for Ads out of 30
Git / GitHub used on a real project 26
One language or framework done properly 24
A finished side project you can show 21
Writing clearly (docs, updates, emails) 18
Basic database and SQL 15
Debugging and reading error messages 13
A list of many languages at once 4
Certificates named specifically 2

Read that bottom row again. The thing tutorials sell hardest, knowing a bit of everything, appeared in fewer ads than clear writing did.

What kept repeating, in the ads' own spirit

Git, but not the tutorial kind. Not "what is a commit." The ads wanted evidence you'd used GitHub on something real: repositories, a history, work other people could look at. Twenty-six out of thirty. It is close to a entrance fee.

One stack, finished. Ad after ad asked for one language and its main framework, done to the level of shipping something. Breadth was a garnish. Depth was the meal.

Proof over claims. Twenty-one ads wanted a project link, a portfolio, something clickable. The phrase that kept appearing, in different words, was "show us." A certificate says you attended. A finished project says you finished, which is a different and rarer verb.

Writing. Eighteen ads. Eighteen! Updates, documentation, explaining problems in text. Nobody's tutorial playlist has a chapter called "write a clear message about why the build is late," and yet it outranked extra programming languages four to one.

What tutorials teach that scored almost zero

The flip side deserves its own paragraph, because this is the part that stung.

Zero ads named a specific course or certificate provider. Two mentioned certificates in passing. Meanwhile my study shelf, physical and mental, is basically organised by course. I have been collecting the currency of a market that pays in a different one.

Almost as strange: only 3 ads asked for any degree at all, and all three said "or equivalent experience" in the same breath. And the phrase "passion for coding," which I assumed was printed on every ad like a watermark, appeared in maybe half, usually as decoration after the real requirements had already been listed. The ads were far more practical than the internet's idea of them. They read less like auditions and more like shopping lists written by tired managers who needed a specific person to do specific things on Monday.

One more line kept turning up in different costumes: "must be able to explain your work." In standups, in tickets, in messages to people who don't code. If I had to compress all 30 ads into a single sentence, it would be that one wearing a GitHub link.

The honest catch

My tally has real limits and I'll list them before you do.

Thirty ads is a small pile. They're the ads I could find and read, skewed toward remote and English-language postings, which is the market I'm aiming at but maybe not yours. And job ads are written by humans with copy-paste habits; some of what repeats is fashion, not truth.

Also, 4 ads did ask for the tutorial package, broad skills and certificates included. They exist. They're just the minority, and I'd been studying as if they were the whole market.

What I changed on Monday morning

My study plan got edited, not burned. The tutorials stay, but the week now has a shape the ads would recognise: GitHub activity on a real project, one stack taken deeper instead of a new language started, and one small thing finished per week instead of three things admired.

And I started writing about what I build, in public, in plain sentences. Eighteen out of thirty ads told me to. This post is partly homework.

The recap, so it fits on one screen: Git on a real project 26, one stack done properly 24, a finished project to show 21, clear writing 18, many languages at once just 4.

What did the last job ad you read actually ask for?