I started messing with computers in the 90s, when I was in elementary school (~ 3rd grade or so).
at first my dad had a 486 (IIRC, originally using Win3.11 but he soon put Win95 on it), then later I got an old used 8088, and a little later a 386 (mostly just ran DOS on it, *1).
for these early years I had mostly just messed around in QBasic, mostly making simple tools, with a little bit of messing around in hex editors (noticing that I could alter the behavior of programs by tweaking the bytes, ... had a program known as XTree which was pretty nifty at the time...).
most other memories from these years are a bit fragmentary though.
a few years a little later on (from my initial messing with computers), I was messing around with the Wolfenstein 3D source, which was partly what moved me in the direction of C, but at the time I had little idea how a lot of it actually worked, so never really accomplished much with the Wolf3D codebase (or for that matter, the Doom source, but could at least recompile playable versions of Doom from it...).
*1: I mostly just used DOS, not bothering much with Win3.11 or Win95, except in the off chance I needed something graphical (I had Win3.11 + Win32S installed and a lot of Win95 apps would still work), but this era ended with an HDD crash.
I then went over mostly to Linux for a few years, but got frustrated by its perpetual general-brokenness, and by that time on the Windows side was mostly using Win2K, which was at least much more stable than Win98. the path since then has been 2K->XP->Win7.
by the late 90s (lasting until the early 2000s), I was mostly off trying to make an OS. got about as far as getting it to boot up with a basic GUI and networking support (Ethernet+TCP/IP), but performance was pretty bad and it was kind of buggy/crashy, and didn't really do that much interesting. this project died due to me figuring I had little hope of there being much use for an OS (the world already had Windows and Linux, FWIW, and this was architecturally sort of a bizarre hybrid, using some Unix-like architecture but with PE/COFF and EXEs/DLLs and Windows-inspired elements as well).
(it also had other funkiness, like HTTP support was integrated into the OS VFS, partly as I was pulling the program binaries off another computer over the network, ...).
I had started messing with the Quake source, and from that had learned about things like OpenGL and similar, and fiddled a bit with the Quake engine but eventually this caused it to bit-rot into an effectively unusable state (as messing with one thing would often break several other things, ...).
then, in these years, I figured I would mostly try making development tools and DCC tools, but it was a world of "no one gives a crap", and the tools had a fairly minimalist UI and I was probably pretty much the only person who ever used them (and the years 2006-2009 were mostly used up by me messing around with compiler and VM technology, featuring an ill-fated C compiler effort, and taking an initially awful-slow script-language thrown together in 2004 and turning it into something a little more formidable...).
in these years, I had also been messing around some with the Quake 2 engine, mostly gluing on some fancier rendering and gameplay features (stencil shadowing, A* pathfinding and AI improvements, using a few hacks to expand the max world size to around 128k units, ...), ...
I also started recreating most of the game contents, mostly so I could have art assets which weren't owned by id Software (this included modeling and animating character models, but initially their animations were kept lockstep with those of the original Quake2 models).
in 2010, I had an idea of basically trying to take some of the stuff I had made previously, and throw it together into my own game engine (mostly so I could have my own license terms and not be stuck with GPL or similar). initially, I was working towards making a Quake 1/2 knock-off, and my render was horridly slow (*2), but around 2012 shifted focus to ripping off ideas from Minecraft, and it still kind of sucks...
*2: basically, the renderer comes from my 3D DCC tools (originally written mostly for rendering 3D models and being a map-editor). initially, it was all glBegin/glVertex as well, but most of this has since been replaced by vertex arrays and VBOs.
so, yeah, not really a terribly productive life...