I discovered coding later than a lot of people in the Software Engineering field. I was an Electronics Technician in the US Navy from the late 1990s through the mid 'oughts, and in college I studied Electrical and Computer Engineering. It wasn't until my second year in college, when I took my first programming class, that I really caught the bug. I didn't change majors, but I did start spending a lot of my free time (whatever that meant as a EE/CompE double major) working on programming projects.
This was during the first years of the AppStore (iPhone OS 3 and 4), when the most popular apps simulated drinking a beer or making "funny" noises. Back then it was hard to believe that there were 10,000 apps on the store, and it was still relatively common for apps built by one or two people to hit big and make a lot of money.
Maybe it never was that common, but me and a few of my friends got together and formed an LLC with dreams of striking gold on the AppStore. We taught ourselves Objective-C (back in the pre-ARC days) and CocoaTouch and released a simple game. Unfortunately, we didn't know anything about business and the app (and the LLC) never went anywhere, but it did set a pattern for me that carried on throughout school. During the summers, when most people were doing internships I was working on coding projects. I'll be adding a projects page to the site eventually where I talk more about those, but for now it's enough to say that the takeaway was that I completely lost interest in Electrical Engineering.
In fact, I didn't even apply for any EE jobs. I had decided that I was going to write software for a living, and I was offered a job at the first company that I interviewed at. I'm still at Bentley Systems, 10 years later. I guess this is as good a place as any to say that everything on this site is my own content and does not in any way represent Bentley Systems. Disclaimer over.
During my career, I've worked on desktop applications using .Net. I've worked on cross-platform mobile applications built on top of a JavaScript framework that Bentley developed in-house. I moved into a tech lead role on a different mobile application built in TypeScript, then I transitioned into a technical managment role on a team building a new web application using React and Azure cloud services. Today I manage several teams of awesome people who's work spans applications and infrastructure.
Although most of my work time these days is spent managing people and projects, I still make technical contributions to most of my teams. And I work on side projects so that I can stay up to date on emerging technologies. Or if not emerging, then at least technologies that we don't use in our day-to-day work yet. This is something I plan to write a lot about, as I think it's critical for engineering managers to be able to add technical value even as they become less involved in the actual code.
I read somewhere that management isn't a promotion, it's a career change, and that has certainly been my experience. I've had the good fortune to be a part of many great teams and I'm very appreciative of that.
Back to top...