JackJack Derksen

The open source tax on new grads

I think the tech world has a problem

A bold take these days, I know.

I recently graduated with a computer science degree, and the job market is starting to get under my skin. Let me vent for a second.

Every week brings a new LLM, coding model, or agent system promising to relieve us lethargic meatbags of our hobbies and careers. The benchmarks go up, the context windows get bigger, and another chunk of the software development process gets handed over to an increasingly capable autocomplete box. At least, that seems to be what hiring managers think.

I'm not anti-AI. I use these tools, and sometimes they're startlingly useful. Pretending they are not changing software development would be stupid. The timing still stings. Software is getting cheaper to produce while getting paid to produce it seems harder. Naturally, this happened right after I finished my degree :)

Five years and tens of thousands of dollars later, the advice for breaking into the field increasingly seems to boil down to doing more software development for free.

Conventional employment no longer feels like the safe, boring alternative. Layoffs, hiring freezes, and return-to-office mandates have made the usual career path look less certain than it did when I started university.

Increasingly, it feels like the exciting alternative is to just go build something yourself.

Start a company. Find a problem. Ship a product. Raise some money. Become one of those suspiciously productive people on Twitter who announces a new company on Monday and somehow has 20k users by the end of the week.

Simple.

Except for the fact that starting a company requires having something worth building, the time to build it, and enough runway to survive while you figure out whether anyone actually wants it. None of those things are particularly easy to come by.

Breaking through as a tech startup was never easy. Now an enormous amount of software already exists, and a thoughtful new product has to compete with a flood of wrappers, clones, generated landing pages, and AI-generated slop.

You don't just have to build something good, you have to build something good enough for somebody to notice. That's always involved luck. Probably more than we'd like to admit.

Tech seems like one of those fields where a huge part of succeeding is simply working as hard as you reasonably can to increase your surface area for luck: build things, publish them, write about them, meet people, contribute somewhere, send the application, make the stupid little tool you wish existed, and hope one of those things eventually collides with the right person at the right time. The trouble is that increasing your surface area for luck takes time.

This brings me to open source.

I'm not going to say that "only rich people can accomplish anything in open source." That isn't really true. But there's a problem I think we have to acknowledge:

Open source makes software free. It does not make the labour required to produce software free.

People gloss over that distinction. The romantic picture of open source is a group of hackers scratching their own itches and building software no company would have planned. That still happens. Git, Linux, FFmpeg, Neovim, and countless weird little tools prove the idea is not bullshit.

Still, there's an uncomfortable economic prerequisite hiding underneath it:

Someone has to be able to afford the time.

Six unpaid months may be a rational bet if you have savings, sponsorship, a job that pays you to work on open source, or an audience that turns the project into content.

But if you're in my shoes, or the shoes of thousands like me, as a nearly broke new grad trying to land a first SWE job, those same six months are six months without any income.

I do not have it that bad. I'm fortunate to have a family who will always support me, and to live in the greatest country on earth with little to worry about day to day. Still, I'd rather not spend the next five years mowing fields while waiting for someone to decide I'm finally qualified enough to centre a div.

There is a nasty feedback loop here. People with money, a reputation, industry connections, or an audience can afford ambitious projects. Think of the Mitchell Hashimotos, DHHs, and Primeagens of the world.

I'm not here to hate on them. I enjoy their work to varying degrees, and will fully acknowledge that they built their own success. But building ambitious things gives them more reputation, connections, investment opportunities, and money, which makes the next ambitious thing easier to build.

Nearly every tech influencer today had a stable career for a while before branching off to do their own thing. They accumulated experience, money, connections, credibility, or an audience first. They had already given luck many chances to find them.

Meanwhile, someone trying to acquire those same safety nets in the first place gets told something like: "just contribute to open source! Build something cool! The success will follow from there!"

Great. With what fucking time?

I wake up at 4:30 to cut grass, try to keep a few hobbies alive, and grind on personal projects in the few hours left over. Personal growth is nice, for whatever it's worth, but it can feel like the effort returns nothing concrete. Maybe this is just what it means to grow up?

Either way, that's where I think the usual advice to new grads starts to feel a little absurd. Open source was never supposed to be an unpaid internship programme for an industry that stopped wanting to train its own juniors.

The current junior software market has an uglier contradiction:

The industry increasingly expects beginners to demonstrate the output of experienced engineers, before giving them the opportunity to become experienced engineers.

  • A CS degree isn't enough anymore, so build side projects.
  • Side projects aren't enough on their own. They need real users.
  • Good luck getting users when you don't have a platform to reach them.
  • While you're at it, teach yourself distributed systems, cloud infrastructure, CI/CD, containers, security, databases, frontend design, and AI tooling.
  • Then contribute to somebody else's software for free so you can prove that you know how to work on "real" software, too.

All of that for the privilege of being considered for a Junior Software Engineer position.

Companies used to turn inexperienced programmers into experienced ones by hiring them. Sometimes they hired juniors just to keep them away from a competitor, whether or not those juniors were ready.

That's the part that bothers me more than any LLM benchmark. AI might change how many programmers the industry needs, and it will almost certainly change what those programmers spend their time doing. Nobody really knows where that settles yet.

But right now, companies seem reluctant to absorb the cost of turning juniors into seniors. Instead, juniors pay that cost themselves. Get the degree, learn the tools, build the portfolio, find users, contribute to open source, and somehow cover rent while doing it.

Open source starts looking less like a community and more like an entrance fee.

The fee is time.

Reality check: is that really true, though?

Meaningful open-source work does not require building the next Docker or starting a VC-backed company. One person building a genuinely useful 4k-line CLI can make a real impact. So can someone fixing an irritating compiler bug, maintaining a Neovim plugin used by thousands of people, writing an unusually good library, or contributing consistently to one established project.

Small-scale open source is probably where the original premise still works best. You don't need capital to build a good terminal utility. You do need it to turn that utility into a company that scales and employs a dozen engineers.

Those two things get conflated because tech culture mostly celebrates projects once they become businesses. Someone quietly maintaining an excellent library used by 40k developers doesn't usually get a TechCrunch write-up. Someone raises $18 million to put an AI chatbot in front of PostgreSQL, and suddenly they're a visionary founder.

That selection effect makes open source look far more plutocratic than the ecosystem actually is.

Plenty of important maintainers are not wealthy, which creates the opposite failure. Critical infrastructure depends on one exhausted person after work, fielding GitHub issues from billion-dollar corporations asking when they'll fix a bug.

That is the contradiction at the centre of this.

Open source is supposed to democratize access to software. Anyone can use it. Anyone can study it. Anyone can change it. Anyone can contribute. But contributing seriously requires access to the one resource that open source can't democratize:

Free time.

The same constraint applies to nearly every alternative we're told exists when the normal career path isn't working.

Can't find a job? Build a portfolio. Portfolio isn't enough? Contribute to open source. Open source isn't getting you noticed? Build a product. Product isn't getting traction? Start a company. Company isn't getting traction? Build another one.

Every step gives luck another chance. It also demands more time from the people who generally have the least to spare.

The software is free. The developer's rent is not.


That's enough yapping. Redox is going through a large rewrite. I will write another devlog when it is done. It has, once again, been too long since the last one.