I've been struggling with some issues around leadership and mentoring at work and have reached the point where I feel I need to reach out and ask the community for help. But before I do, I think I should introduce myself and provide some background. This was also partially inspired by Levi's story.
My first computer was a Radio Shack TRS-80 Color 2. And yeah, that might make me a little old. I don't remember much about it. I can remember getting it upgraded from 16K to 64k. I can remember I had trouble getting it to work correctly with a tape recorder for storage and may have eventually gotten a floppy disk drive. You kids have it so easy these days.
But the computer bug didn't really bite me then. In 1986 for my freshman year of high school (please don't do the math) I took a typing class that used Apple II C's and E's. The teacher saw something in me and recommended I take her programming class on Applesoft Basic the following year. That was when the bug bit.
I spent the rest of high school mostly self-learning since the formal classes weren't available and eventually moved to PCs. I can still remember the joy when I first got my hands on an IBM PC Jr (color screen!). Along with the switch to PCs, I moved from Applesoft Basic to Microsoft GW-Basic then QuickBasic, Borland Pascal, and then Turbo Pascal for Windows. I joined the Navy after high school with the intent of using the GI Bill for college only to have that not work out too well for me and end up getting kicked out three years later without the GI Bill. I made a brief attempt to get into writing and selling shareware (pre-Internet) but quit when I realized my business skills and resources were lacking. At that point, since without an education or any formal experience I felt I was unhirable, I essentially took a break from the development world. I worked as a temp for a while doing data entry before landing a permanent job in a warehouse as a merchandise picker.
I didn't completely drop out. I had been introduced to Microsoft Access at one point and was still playing around with it. And I still read everything I could on various topics on software development. But it was the Microsoft Access experience that led me to the next step in my career. It was sometimes necessary to reprint the barcode label for merchandise. This involved looking up a number in the computer to then manually re-enter in a different application to print the barcode. The constant repetition annoyed me, so I created an Access database to remember previous entries and and to interface with the barcode printer. That got me noticed and pulled into a department that was essentially converting Excel "databases" into Access databases. This was an unofficial department working without official IT support since in this larger organization IT was focused on bigger and more important projects for the front office. Over the next few years, I ended up creating and managing an Access database system allowing multiple departments to manage HR data, productivity data, and other processes. By the end, the entire warehouse and a couple others were essentially running on my system.
But eventually the stress and lack of official support was too much. I was working with some great people and felt valued, but every effort to find a second individual to help failed. It didn't help that due to corporate politics and policy that the role was essentially capped at $24 an hour. And for the final couple years, I had hit that cap. No "real" developer was willing to work at that rate or in my working conditions (back corner of the warehouse with forklifts running behind me), and the one or two from the warehouse floor that thought they might be interested didn't have anywhere near the level of knowledge to handle the system. When it finally sunk in that the chances of my ever making more than $24 an hour were nil and due to other changes in my life that was no longer enough to support my family, I decided I had no choice but to step outside of my comfort zone and find another job.
Somehow a little ray of sunshine and luck shone down on me for a bit. One of the supervisors I had worked with at one point had a mother-in-law working at a shop that was hiring. He gave her my resume, and she passed it on. As the owner of that shop has told me on multiple occasions (with my full agreement), I was lucky their hiring standards were so low back then. He has also said they got really lucky with me (also with my full agreement!). And so in January 2012 I began what I consider the professional part of my career as a software developer.
This shop is a Microsoft shop. They started me on a classic ASP application they sold to hospitals. They also had some apps using C# and WebForms that I eventually worked on too. Today I'm still using C# but with MVC and Razor, and we still have a couple classic ASP applications being actively worked on (yeah, they still exist). I've progressed to being a team lead or co-lead for three different projects.
And that's where I am today. I still (mostly) enjoy what I'm doing and only regret not trying to start a career as a developer sooner. Where I struggle the most today is figuring out both how to effectively work within a team and how to effectively lead a team. But that struggle will be the subject of my next post.