The Non-standard Developer

I recently read this really awesome article written by a developer who had no formal education or background and his journey to becoming a front-end developer. Having gone through a somewhat similar transformation, I was inspired to also write about my own transition into programming without a traditional programming background.

Who are you anyway?

A fair question, and one I’m going to avoid almost entirely. Instead, I’m going to say that my formal education is in business, specifically accounting, and that my transition into pure development wasn’t radical, but a career evolution. When I graduated college, I was hired to an organization that had recently implemented a new ERP (enterprise resource planning - think Quickbooks on steroids) software package and wanted someone who knew both business concepts as well as technically/programming concepts. I had some minor self-taught programming experience by that point, which I had demonstrated during my school days and ultimately helped in securing the position.

I was able to get a handle on the application reasonably quick, but I didn’t know or understand much about this “object oriented programming” thing I was thrown into. Thankfully, this company also had a small programming department, and eventually I was brought into the fold of that team - working on a different application from anyone else, but still. I was quickly introduced to the concepts of agile, lean programming and application lifecycles, and during slow periods, when requests for changes for my application weren’t overwhelming, I was mentored in real programming. I was introduced to C#, taught best practices, and even assisted on some non-critical software projects the main programming department was involved with. I was exposed to more advanced patterns, both by reviewing the code written by my peers and by my own research.

As I learned more, I became more intrigued with the DevOps side of things. Sure, I enjoyed writing code; I had a few utilities I wrote for myself on my personal computer to help with some common tasks, and I was very proud that I was able to make a computer do what I wanted without (much) assistance from others. Within the ERP application I was in charge of I was even able to implement some advanced functionality that would not have been possible without the knowledge I had learned. But, with the support of those in charge, I was given an opportunity to explore the DevOps and application lifecycle side of things with the ultimate goal of being able to deploy changes made in a development environment to production in a way that was both SOX compliant and friendly to non-developers. I spent about a year putting it together, and ended up publishing a series of posts about it, which has been pretty well received by the community.

Ultimately, however, being in a constant ‘maintenance mode’ was draining, and new development opportunities were limited (by that time the programming department was all but eliminated), so I decided to leave and become a full-time C# developer.

Imposter Syndrome is real

Back to the article. One thing the author doesn’t really talk about directly is Imposter Syndrome, which is something I experienced for a while after starting my new role. For those who don’t know, this is the feeling that you are somewhere you don’t belong, despite all evidence to the contrary. I think there are many people who have to deal with this - especially in programming careers, where many people arrive in a programming role from non-traditional (non CS) backgrounds. There are many excellent resources around the subject which helped me, including books such as The Imposters Handbook, and even posts by people far more talented than me. Still, it was difficult moving to a “real” developer role, and it wasn’t easy to shake the imposter feeling. However, as I become more comfortable with my new collegues (and the codebase for that matter), I was able to move past it and focus on being a better developer. Now I’m in a position where I can share my knowledge and experiences and hopefully offer a unique perspective to others so we can build the best product we can.

What I’ve learned

Long Story Longer

At the end of the day, the biggest takeaway I can offer is that the path to being a programmer is much wider than other careers, and don’t be afraid to pursue it just because you don’t have the formal education in the field. Have the passion to learn and practice, and you’ll fit right in with the rest of us.