- The Fracture Between Passion and Path
1. The Void Between Desire and Destiny
I wasn’t supposed to end up in tech. Or at least, that’s what the invisible scaffolding of my early life seemed to suggest.
I studied neither computer science nor engineering. In fact, during my university years, the very idea of writing code felt alien—like deciphering a language written by machines, for machines. I was immersed in the humanities: literature, philosophy, cross-cultural communication. I spent my days parsing metaphors, unpacking Kantian imperatives, and discussing the meaning of identity in postmodern society.
But beneath that intellectual serenity was a quiet disquiet. I was drawn to creation—not in the abstract sense, but in the builder’s sense. I wanted to make things that worked. Things that could live beyond the page, things that could solve problems, and things that might—just maybe—be useful to someone other than myself.
This desire felt unsanctioned by my background. There was no roadmap. No curriculum. No advisor suggesting “maybe try JavaScript.” The gap between what I was and what I wanted to become was unmeasurable.
But what I would come to realize is that some journeys only begin when you’re willing to wander off the map.
2. Japan: A Magnetic Paradox
Before I ever touched a terminal, I was already in Japan.
I had come not for tech, but for meaning. Japan, to me, symbolized a unique tension: ancient yet modern, stoic yet whimsical, structured yet bizarrely fluid. I arrived as an English teacher, unsure of what I was seeking—only certain that I was seeking something.
There was beauty in the routine. The quiet rituals of daily life: trains arriving with uncanny precision, convenience stores that never slept, and the unspoken poetry of bowing.
But there was also isolation.
Language wasn’t the only barrier. I began to feel the weight of cultural opacity. I was floating on the periphery of a system I couldn’t access. This feeling of being “outside” mirrored something deeper inside me. I was not only culturally displaced, but professionally adrift.
I knew I wanted to do more than teach. Not because teaching wasn’t noble, but because it wasn’t my calling.
But every job posting for tech positions listed requirements that looked like a foreign tongue:
“BS in Computer Science or equivalent experience.”
“3+ years working with modern frameworks.”
“Git, Docker, AWS, CI/CD pipelines.”
It felt like being told to scale Mount Fuji in flip-flops.
3. The Awakening
Oddly, the first spark came from something completely unrelated to coding: a broken microwave.
It refused to work, stubbornly blinking “E03” on the screen. I spent hours online researching Japanese manuals, translating obscure technical codes. Somewhere between Reddit threads and Stack Overflow rabbit holes, I stumbled into a post where someone had automated their home appliances using Python and Raspberry Pi.
I didn’t understand a word of it. But I was hooked.
For the first time, tech didn’t feel like an impenetrable wall. It felt like a puzzle. A challenge. A craft.
I downloaded Python.
And I wrote my first line of code:
print("Hello, world!")
It didn’t do anything remarkable. But it felt like magic.
Not the kind of magic that comes from illusions, but the kind that emerges when you catch a glimpse of a new universe opening up—one in which you’re not just a passive observer, but an active creator.
4. Fighting Impostor Syndrome Before You Even Begin
Before I ever wrote a function, I had to write a new narrative for myself.
The hardest part of breaking into tech wasn’t the syntax, or the math, or even the time—it was the identity crisis. I wasn’t “one of them.” I wasn’t a CS grad. I didn’t speak in acronyms. I hadn’t grown up on Linux distros or rebuilt PCs from scratch.
I felt like a fraud.
But then I realized: the tech world is full of people who started in other disciplines—musicians, chefs, historians. It is a world built not just on logic, but on problem-solving. And every discipline solves problems.
My background in philosophy had trained me to reason carefully. My work in cross-cultural spaces had made me adaptable. My time in Japan had taught me patience, humility, and respect for structure.
The imposter syndrome never fully left. But I learned to dance with it—like a shadow that reminds you which direction the light is coming from.
5. The First Leap: Committing Without Certainty
Committing to learning programming wasn’t a moment—it was a series of decisions. Small, often clumsy ones.
- Watching free YouTube tutorials at midnight after work.
- Buying books I barely understood (“Automate the Boring Stuff” sat on my shelf for weeks before I dared open it).
- Writing ugly, buggy scripts and feeling a strange pride in every syntax error.
- Creating a GitHub account that stayed empty for months.
But each decision, no matter how small, was a declaration:
I am not stuck where I started.
I began to see my non-CS background not as a deficit, but as a secret weapon.
I wasn’t limited by what I “should” know. I was free to explore. To fail. To learn sideways.
And in that space of uncertainty, something remarkable happened:
I started to become an engineer.
- The Deep Work: Learning to Learn, Coding in the Shadows, and Rebuilding Myself from the Ground Up
1. Learning to Learn in a World Not Designed for You
When you don’t have a Computer Science background, learning to code feels like trying to build a spaceship with IKEA instructions written in ancient Greek.
I had to confront a brutal truth early: most tutorials aren’t made for people like me. They assume you know what a variable is. They skip the part about how functions are actually like philosophical abstractions. They gloss over the why and focus too fast on the how.
So I had to unlearn the way I learned.
In university, learning meant essays, discussions, long readings. In tech, it meant failing fast and fixing it faster. It meant experimenting without knowing the theory, learning just enough to try, and then breaking something on purpose to see what would happen.
I began to embrace a new model of learning:
- Learn → Build → Break → Understand → Repeat
I stopped fearing failure because failure became feedback. Every error was a message. Every crash was a clue.
And with every loop of that cycle, I got a little stronger.
2. The Discipline of the Invisible Work
Let me be honest: I spent hundreds of hours coding in complete isolation. No mentors. No team. No feedback loops. Just me, my laptop, and an endless parade of bugs.
This was the part no one tells you about: the invisible work.
You don’t post it on LinkedIn. You don’t talk about it at parties. It doesn’t get you certificates or praise. But it changes you.
I remember nights when I’d spend five hours fixing a single error—only to realize I had forgotten a semicolon. But I didn’t quit. Because beneath the frustration was something sacred: ownership. This was mine. Every line, every struggle, every small victory.
In those quiet, unseen hours, I became intimate with the tools:
- I learned how to read documentation like sacred text.
- I memorized Stack Overflow threads like parables.
- I learned to Google with surgical precision.
- I developed debugging skills like a detective at a crime scene.
Every solved problem was a brick in the cathedral I was building.
3. The Rise of Rituals and Systems
Transformation doesn’t happen by inspiration. It happens by ritual.
I started waking up early. Not because I’m a morning person, but because the morning is when the world is silent, and the mind is clean.
I built systems:
- A daily coding journal to track what I learned, what broke, and what I fixed.
- A GitHub habit: push something—anything—every single day.
- A study loop: 45 minutes of deep focus, 15-minute break, repeated three times.
These were not productivity hacks. They were survival mechanisms. When motivation fails (and it always does), ritual saves you.
Tech is not about genius. It’s about consistency. The mind grows by repetition, by struggle, by showing up when no one is watching.
I wasn’t building a résumé. I was rewriting my identity—one habit at a time.
4. Building Projects That Weren’t for a Résumé
At first, I built useless things. A countdown timer for my ramen noodles. A command-line tool to randomly play one of my favorite Studio Ghibli soundtracks. A simple blog generator written in Python that no one would ever read.
But these were not wasted hours.
Because they taught me something no course could:
- How to finish what I start.
- How to turn vague ideas into concrete programs.
- How to solve problems that didn’t come with a solution.
Eventually, I built my first real web app: a minimalist journaling tool for expats in Japan. It had a login system, Markdown support, and a feature that let users mark how “homesick” they felt each day.
It was buggy. It crashed often. But it worked.
And for the first time, I felt like a creator—not just a learner.
That project never went viral. But it did something better: it whispered to me, “You belong here.”
5. Reaching Out, Leveling Up
After a year in the shadows, I realized something: I couldn’t do this alone forever.
So I stepped into the light.
- I joined dev communities on Discord and Reddit.
- I started writing blog posts about my journey.
- I reached out to junior engineers on LinkedIn and asked, “How did you get your first job?”
Most people ignored me. Some responded. A few became mentors.
One of them—a developer working in Tokyo—told me, “Your story is your strength. You just need to tell it clearly.”
So I built a portfolio not just with projects, but with narrative. I didn’t hide my non-CS past. I highlighted it. I wrote about what philosophy taught me about abstraction. How teaching made me better at documentation. How living in Japan taught me to be deeply, obsessively detail-oriented.
And slowly, the world started to listen.
- The Inner Collapse: Rejections, Cultural Barriers, and the Philosophy of Not Giving Up
1. The Resume That Went Into the Void
After months—no, over a year—of building, studying, debugging, and self-coaching, I felt ready.
I polished my résumé. Tailored every bullet point. Uploaded my best projects to GitHub. Practiced elevator pitches and mock interviews. I thought: “Finally, I’ve earned a seat at the table.”
So I started applying.
First five jobs? No response.
Next ten? Automatic rejections.
By the fiftieth, I stopped counting.
One rejection email read:
“Unfortunately, your background does not meet the requirements for this position.”
Another simply said:
“We are seeking candidates with a formal CS degree.”
The worst part wasn’t the rejections. It was the silence. The feeling that your work vanished into the void, unnoticed and unloved.
There were nights I stared at my screen thinking:
Was this all a mistake?
2. Japan: Where Belonging Is Earned Slowly
Living in Japan as a foreigner is like being given a seat at the dinner table, but not quite being allowed to touch the food.
You are accepted—but provisionally.
You are welcomed—but distantly.
This extends to tech hiring, too.
Many job posts are in Japanese.
Many teams expect fluent Japanese, not just conversational.
And many companies are risk-averse: they want proven experience, not passionate beginners.
My non-traditional background? It wasn’t just unusual—it was invisible.
No one knew how to place me.
The culture is hierarchical, formal, and slow-moving. And here I was, an uncredentialed nomad trying to break in with duct-taped projects and a LinkedIn post about learning Python.
I didn’t just need to be good. I needed to be impossible to ignore.
3. Impostor Syndrome Is a Lie You Believe
During this phase, impostor syndrome became my daily companion.
Every job description with “3+ years experience” felt like a locked door.
Every tweet from a CS grad who built a startup in six months was a knife.
Every GitHub repo I saw made me feel like I was ten years behind.
But here’s the truth I had to carve into my heart:
Impostor syndrome is not proof that you’re not ready.
It’s proof that you care.
Because only someone who’s trying to do something beyond their current capacity would feel that kind of fear.
I learned to coexist with it—like a shadow on a long walk.
It’s always there.
But it doesn’t have to lead.
4. The Day I Almost Gave Up
There was one day—I remember it vividly—when I closed my laptop and told myself, “I’m done.”
I was tired of sending applications into the abyss.
Tired of writing code that no one used.
Tired of pretending I believed in myself.
I went for a walk in the pouring rain. No umbrella. No direction. Just the sound of failure echoing in my head.
And somewhere in that walk, I asked myself:
“What if the point isn’t to succeed, but to persist?”
What if the true measure of worth wasn’t whether I got a job today, but whether I showed up again tomorrow?
That night, I opened my laptop.
I didn’t apply to another job.
I didn’t build anything fancy.
I just wrote code.
Because even if no one was watching, I was still becoming.
5. The Reframe That Saved Me
Eventually, I stopped thinking of this as “breaking into tech.”
That phrase felt violent—like I was trying to force my way into a place I wasn’t welcome.
Instead, I began to think of it as growing into tech.
Not barging in, but becoming. Not demanding a job, but developing value.
I stopped chasing titles and started chasing truth:
- What do I really enjoy building?
- What kind of problems make me lose track of time?
- What environments bring out my best learning?
These questions became my compass. They didn’t lead me to a job immediately.
They led me back to myself.
And in that, I found a kind of peace:
I am not behind. I am just on my own path.
- Arrival, Redefinition, and the Endless Beginning
1. The Day the Email Came
It was an ordinary Tuesday.
I was drinking lukewarm coffee in a small café in Shimokitazawa, reviewing notes from a TypeScript tutorial I barely understood. The rain outside was soft, uncommitted. My inbox pinged.
Subject: Interview Invitation — Junior Developer Position, Tokyo
Dear [my name],
Thank you for your application. We were impressed by your portfolio and unique background. We’d like to invite you to the next stage of the hiring process.
I stared at the screen.
Not because I was overjoyed—but because something in me shifted.
They saw me.
Not just my code. Not just my résumé.
They saw the narrative—the blood, sweat, and soul I’d poured into every invisible hour.
This wasn’t just an invitation. It was acknowledgment.
Proof that I wasn’t delusional to believe I could do this.
I didn’t cry. I breathed deeply. I smiled like someone who had survived himself.
2. The Interview That Wasn’t About Code
The interview wasn’t what I expected.
Yes, we talked about code. They asked about how I built my journaling app, why I chose Flask over Django, how I managed state in React. But what caught them most?
My story.
They said:
- “We loved the way you documented your learning process.”
- “You clearly know how to teach yourself, and that’s rare.”
- “Your perspective is different—and we need different.”
I realized something then:
Your background is not a weakness to explain away.
It’s a strength to lean into.
The very things I once saw as liabilities—being a foreigner, a philosopher, a self-taught coder, an outsider—had become assets.
Not despite the journey.
Because of it.
3. First Day on the Job: An Alien With a Badge
I’ll never forget my first day as a developer.
The office was modern, quiet, and minimalist—like most things in Japan. My team was kind but reserved. The onboarding doc was in Japanese. I got lost in the internal system after three clicks.
I felt like an alien with a badge.
But I remembered something I’d written in my journal months earlier:
“If you ever make it in, don’t forget what it felt like to be outside.”
So I stayed quiet, listened hard, and observed everything:
- The way senior devs spoke in half-sentences that made full sense.
- The way Slack messages were constructed with unspoken politeness.
- The way junior engineers took initiative—not by knowing, but by asking.
I wasn’t expected to know everything. I was expected to learn visibly.
So I did.
Every day, I asked a question.
Every week, I wrote a reflection post for my team.
Every month, I gave back what I’d learned to someone just starting out.
And slowly, the alien became a member.
4. Redefining What “Engineer” Means
Becoming an engineer didn’t make me feel “arrived.”
It made me feel responsible.
Because now, I had power.
Power to create.
Power to break.
Power to include—or exclude.
I made a quiet vow to myself:
“Never let your confidence outpace your empathy.”
Because the next person who tries to enter this world from the outside?
They’ll be watching.
And they’ll need someone to hold the door open a crack longer.
So I started mentoring others.
Writing about the silent parts of learning.
Tweeting the things I wish someone had told me.
Speaking at small meetups in Tokyo where no one wore suits but everyone wore purpose.
I stopped trying to “belong,” and started trying to build belonging—for others.
5. The Endless Beginning
People often ask me now:
“So, how did you break into tech?”
“How did you go from philosophy to programming?”
“How did you learn to code?”
I never know how to answer in one sentence.
Because this isn’t a how-to. It’s a why-to.
The truth?
I didn’t “break into” tech.
I grew into it.
I didn’t become an engineer the day I got hired.
I became one the day I decided to persist, despite no proof it would work.
And now that I’ve made it “in,” I realize:
There is no final arrival.
No “I’ve made it” moment.
Only endless becoming.
The beginner’s mind never leaves.
The code always breaks.
The learning never ends.
And that’s the beauty of it.
So if you’re out there—reading this in the middle of your own doubt,
typing in the dark,
googling error messages at 3AM,
wondering if you’ll ever be enough—
Let me say this clearly:
You are not late.
You are not behind.
You are already becoming.
Keep going.
Your story matters.

コメント