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 (2)
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.
i think the open learning notebook is the right artifact