The Cutting Edge

03 Sep 2020

Creating something new

One of the most satisfying feelings to me is to invest hours in a creative project, slowly come to life, and then be able to sit back and feel proud of the result. This process is what makes writing music and recording it so fun to me. The satisfaction from working through issues that come up in the process and finding solutions is enough to make the troubleshooting process fun instead of frustrating. In addition, I feel the most satisfaction at work when I am creating something new. Even if it isn’t something that will change the world, using my creative and analytical skills to write a script or create some new report templates, no matter how mundane or difficult, will always be more fun than answering phone calls about the same tech-related issues every day. I believe this mindset is what allowed me to really enjoy learning coding and what inspires me to want to pursue software engineering or similar work as my career.

Learning the trade

Everything I have experienced in the process of learning various coding languages and creating projects has been a positive experience. There is no other assignment I have had that has taken me as many hours as some of my coding projects that I can look back on fondly and be happy to do again. Part of what makes it so palatable is that I can feel the growth that comes from working through bugs happening quickly. As error messages become familiar, I get faster at figuring out what the underlying issue is and am able to resolve them more easily each time. Even if it isn’t a simple fix, doing research to dig deeper into things I might not fully understand, reading forum posts that are often entirely unhelpful, and just experimenting all contribute to my skillset in a very palpable way. I’ve recently been introduced to the concept of viewing software engineering with an athletic mindset, which refers to tackling coding challenges as workouts and practicing and getting better at a specific challenge. I like this metaphor for coding, and while making improvements with weightlifting can take weeks of training for multiple collective hours, I can feel my coding muscles getting stronger from one “workout” to the next.

Goals

Another benefit I feel comes from the new approach I’m taking to software engineering is the idea that I can set specific goals for my training like I do for training for fitness. I have started to think about short term goals, like being able to complete projects in a specific amount of time, and long term goals, like thinking of a project I could create in the future that will require me to use all the new skills I am learning. It might be something fun like writing code for games, or it could be something challenging that addresses a real-world issue. I have already made a commitment to work for the federal government after I complete my college degree, and I hope that I encounter challenges that might direct me on a path to realizing those goals. And if that does not end up being the case, I hope I can retain my goals and push myself along that path. Perhaps I will someday be able to create something that does in fact change the world.