Rejected, Not Defeated: Teen Developer Builds OS & Runs Doom!

Ever been told you're not quite good enough. For Dvir, a budding developer, a job rejection last year wasn't a setback β it was a launchpad.
Background
Heβd walked out of an interview feeling the sting of not having enough CPU knowledge, a gap that many would simply brush off.
He decided to dive headfirst into the deep end, emerging seven months later with MyraOS, his very own 32-bit operating system crafted from C and Assembly β complete with a GUI and the ability to run Doom
His journey, culminating in a Hack Club Summer of 'Make' project, isn't just a testament to youthful ambition; it's a masterclass in turning perceived failure into profound personal growth
Imagine dedicating seven months of your life, not just reading about complex computer architecture, but actively building a fundamental piece of it
Thatβs precisely what Dvir did. βI decided to deepen my understanding in the low level world and learn how things work under the hood,β Dvir shared on Hacker News.
And boy, did he. This wasn't some casual weekend hack.
Dvir describes it as βthe most interesting ride,β fueled by βhours upon hours, blood and tears.
β He didn't just read a few articles; he immersed himself in OS theory, devouring university books, online blogs, and videos
Key resources like the OSDev Wiki and OSTEP (Operating Systems: Three Easy Pieces) became his bibles, alongside studying open-source projects like MellOS and LemonOS
He even leaned on friends who'd walked this daunting path before him
For anyone aspiring to build complex systems, these resources are gold, proving that the collective knowledge of the internet and academic wisdom can be incredibly powerful when coupled with sheer determination
But here's the kicker: understanding the theory is one thing; translating it into functional code is another beast entirely
βI felt like I understood the theory, but still could not connect it into actual code,β Dvir admitted.
That mental block is familiar to many developers, a chasm between abstract concepts and concrete implementation
Yet, Dvir pushed through, knowing that actually coding was the only way forward. His tenacity in bridging this gap is a key insight into his success.
Building MyraOS: A Step-by-Step Ascent He started with the bootloader, an optional component, but one he tackled for the sheer learning value of warming up his Assembly skills
From there, it was a methodical, step-by-step ascent into the foundational layers of computing: VGA Driver: Your First Glimmer of Success His first taste of visual success, getting text to display on screen
The VGA driver is often a rookie OS developer's first tangible win β a small victory, but a crucial confidence booster that something is indeed coming to life
Interrupts (IDT, ISR, IRQ): The CPU's Alarm System These are the CPU's alarm system, crucial for handling events from hardware interactions (like a keyboard press) to critical faults
Mastering interrupts is fundamental to making an OS responsive and stable. Keyboard Driver: Inputting Your Will What good is a screen without input.
This driver let him type and see his words appear, transforming the static screen into an interactive canvas.
Physical Memory Management (PMM): The Bedrock of RAM Usage This is the bedrock of how an OS sees and uses physical RAM, allocating and deallocating chunks of memory to different parts of the system and applications
Paging and Virtual Memory Management: A Leap in Efficiency An advanced leap, crucial for isolating processes from each other and making efficient, secure use of memory
This allows multiple programs to run without stepping on each other's toes
File System (FS) and Physical HDD Drivers: The Data Gatekeepers This was arguably his biggest hurdle. He chose the simpler PATA protocol for the hard drive, and EXT2 for the file system.
Itβs a foundational Linux FS from 1993, popular in hobby OS circles, well-supported, and boasts a wealth of online materials.
This step alone was a marathon, transforming a bare-bones system into one capable of storing and retrieving data
Syscall Support: Bridging Apps and Kernel The bridge between applications and the OS kernel, letting user programs request services like reading a file or allocating memory without direct hardware access, thus enhancing security and stability
Libc Implementation: The Standard Toolkit A critical standard library, giving the OS basic C functions that virtually all C programs rely on, making development much smoother
Shell: Your Command Center Finally, a command-line interface to test it all out, providing a user-facing way to interact with the fledgling operating system
The Hack Club Catalyst: From Hobby to Polished Product Initially, Dvir considered the project βfinishedβ after the file system and a few drivers.
But then, the Hack Club Summer of 'Make' (SoM) competition entered the picture, fundamentally shifting his perspective
The competition instilled a drive to not just build, but to ship a complete, polished operating system.
This is a critical insight: the external motivation of a competition significantly expanded the project's scope, pushing Dvir far beyond his initial goals
βBecause of the competition, I started to think that I needed to ship a complete OS, with processing, GUI and the bare minimum ability to run Doom,β he explained
This meant another two months of intense work after the shell was done
Those two months transformed MyraOS.
He added full GUI support, complete with dirty rectangles and double buffering for smooth visuals, a GUI mouse driver, and the pièce de résistance: a full Doom port
βThings I wouldβve never even thought about without participating in SoM,β Dvir reflected.
Battling Bugs and the 'Doom Disaster' Of course, a project of this magnitude, particularly in the low-level world, wasn't without its harrowing challenges
Debugging became a way of life, and Dvir highly recommends GDB for its invaluable help, especially with memory issues.
His first major roadblock hit during process implementation, revealing major flaws in his paging code
Reworking months-old code while simultaneously pushing new features for the competition. Thatβs a stress test for any developer.
Debugging an OS from scratch provides deep, invaluable experience. Then came the **Doom disaster**.
βRandom PFs and memory problems, one run could work while the next one wouldnβt, and the worst part is that it was only on the Doom, and not on processes I created myself,β he recounted
This wasnβt just a bug; it was a crisis of confidence
He questioned everything, even contemplating giving up. But Dvir, tenacious as ever, persevered.
The culprit. A combination of scheduling issues, Libc problems, and Qemu (the emulator he was using) not having enough memory β he'd wrongly assumed 128MB was sufficient.
Who hasn't faced that moment of utter despair, only to find the solution was something surprisingly simple, or a combination of subtle issues. In the end, Dvir triumphed.
He shipped MyraOS, completing a seven-month odyssey. βThe experience working on this project was amazing.
I learned a lot, grew and improved as a developer,β he beamed, crediting SoM for boosting his motivation and making the project unforgettable.
What This Means For You (Especially in Southeast Asia) Dvir's journey is incredibly relevant, particularly for the burgeoning tech talent across Southeast Asia
In a region where digital transformation is accelerating and demand for skilled developers is soaring, stories like Dvir's highlight the immense value of foundational knowledge
Understanding how an operating system works, from its bare metal beginnings, isn't just an academic exercise; it builds a mental model that strengthens problem-solving skills across all layers of software development
His resilience in turning a job rejection into a learning opportunity resonates deeply.
Dvir's project exemplifies a growing trend among self-taught and aspiring developers globally: utilizing online resources, open-source communities, and competitions to gain practical, in-depth knowledge
In Southeast Asia, where tech education and talent development are key priorities, this type of self-driven, project-based learning is particularly relevant
For young developers in innovation hubs like Singapore, Kuala Lumpur, Jakarta, or even emerging tech scenes in Phnom Penh and Ho Chi Minh City, MyraOS serves as an inspiring example
It demonstrates that passion, self-directed learning, and the willingness to tackle complex problems can lead to extraordinary achievements, even without formal mentorship at every step
Hack Club, with its global reach, fosters exactly this kind of independent, project-based learning, which is crucial for cultivating a new generation of innovators capable of building robust, efficient systems
Think about the impact in countries like Vietnam, where a vibrant startup scene is pushing boundaries, or Indonesia, with its massive digital economy requiring robust infrastructure
The ability to understand and optimize systems at this fundamental level is a competitive edge
This is highly sought-after low-level programming expertise, crucial for innovation in embedded systems, cybersecurity, and cloud infrastructure, without necessarily relying solely on traditional institutional pathways
His story resonates with the region's vibrant youth culture and burgeoning startup ecosystem, where ingenuity and a 'can-do' attitude are highly valued
As Southeast Asia continues its rapid digital expansion, the ability to dive deep, debug relentlessly, and build from the ground up β skills Dvir exemplifies β will be invaluable for shaping the region's technological future
For aspiring coders in places like Phnom Penh, looking to make their mark on the global tech stage, Dvir's journey isn't just a story; it's a blueprint
Want to dive into the code. MyraOS is open-source, available on GitHub at https://github.
com/dvir-biton/MyraOS. Dvir invites everyone to discuss any aspect of it in the comments.
Perhaps his next challenge will be building an OS that doesn't require debugging Doom at 3 AM. Or maybe, he'll just build it better from the start.
Either way, we're watching, eager to see what this remarkable young developer takes on next.
