It was 1994 or 1995, I was probably 14, I had outgrown the ZX Spectrum and had a 486 at home. My dad and I were in a computer parts shop, and near us was this guy my dad's age having trouble with his own computer. He was having random crashes, and nobody at the shop seemed to figure out what it was.
My dad suggested I offer my help. We approached the guy, an architect like my dad. They chatted, and in the end I got the guy's computer home. In theory this was about "reinstalling Windows" or something.
Reinstalling Windows didn't help, and I don't know how, but I figured out that one of the four 1 MB SIMMs (this was before DIMMs!) was bad (I think by trying different combinations of 2 SIMMs at a time until I isolated the one that caused the crashes). I triumphantly announced this to the guy, got paid some trivial amount, and he took the machine away. I was proud, my parents were proud.
A couple of days later, the guy calls again. He had gone to the seller, gotten new SIMMs, and the machine was still crashing. My dad told me he had an "oh, fuck" moment right there (but he didn't tell me).
I stood by my diagnosis. I must have sounded confident enough, because the guy took the machine back to the seller again - and they confirmed that the new SIMM was also bad!
Everyone was suitably impressed. The guy offered me a super part-time job, I think 2 or 4 hours a week. He ran a small architecture/building studio, himself and an architecture student.
I was "the computer guy" for a while. I set up the LAN (all coaxial cable and T-junctions - we're talking prehistory here). I designed a logo in MS Paint. Later I got my most ambitious task: to write a system to track the monthly payments for the flats they were building.
My C++ knowledge was extremely limited, having only recently outgrown QBasic. But I took Borland C++, wrote a text-mode windowing system (with mouse support!), and the payment tracking system, which even printed invoices. Sounds impressive, it worked, and it looked OK, but under the hood it was an abomination. Off the top of my head: I didn't understand dynamic memory, so each "window" had a hardcoded limit of 10 edit fields, 10 buttons, 10 labels,...; I didn't know the first thing about databases, so the state was serialized to disk by writing the raw contents of the structs to a file ("works on my machine!"); I was oblivious to the idea of event-based anything, so the whole thing was polling constantly and possibly using 100% of the only CPU in the system - but it was the DOS time, there wasn't anything else running on the computer, so why not? :)
I kept that job for a couple of years, I believe until I started university and got a part-time dev job, then got a full-time dev job, then quit it to start and run my game development company, which I quit 10 years later to leave South America behind, and make the jump to Google Zürich.
Here's to humble beginnings!