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?
Top comments (4)
This is a refreshingly honest piece of research — the scoreboard is what makes it land. Git on a real project at 26 of 30 and clear writing at 18 of 30 outranking a long list of languages at 4 of 30 flips the usual tutorial advice on its head, and I appreciated you listing the limits of a 30-ad, remote-skewed sample upfront. Did you notice whether the ads that asked for one stack done properly also tended to ask for a finished project to show, or did those two asks show up independently?
Honest answer: I counted the asks separately and never cross-tabbed that pair, so anything beyond this is impression, not data. The impression, from reading all 30 up close: the ads that wanted one stack done properly usually also had some version of 'show us something real' in them. The laundry-list ads asked for neither — just more nouns. If I rerun it with 100 ads, that cross-tab goes in first.
Writing showing up in more ads than knowing a bit of everything is the result I'd point beginners to first, since it's cheap to show and tutorials almost never grade it. The 26 of 30 for Git on a real project fits too: a commit history is evidence a reviewer can check in a minute. A README that explains what you built and why you made each choice covers the Git row and the writing row at the same time. Did any of the ads say how they actually check the writing, like a take home task or a code review?
None of them said, that I recorded. The ads asked for the writing — 18 of 30 — but not one named how they'd check it: no take-home, no writing test in the text I tallied. My guess is the check is the application itself, plus exactly what you said: the README. A README that explains what you built and why covers the Git row and the writing row before a human ever speaks to you. It's the only writing sample they get for free, so it probably does the grading.