I started programming in C++ when I was about 11 years old. I thought nothing of it, I just thought it was “cool,” and I would eventually fall away from it. Just a phase. Especially since I lived in a tiny town, and pretty much all of my peers hardly even knew how to turn a computer on. Fortunately for me, however, I had been around them my whole life. My dad was basically the go-to repairman for the town’s computer troubles. I learned early, mostly about hardware.
After a few years, it really began to grow on me. I was programming more and more in my free time. I would go to karate class or join my team on the baseball field, but as soon as I got home, I was coding. I got into game development with OpenGL, and eventually Direct3D (DirectX 8.0). I wanted to be the next John Carmack at that time.
As I still continued coding, my interests shifted more toward solving real-world problems. Business problems, in a sense. I would write little desktop utilities for myself. I actually wrote an “address book” using C++ and Win32 API that just had a set of fields and wrote to a flat text file – no real format. I posted it on Download.com. It received quite a few downloads, to my surprise. One of the comments said, “it’s simple but stores a lot of information, and it’s *much* faster than Microsoft Address Book!” LoL!
Fast forward several years – around 2011 – I was working in a warehouse as a general labor employee since 2009. The company wanted to start a new in-house process – repairing consumer printers for Lexmark and HP. Previously, they were selling them as scrap to a third party. Once the processes were identified and documented, we began working this repair process on a regular basis. The plant manager was hosting an MS Access 2007 database on a shared drive over the network – from his Windows XP desktop computer in his office. WinXP had a concurrent connection limit of 10, though we had 15-20 users who would need access to the Access database at any given time. This caused a lot of “file not accessible” errors, and it also drastically reduced production and ultimately had a negative impact on revenue.
I spent a few weeks at home, on my own time, developing a C# / WinForms / MS SQL Server 2008 solution to solve these problems. Once it was “good enough,” I talked to the IT guy at the warehouse. He confirmed we had the resources to host it (just needed a SQL Server instance). He and I walked into the plant manager’s office and told him about it. I slapped a USB flash drive on his desk and told him to check it out. He was blown away.
From that point forward, although I didn’t have an official developer title and I was paid as a warehouse employee, I designed, developed and wrote software for them as a sole developer. I had no help or support from their corporate dev teams – they didn’t even know about me. They closed for good in late 2013. Shortly after that, I landed my first professional development gig. For the past four years, I’ve been a successful and professional full-stack developer, primarily focused on .Net and C#.
Want to learn to program? Register for my free Self-Taught Coder Masterclass where I cover how I went from a novice to a software engineer at eBay in less than one year.