From Game Hacking to Psychology: How One Specialty Opened Up the World
This article was generated by AI. The accuracy of the content is not guaranteed, and we accept no responsibility for any damages resulting from use of this article. By continuing to read, you agree to the Terms of Use.
- Intended readers: People thinking about their career or learning direction; junior to mid-career engineers; anyone wanting to look back on how their interests have shifted over time.
- Prerequisites: None.
- Reading time: About 19 minutes.
- Note: This is an essay reconstructed by AI based on the author’s career and reflections; descriptions of details, inner thoughts, and specific impressions include AI-generated supplementation.
Overview
As a kid I hacked games for fun. In middle and high school I started writing BASIC and machine language on an MSX. At a vocational school I learned C, and by the end I could write something close to middleware-level code on my own — at least at the level my own projects needed. My self-image back then was simple: “I’m into technical stuff, and I’m good at it.”
A few years into working life, a quiet doubt set in. Maybe I didn’t actually love technology. Maybe it had just been easy for me — and I’d been confusing the two.
Even so, the deep understanding I’d accumulated as a kid ended up becoming the axis around which all my later learning organized itself. Curiosity eventually pulled me toward psychology, which I started using as a tool for solving problems in service design and interpersonal communication “the lazy way.” Whenever I take on a new field, I notice myself hooking it back to that axis to bring it in.
This piece is a personal look back at that path, framed as one example of early specialization. I’ll touch lightly on supporting research — the distinction between Kind and Wicked learning environments, schema theory’s account of why prior knowledge accelerates learning — but the main thread is just the experience itself. My case is shaped by the luck of running into a relatively rule-stable domain (technology) at the right time; other patterns work for other people. I’ll land on a modest claim: building one deep axis somewhere in your life makes everything you learn afterward lighter.
Middle and High School — MSX, BASIC, and Then Machine Language
The first programming I did seriously was BASIC on an MSX in middle and high school. Type in a listing, run it, change a line, watch the behavior change. Primitive by today’s standards, but the feeling of this line I just wrote is moving things on the screen was visceral.
BASIC has obvious limits, though. Speed. The range of what you can actually do. Direct hardware control. So I went deeper into machine language — calling assembly routines from BASIC, writing CPU instructions directly into specific memory regions. Building, by hand, the bytes that the CPU reads. Looking back, that sensation of having almost nothing between you and the hardware was unusually strong.
And the machine language knowledge — that’s what eventually opened the door to game hacking.
Game Hacking as the “Application Layer”
Playing games as a kid started out as just playing games. I couldn’t beat a level. I wanted an unfair advantage. I was curious about what was actually happening inside the cartridge. Those impulses had been there the whole time.
But they only became actionable after I’d studied machine language. Once you can read a memory map and parse CPU instructions, you can ask things like: what does this address hold? What happens to the life counter if I overwrite this byte? Learning machine language is what opened the door into the guts of the games. That ordering matters. The original drive was “I want to peek inside this game,” but the drive alone produces nothing — it had to meet a concrete technique before the experience of systems can be opened up and understood hardened into something I actually felt.
What stayed with me from that period wasn’t really the technical content. It was a stance: if you have the tools to understand something, you can reach the back side of the world. That stance became the substrate for everything I later picked up. Whenever I hit a wall, instead of pushing harder on the surface, I now treat go look at how the thing actually works as a real option. That habit was formed here.
Vocational School — Meeting C
At vocational school I learned C properly. The Windows 95 era was just kicking in, and the sense that I can build software that runs on real PCs was getting stronger by the month.
Within a few years I could write what I’d loosely call middleware-level code — not production-grade, but solid enough that “I can build whatever I personally need” was a fair description. Having touched the internals end-to-end mattered, even if the quality bar was my own.
Because I’d already worked close to the metal in machine language on the MSX, C’s “address this memory directly” / “build structures with pointers” mental model just slid in. If anything, C felt comfortably high-level compared to assembly. Past experience had become the foundation for understanding the new thing — and looking back, that was the first concrete instance of a pattern I’d later notice everywhere: with an axis already in place, new things go down easier.
My self-image at this point was unsubtle: “I love technical stuff, and I’m good at it.” Technology had been wired into something close to identity.
The Turn — Not “Love,” Just “Easy”
A few years into working professionally, something started to feel off.
The more I worked in technical settings as my actual job, the more I noticed myself stopping to ask, do I actually love this? New language drops, new framework hype cycles — I wasn’t getting that unconditional spark people seemed to expect.
The answer I eventually arrived at was unflattering but probably accurate.
Maybe I don’t love tech. Maybe it was just easy for me.
Years of accumulation had made me unusually well-fitted to the technical domain. Learning new things in that area cost me less effort than learning new things elsewhere. Because it cost less, I kept doing it. Because I kept doing it, I got better. Because I got better, I started calling that “love.”
Small realization, but it landed hard. Love and easy are easy to confuse. Especially if you steep yourself in one thing from a young age, the line between high natural fit and genuine passion tends to blur to invisibility.
And Yet — That’s What Became the Axis
Here’s where it gets interesting, though. The thing that was “just easy” ended up becoming the axis for everything I learned afterward.
When I take on a new field, I almost never build understanding from zero. I run new material through a translation step first — what is this, in terms I already know? — and only then bring it in. For example:
- I hear a management discussion and think, this is closer to a scheduling or priority queue problem.
- I read something from psychology and think, this could be modeled as a state machine.
- I read economics and end up viewing it as externally observable behavior plus its internal implementation.
This “translate-while-you-learn” style feels natural to me, but in retrospect it only works because there’s a deep axis to translate into.
This isn’t unique to me — it’s a long-standing topic in cognitive science. Schema theory, developed by Bartlett, Rumelhart, Anderson and others, holds that people understand new information by hooking it into the knowledge structures (schemas) they already have1. Richard Anderson put it bluntly: the schemas an individual already has are the primary determinant of what they’ll learn from a new text1.
In rough terms: the deeper you know a domain, the more you can graft new things onto an existing structure rather than scaffold from scratch each time.
My experience is just a personal instance of that effect — prior structure makes new learning lighter. Reading the research as a sort of reverse-engineered map of my own learning style, the click was real: oh, that’s what I’ve been doing.
Branching Out — Why Psychology, of All Things
Once the axis was in place, my interests started moving outward.
The first thing that grabbed me was the world of products and services. Why did this one take off, while the lookalike with a similar concept didn’t? Where do trends come from? Look at it for a while and you start to see that running a service, or growing one that’s already gotten traction, has identifiable methods and patterns.
For new ventures specifically, if you already know what you want to build, the playbook for shaping it is reasonably well-formalized — Lean Startup, Jobs-to-be-Done, Design Thinking, and so on. Run hypothesis-validation loops. Start from the customer’s job to be done. Prototype quickly. The toolkit is right there.
The earlier step — figuring out what you want to build in the first place — turned out to be different in kind. Too many tangled inputs, too much luck, too little clean structure. The more I read, the more it boiled down to “no single right answer; structurally, these conditions tend to make it more likely.” Genuinely interesting, but a poor fit for my “I want to solve this efficiently” tendency.
That said, there are domains that approach the finding what you want problem from the psychology and career-design side. Two well-known entry points: Self-Determination Theory2, which models the sources of intrinsic motivation, and Designing Your Life3, which applies design thinking to career discovery (out of Stanford’s Life Design Lab). I’d like to study these properly myself; that’s a topic for another piece.
Where my attention naturally landed instead was psychology. Psychology already has a massive accumulated body of research, and a lot of it can be carried around as reasonably crisp rules of thumb — cognitive biases, motivation, interpersonal patterns, communication models. Not perfect predictors, but partially structured: in this situation, this bias tends to fire; this kind of feedback tends to crater motivation. There were edges I could grab.
And here’s where I caught myself doing something useful: the difference between “finding what you want to build” and “psychology” wasn’t really about humans vs. machines — for me it was about how easy the rules were to extract. The first one is hard to extract from, so progress feels slow. The second one yields handles, so I lean in. The honest version of why I went toward psychology isn’t because I’m interested in people; it’s because the system called “people” looked like it had relatively legible rules.
As an example of how I actually use it: there’s a concept I find appealing — call it a “Jibun Setsumeisho” (自分説明書 — literally a “self instruction manual,” a personal user-guide document). Most internal-communication friction comes from people not sharing how they tick — assumptions, defaults, quirks. If everyone wrote a small document about themselves and shared it, you’d cut a meaningful chunk of misunderstanding. Whether that scales into a formal company-wide system is a separate question, but the underlying move — use psychology and communication research as tools for solving the problem in front of you the lazy way — is consistent across everything I do.
Self-Diagnosis — What Am I, Actually
Trying to put the root of all this into words, here’s what I land on.
- It’s not really “I love technical stuff.”
- It’s not really “I love learning.”
- It’s: I see a problem and I want to solve it. And I don’t care much about the means — I care about solving it as efficiently as possible.
That stance is probably as close to my core as anything.
There’s a famous Larry Wall line in software circles: “The three great virtues of a programmer: Laziness, Impatience, and Hubris.”4 Laziness there means the kind of laziness that makes you sweat to avoid sweating later — write the automation script because you refuse to do the same manual task twice.
I think I’m the kind of person where that “laziness” leaks out beyond the technical domain. Not just code: organizational operations, interpersonal communication, my own life design — all of it ends up running through this should be solvable more cheaply somewhere in my head.
One disclaimer, so this doesn’t read worse than it is: I’m not claiming the title of “great engineer” for myself. Larry Wall’s line is a tongue-in-cheek list of programmer virtues, and trying to vault myself onto that pedestal would make the whole essay ring false. I’d rather stay life-sized: I’m just someone whose desire to solve things efficiently happened to fit well with technology. That’s it.
But This Is Just My Case
If you read this as “early specialization is the right answer,” that’s not what I’m saying.
My case rides on several pieces of luck.
- The thing I ran into early was technology. Tech is a relatively rule-stable domain — code either runs or it doesn’t, and feedback is fast. Compared to executive judgment or interpersonal work, it’s a much more learnable structure.
- That structure happened to match my temperament. Some people thrive in ambiguity and keep moving without clear rules; I do better in domains where the rules are at least visible. Lucky alignment, not virtue.
- The era helped. Windows 95 was the moment personal computers and the internet came down into ordinary households, and the means to teach yourself things expanded dramatically. Books, magazines, early online documentation — all within reach.
In research vocabulary, what I lucked into was a relatively kind learning environment. Hogarth, Lejarraga, and Soyer (2015) formalized this term: a learning environment with stable rules where feedback is fast and accurate5. Chess, golf, typical programming exercises — these live there.
The opposite is a wicked learning environment: vague rules, delayed or misleading feedback, novel situations5. Most of modern life — management, politics, complex client work, big personal decisions — sits closer to the wicked end.
In kind environments, going deep early tends to pay off. The rules are stable, so accumulated knowledge doesn’t expire. In wicked environments, early specialization can actively hurt you — you end up burning in the wrong patterns.
David Epstein laid this out in Range: Why Generalists Triumph in a Specialized World (2019). Many high performers don’t follow an early-specialization track; they go through a sampling period (multiple domains) and specialize late6. The well-known contrast he draws is Tiger Woods (early specialization icon) vs. Roger Federer (multi-sport background, then tennis)6.
So “find your thing early and go deep” is not a universal route — it just happens to work for people who landed in a kind-leaning domain. That’s the most important caveat in this whole piece.
For other patterns — late axis-building, multiple axes, more systematic concept maps — see the sister pieces: Escaping the Jack-of-All-Trades Trap: The Late Specialization Path (Article 2) and I-shaped, T-shaped, Pi-shaped: The Depth × Breadth Skill Matrix (Article 3).
Wrap-Up — The Value of an Axis (Just Not “Early,” Specifically “Somewhere”)
Let me bring this back to the modest version.
What my own experience actually says isn’t that early specialization is correct. It’s:
At some point in your life, build one deep axis. Everything you learn after that gets lighter.
Not “deep early.” Just deep, somewhere.
With an axis in place, learning a new field doesn’t require scaffolding from zero. You hook the new information into structures you already have. The felt sense is just — easier. Schema theory’s “connect new information to existing schemas” mechanism is doing the lifting1.
Conversely, if you stay broad-and-shallow forever, you don’t have rich connection points anywhere, and every new thing means starting over. That, I think, is the real anatomy of “jack of all trades, master of none.” A sampling period itself isn’t bad. A sampling period that never ends is.
I happened to land on a technical axis early. That was largely luck. But when you build the axis varies a lot from person to person. Some people find it in their twenties. Some don’t get to it until their late thirties. Building an axis late can actually be a strength in complex domains, not a weakness6.
The key, I think, isn’t the timing. It’s making sure you don’t end your story in broad-and-shallow mode — that at some point you decide, this is where I dig. Whatever happens after that becomes the foundation underneath the rest of your learning life. That’s the most I’m willing to claim from my own experience.
This is written as a personal essay, but if you recognize yourself in it — I think I bumped into my thing early too, or I have an axis, but I can’t seem to branch out from it — there might be something useful in here.
If you instead feel I’ve done a bunch of things and none of them stuck, the piece you probably want is Escaping the Jack-of-All-Trades Trap: The Late Specialization Path (Article 2). And if you’d rather see the generalist/specialist debate organized as a clean concept map, I-shaped, T-shaped, Pi-shaped: The Depth × Breadth Skill Matrix (Article 3) is the one for you.
Related Articles
Other pieces touching on this theme:
- “Loving programming” isn’t enough to survive? Looking at the AI-era debate from multiple angles — The layers underneath “love,” and the skill set shift the AI era is forcing.
- An Action Plan for Your 40s, Part 3: Survival Skill Strategy — Building T-shaped skills, broken down by life stage.
- Cognitive Investment Strategy by Age: How to Use Your Brain in the AI Era — Designing your learning by decade.
- Why the Market Value of Deep Specialists Is About to Explode — Why deep expertise becomes scarcer (and more valuable) under AI.
Series articles:
- Escaping the Jack-of-All-Trades Trap: The Late Specialization Path — For people who feel “I’ve tried a lot of things and none of them stuck.” A late-specialization prescription.
- I-shaped, T-shaped, Pi-shaped: The Depth × Breadth Skill Matrix — A clean concept map of skill shapes, and why the word “generalist” gets so confused.
References
References are listed in the order they appear in the text.
A Complete Guide to Schema Theory and its Role in Education — Education Corner. [Reliability: Medium] An integrated overview of schema theory research drawing on Bartlett, Rumelhart, Anderson, Sweller, Chi, and others. ↩︎ ↩︎2 ↩︎3
Self-Determination Theory — A theory of motivation developed by Edward L. Deci and Richard M. Ryan. Three basic psychological needs — Autonomy, Competence, and Relatedness — are held to underpin intrinsic motivation and well-being. Since the 1985 original, an extensive empirical literature has accumulated across education, the workplace, health, and sport. [Reliability: High] ↩︎
Designing Your Life — A book, course, and workshop series by Bill Burnett & Dave Evans (Stanford Life Design Lab / Design Program). Applies d.school-style design thinking methods (prototyping, reframing, considering multiple parallel options) to the discovery of career and life direction. The flagship book is Designing Your Life: How to Build a Well-Lived, Joyful Life (2016, Knopf). [Reliability: Medium-High] Less an academic theory than a systematized practical method built out of a popular Stanford course. ↩︎
Larry Wall, Tom Christiansen, Randal L. Schwartz. Programming Perl, 2nd Edition. O’Reilly & Associates, 1996. [Reliability: High] The edition where the now-famous Glossary entry “The three great virtues of a programmer: Laziness, Impatience, and Hubris” appears. ↩︎
The Two Settings of Kind and Wicked Learning Environments — Hogarth, R. M., Lejarraga, T., & Soyer, E. (2015). Current Directions in Psychological Science, 24(5), 379–385. doi:10.1177/0963721415591878 [Reliability: High] The peer-reviewed paper that formalized the kind/wicked learning environment distinction. ↩︎ ↩︎2
Range: Why Generalists Triumph in a Specialized World — David Epstein (2019). Riverhead Books. [Reliability: Medium-High] #1 New York Times bestseller. Argues against early specialization, draws the Tiger Woods vs. Roger Federer contrast, and emphasizes the value of a sampling period. As a popular synthesis of many studies, individual research claims should be checked at the source. ↩︎ ↩︎2 ↩︎3