When I think about what it means to be unconventional, to learn to figure things out on your own, I see a version of myself staring right back at me.
I did not graduate high school and later earned my GED. I did not graduate with a computer science degree, walk across a stage, land an internship, and slide neatly into a junior developer position. I spent years working retail. I became a manager. I took care of someone I loved. I stepped away from a traditional career path. I went through a software development training program and did not finish it.
I taught myself anyway. I built things anyway. Somewhere in the middle of all that, I became the kind of person who could sit in front of a blank IDE and try to build something.
I know there is a version of me that looks better on paper. Sometimes I think about her.
She went to college at 18. She picked computer science immediately. She had internships every summer. She graduated at 22 with a GitHub full of class projects and a professor willing to write her recommendations.
Her resume does not need explanations. There is no career break. There are no weird transitions. No unfinished training program. No years spent in retail and managing a grocery store. No caregiving. No awkward answer when someone asks why she didn't just take the normal route.
In my honest opinion, she probably gets taken seriously a little faster.
But she also doesn't exist.
I do.
And I am tired of feeling like I'm supposed to apologize for that. Like I have to show up ten times harder just to be seen on the same level.
I learned software development in pieces
My education in technology has been scattered across years.
Some of it came from formal training. A lot of it came from late-night YouTube tutorials. Some came from breaking things. Some came from staring at an error message until I finally understood what the computer was actually trying to tell me.
Some came from building things nobody asked me to build. Some came from realizing halfway through a project that my architecture was terrible and rebuilding it.
Some came from GitHub issues, code reviews, Stack Overflow threads, documentation, AI tools, other developers, and pure stubbornness.
That education doesn't fit nicely inside a degree section, and I'm aware of that. It's not the prettiest.
But it is real.
I have worked with APIs, databases, React, Python, GTK, deployment infrastructure, CMS platforms, 3D environments, automation, and all the wonderfully annoying glue that holds software together.
I have shipped software that other people use.
The suspicion of the self-taught
My "Open Learning" Notebook where I document everything that I learn
Being self-taught means constantly proving that you're not pretending. That you're not an imposter. That you earned the right to call yourself a dev as much as any four-year graduate. We just got there differently.
There is a strange suspicion attached to being self-taught. A suspicion of yourself.
People hear it and sometimes translate it into beginner. Or hobbyist. Or someone who copies tutorials.
And when your path is unconventional enough, people start inspecting every part of you for evidence that you're not a "real" developer.
Did you use AI? Did you finish the bootcamp? Where is your degree? How many years of professional experience do you have? Was that a personal project or a real project? Was your freelance work really freelance work? How many users? How many stars? How much revenue? How many commits? How many interviews?
How many times do I have to prove I know how to build something before the conversation changes from:
"Can she actually code?"
to:
"What could she build here?"
Those are very different questions.
I wish more people asked the second one.
And then there's my identity
There is another part of this story that is harder to write about.
I am a transgender woman.
That should be one of the least interesting things about my ability to write software. It is not a programming language. It is not a framework. It doesn't change whether my code compiles.
But it changes the room sometimes. Awkwardly, most of the time. I'm used to people tiptoeing around me.
I have watched conversations change. Faces sink. I have felt people take me less seriously. I have been rejected in ways where I couldn't always prove exactly what happened, and in other situations where the message felt much less ambiguous. Many times, there was just silence. Nothing at all.
That uncertainty does something to you.
Because after enough rejection, you start asking questions you can't answer.
Was my resume not good enough? Was my experience too unconventional? Was I too nervous? Was someone else simply better? Was it because I'm trans?
You rarely get to know.
You just get another email that says:
We decided to move forward with other candidates.
And somehow you're expected to smile, improve your resume, practice another LeetCode problem, rewrite another portfolio page, and apply again.
Sometimes I can do that.
Sometimes it fucking hurts.
I'm tired of pretending rejection is always motivational
There is an entire industry built around making rejection sound beautiful.
"Every no gets you closer to a yes."
"Keep grinding."
"Your time will come."
I understand why people say those things. But sometimes rejection doesn't make you stronger. Sometimes it makes you sit on the edge of your bed and wonder whether you misunderstood your own potential. Sometimes it makes you open your GitHub, stare at months of work, and wonder why none of it seems to count.
That feeling is especially brutal when you've already spent years rebuilding your life. My career break wasn't optional, yet I'm expected to make it pretty. To tell the recruiter how it was all for my own development and how much I overcame.
I lost time
That is the part I struggle with the most.
I feel behind. I know comparison is useless and careers aren't races. I still feel it. I look at people my age with six or seven years of engineering experience, senior titles, teams, and conference talks, and I'm sitting here trying to convince someone to give me the first real shot.
There is grief in that. I don't think we talk about it enough. The grief of realizing how different your life might have looked if you'd known who you were sooner, or if circumstances had been different, or if somebody had opened the door a few years earlier.
But I can't build a career out of the life I could have had.
I only get this one.
So I started building the proof myself
At some point, waiting for permission stopped making sense. So I built things:
I wrote about what I learned. People started reading. Then more people. People commented. People shared things.
A community I had spent years being afraid I wasn't qualified to join started treating me like I belonged there.
That mattered more than I expected.
I still don't feel established. I'm still applying, still learning, still filling gaps in my knowledge, and I still read job descriptions and think, maybe they mean someone else.
The difference now is that I have evidence. When the voice in my head says you are not a real developer, I don't have to argue with feelings anymore. I can point at the work.
My path is messy because my life was messy
That doesn't make it worthless.
Retail taught me how to communicate with people. Management taught me responsibility. Caregiving taught me patience in ways I never wanted to learn. Starting over taught me humility. Teaching myself software development taught me how to learn when nobody is standing beside me with a curriculum.
Being transgender taught me something else entirely: sometimes you have to build a life before other people understand it.
Maybe that's why software feels so natural to me. You start with something that doesn't exist. You imagine what it could become. Then you build it piece by piece, even when other people don't understand what you're making yet. Sometimes you barely understand it yourself.
You keep going anyway.
I do belong here
I still hesitate when I write that. That probably tells you how deeply the opposite message can sink in.
But I'm trying to stop asking permission. I don't need a perfectly linear career to be a developer. I don't need a computer science degree to care deeply about computer science. And I definitely don't need someone else's comfort with my identity to determine how seriously I take my own work.
I have a lot left to learn.
Good. That means I'm still growing.
I'm not asking anyone to lower the bar. I'm asking for the chance to show what I can do.
And if that chance takes longer to arrive than it should?
Fine.
I'll keep building while I wait.
This took me a long time to write and even longer to publish. If it landed with you, thank you. If you're commenting, I'd appreciate kindness.



Top comments (12)
First of all, sticking with it is the hardest part and you've got that down. Keep fighting your way through it. I've been there (and wrote about it here, if you're curious). But keep building and writing, too!! I know I enjoy reading all about it. 🥰
This made my morning, thanks so much! I love your writing!
Same! Keep it up!!
I’ve seen this happen with developers who didn’t have the usual credentials but could show the actual system they had built.
For example, instead of saying “I know Laravel”, they could walk through a production API, explain why they put rate limiting at the middleware layer, why some jobs go through Redis queues, and then show how they handled a failed job without losing the original request.
That kind of evidence doesn’t require someone to pretend they’re qualified. You can actually see how they think and what they can do.
I really like that you’re pushing this idea. Making the work visible is a much more useful conversation than trying to fit everyone into the same traditional path.
thank you!!
Tired of apologizing for a path that does not look neat on paper, man that hit. Retail, caregiving, unfinished training program, still showing up and building anyway. That feeling that you have to work ten times harder just to be taken seriously is not proof you are behind. Your subconscious decides how safe you are through a filter called the RAS. Rooms full of people with the clean resume read as a threat, so it clamps. Knowing you can sit in front of a blank IDE and ship does not unlock it.
You cannot will that open by polishing the story harder. Your brain is a neural network trained on every time you felt like you had to explain yourself. Old data says prove you belong. New data is the only update.
So get reps outside the resume game. Genuine compliment to a stranger. When that is easy, add a bit of conversation. Then stay in it a little longer. Does not matter how it goes. The action is the win, not looking like the version who never took a detour. When one room gets easy, find a harder one. That is how the lock comes off.
The shift you name at the end - from 'can she code' to 'what could she build here' - is really a question about evidence format. The Open Learning notebook is the right artifact: it moves the proof out of credentials and into inspectable work. One upgrade: for each project in it, add five lines of 'what broke, what I changed, what I'd do differently' - the rebuilt-the-terrible-architecture stories are worth more than greenfield demos because they show judgment, and judgment is the thing the paper version can't fake. That notebook plus 'shipped software other people use' already answers the second question; put the two next to each other where reviewers look first.
Believe it or not, in my life's experience, your background is what puts you ahead of most modern times (by which I mean modern times) developers. Having dealt with real people, having solved real world problems - and, not to forget, having overcome or at least faced personal path-choices - provides you with something most "SOTA" developers don't have: Resiliance.
My own journey hasn't been any kind of "officially sanctioned development carreer", quite the opposite. Yes, I grew up with PET2001 being a thing, time slots on the VAX being rare and trying to figure out where to place the "@" correctly in what they called "email", that modern schnick-schnack. Still, I worked places - as in worked places.
I like to call it "I speak user". I speak color, I speak print (I speak postscript). I also speak "where's the money decision making" and I compromise. In my carreer, having worked hands-on with machines, people, other people, animals, very different other machines, more people - has always helped me being of MORE HELP to those I worked for (the users, see my long-winded self-reflection ;-) ).
I am convinced, firmly and crossing fingerly, that people with A LIFE in their back will be sought for. We need to make it through these years (and I have no answer to the question how history will look back on them), but we bring to the table what "classic straight forward developers" can not provide, we can draw connections between worlds that AI does not understand (yet?) and that people who have NOT made their own life experiences outside 0s and 1s can not read up on.
We just need to make it through to the other side. Hard as that seems right now.
I relate to this so much. I’ve learned a huge amount by building things, breaking things, figuring out why they broke, experimenting with new tools, and just constantly teaching myself whatever I needed to know next. I know I have real skills, and I can look at the things I’ve built and see the proof of that.
But on paper? Sometimes I feel completely unqualified.
My background doesn’t follow the neat, traditional developer path either, so there’s this weird disconnect between what I know I can actually do and what a resume makes it look like I can do. That part about wanting people to move from “Can she actually code?” to “What could she build here?” really got me.
I don’t want anyone to lower the bar for me either. I just want the chance to actually reach it and show what I can do.
Really glad you wrote this. I think a lot more of us are living some version of this than we probably realize.
Thanks for your post, your resilence and everything you've overcome are impressive. Keep going because you're on the right path.
i think the open learning notebook is the right artifact
Some comments may only be visible to logged-in visitors. Sign in to view all comments.