I Was Rejected as a Developer Before AI Made It Cool. Here's What I Learned.
Years of polite rejection emails convinced me I wasn't good enough. Then the landscape shifted, and the truth became unmistakable.
The Unsponsored Verdict
The Polite “But”
If you have ever tried breaking into software engineering without a traditional computer science path, you know the template by heart:
“We were genuinely impressed by your background and your projects. However, at this time, we have decided to move forward with candidates who possess demonstrated production experience at scale.”
The “but” was where the rejection lived.
I spent years applying. I had three degrees across different fields. I had taught myself Python, JavaScript, CSS, HTML, and SQL. I had deployed web apps that solved real operational problems.
Yet every interview ended at the same invisible wall.
For a long time, I internalized that rejection. I told myself the story: The problem is me. If I know the concepts, and I built the apps, but nobody will hire me, I must simply lack whatever invisible spark a ‘real’ developer has.
I believed that story for years. It dictated what I applied for. What I asked for. What I thought I was allowed to build.
The Landscape Inversion
Then came the generative AI boom.
Almost overnight, the narrative across tech underwent a violent shift. Developers who had spent a decade bragging about their elite pedigree and six-figure compensation were suddenly reading memos telling them that junior engineering work was being automated, condensed, or eliminated.
Watching that happen was a revelation.
I recognized that sinking feeling instantly. But this time, watching it from the outside, the delusion shattered.
The reason I hadn’t been hired years ago wasn’t that my code was defective. It was that hiring funnels are risk-aversion machines designed to look for credentials, not curiosity. When companies had unlimited venture capital, they could afford to demand four rounds of LeetCode binary tree inversions that had zero bearing on whether someone could ship a working web interface.
The door had been shut—not because I wasn’t competent, but because nobody had told me there were dozens of side windows left wide open.
Building Without Permission
Once you realize that permission is an illusion, your relationship with software transforms.
I stopped applying for jobs that required convincing a committee of strangers that I was worthy. Instead, I redirected:
- Technical Writing: Writing clear, jargon-free explanations that bridge the gap between engineering jargon and regular human comprehension.
- Evening Builds: Creating purposeful hobby apps and small utility sites.
- Exploration Without Pressure: Spending an entire evening inspecting GraphQL schemas or testing Model Context Protocol (MCP) servers simply because the mechanics were fascinating.
The Old Formula: Learn -> Apply -> Hope for validation -> Build
The New Formula: Be curious -> Build -> Break it -> Share the receipts
If you are a beginner sitting with an inbox full of polite rejection emails, remember this: the gatekeepers do not own the code editor. They never did. You can open a terminal right now, run your experiments, break your tools, and learn more on a single Tuesday night than six months of waiting for someone else’s approval will ever give you.
Written by CA
Hobbyist developer, journalist background, Scandinavian walks. Testing AI models and web architecture on a refurbished laptop every Tuesday.