5 Things that Surprised Me about Being an Engineer
Learn about Eron Cummings's Experience at Learning A-Z.
When I started my technology journey (a BASIC computer programming course) in high school, I had no idea where it would lead and what I was getting myself into. After continuing my technology journey in college, I knew I wanted to use what I learned as a computer science major and make it my career. Thankfully, during that confusing time right after graduation, I met great leaders and peers to learn from and had opportunities to grow. Years into my career now, here are five things that have surprised me about being an engineer:
- How much I like problem solving: When I took my first computer programming class, I was primarily focused on learning something new: learning a new language. However, as time went on, college, my first job, etc., I came to understand that it's not the languages that I was passionate about, it was the ability to solve problems using those languages. The technologies are just tools to take a problem, break it down, and create something beautiful. Solving problems with technology is what has given me the greatest sense of accomplishment.
- Troubleshooting is a skill: Most of the code that I wrote up until I started a “real” job was my own. Therefore, any issues, bad formatting, or terrible algorithms were all mine to fix. Stepping through my own code and inserting random breakpoints and other rudimentary practices was what I thought life was going to be like, until I had to fix something that had changed hands many times and been in production for years. I had to learn to expand my troubleshooting abilities beyond the basic ones I was taught in college. There are so many tools, techniques, and nuances to troubleshooting well, so it’s important that engineers be up for the challenge.
- Don’t reinvent the wheel: I thought I had to write everything from scratch. Turns out, there are plenty of people who have solved the same problems I had and were willing to share. Internet searches are great for solving common problems, as well as, picking the brain of more senior engineers. This has saved me a ton of time and helped me connect with others and learn new things along the way.
- Be an engineer, not just a programmer: As I mentioned above, I was primarily focused on programming and the language. However, what my stakeholders (and my bosses) really wanted was for me to think through the problem holistically. This meant understanding the edge cases, providing simple yet meaningful solutions, and testing it to make sure it worked. I had to design, collaborate, and apply all the best practices I knew in order to accomplish a goal. And on top of that, work with a team to do so. It’s one thing to create the code and execute (which is a programmer), but it’s another thing to always be aware of the big picture and apply a certain level of architecture and expanded skillset to solve the problem (engineer).
- Importance of communication: My idea of what I would be doing – sitting in front of my keyboard and screen, by myself, typing away on my own problems – was far different than what happened. As it turns out, being an engineer requires me to talk to stakeholders, communicate with teammates, consult with my boss, and sometimes even present my solutions or design ideas. And as my career developed, I spent nearly half my time communicating as I did writing code. Developing my communications skills over time has helped me to advance in my career and is one of the aspects of my job that I am glad I didn’t ignore.
While I learned a lot before I had my first full time programming job, there were many more aspects and nuances to it that I wasn’t expecting. For me, there is still no greater sense of accomplishment than solving a challenging problem. The key is to continue to learn and grow and always add skills to your toolset.