The Cost of Invisible Labor
But the technical story is only half the story. The other half is what it cost. What it costs. What it continues to cost, every day, in ways that don't show up on a GitHub contribution graph. I did freelance engineering work and contributed to systems in environments where the structure was informal. That word “informal” is doing a lot of heavy lifting, so let me be precise about what it actually means. It means no contracts. No guarantees. No legal recourse when things go wrong. It means building significant backend systems, contributing real engineering labor, solving problems that would cost a company thousands of dollars to fix through formal channels, and then discovering that compensation is tied not to contribution but to physical presence. I could do a week's worth of engineering work, designing architecture, writing code, debugging production issues at three in the morning, and be paid for a single day of attendance, because the payment structure only recognized bodies in rooms, not code in repositories. Not thinking. Not problem-solving. Not the actual value of what was produced.
I was a shadow engineer. Building real systems, doing real work, but without proportional recognition or stability. Visible enough to be used. Invisible enough to be underpaid. Essential to the system but external to its rewards. You build what others take credit for. You fix what others broke. Your payment arrives late, partial, or not at all. And you take it because what's the alternative? Refuse and get nothing? At least partial pay is something. At least it keeps the lights on for another week.
There were situations where collaboration meant contributing more than I was formally acknowledged for. Times when the intensity of the work affected basic needs like food, rest, the ability to step away from the screen and breathe. Times when I had to choose between buying data to keep working and buying food to keep living. No one talks about that part. No one writes about the hunger behind the code. The skipped meals that funded the server time. The nights spent debugging on an empty stomach because the project had to be done and the client didn't care about your circumstances. They only cared about the deliverable. And I delivered. Every time. Hungry or not. Tired or not. Recognized or not.
There were also attempts to access larger ecosystems and communities, the places where opportunities are supposed to live, where networks are supposed to form, where careers are supposed to launch. Sometimes those interactions were structured in ways that made entry conditional rather than open.
Instead of "here's how you contribute, let's see what you can do," the message was "compete first, then maybe we'll talk." Hackathons as gatekeeping. Competitions as filters. The assumption being that if you couldn't win a weekend sprint under artificial pressure and time constraints, you weren't worth taking seriously, never mind that hackathons test speed and presentation, not depth and systems thinking. Never mind that real engineering is about sustained, careful work, not weekend heroics.