DEV Community

Discussion on: Was there a moment when you knew programming was the right career for you?

Collapse
kspeakman profile image
Kasey Speakman • Edited on

I didn't really know it until after I had written several programs for various employers. The whole time I was thinking it was too brain-frying and I wanted to do sysadmin (aka ops) instead. I got a job doing linux sysadmin, then moved into HPC (aka supercomputer) admin. About 6 months later, the program manager told me he wanted me to move to a programming project as I was the only one available with the background. I was reluctant, but as I reflected back on what I did in HPC, I realized that I mostly wrote scripts to automate maintenance of the cluster of servers. And the more senior HPC admin was happy to let me do it. So I thought even when I'm doing admin, I choose mostly to automate things by writing code. I decided maybe it was a career path for me after all, and endeavored to figure out how to make it less overwhelming to me. So glad I did.

Collapse
jrohatiner profile image
Judith Author

Great story! Thank you for sharing that. Curious to know what steps you took to make it less overwhelming?

Collapse
kspeakman profile image
Kasey Speakman • Edited on

Up until that point, I mostly wrote programs as a jumble of code. They functioned, but to effectively work on it I had to load the whole program into my head. As the program grew larger, it eventually became impossible for my limited faculties to understand exactly what effects any single change would have. And it became frustrating to work on.

So I began to research how to make programs more maintainable, which led me to software architecture patterns. I started with the basics like 3-layer architecture. That was a big help, but eventually I found the rough edges. Throughout my career I've kept researching and striving for the goal of code that I don't dread maintaining.

After almost 2 decades, I feel like I am finally on the right trail. 🤣 But it turns out, on their own, the best tools in the world (if they existed) aren't enough to make good software. The more important part that I missed for many years is actually learning the customer's problem from their perspective. I can't tell you how many times I did exactly what the customer asked, but they were still disappointed with the outcome. Because I was too focused on using the tools instead of getting to the root of their problem.