The Self-Aware Software Engineer

The importance of reflection

In the world of software engineering, technical skills often take center stage. However, one crucial aspect that can significantly impact your career and personal growth is self-awareness. The ability to understand your strengths, weaknesses, emotions, and interactions with others can be just as important.

Research suggests that when we see ourselves clearly, we are more confident and more creative. We make sounder decisions, build stronger relationships, and communicate more effectively.
- What Self-Awareness Really Is (and How to Cultivate It)

A look in the mirror

As an engineer striving to be a great coworker, solve complex problems, and grow my career, I find that self-reflection is an invaluable tool. Let’s explore how self-reflection helps in understanding my strengths and weaknesses.

Understanding strengths

I’ve been fortunate to work alongside some truly exceptional software engineers. Through reflection, I realized that I often tended to be overly self-deprecating. However, by understanding and having confidence in my strengths, I can identify where I’m needed on a project or team and become a more effective collaborator and teammate.

Some of my strengths are:

  • Ability and Desire to Learn
  • Good Communication
  • Adaptability
  • Enjoyment from Collaboration
  • Honest Reflection

Know your weaknesses

On the flip side, recognizing my weaknesses provides an opportunity to address them and turn them into experience, and possibly even strengths.

For instance, I know very little about SEO, but I want to gain SEO experience. One of my goals for this site is to reach the top of Google results when you search for my name. I’ll be doing plenty of research in the upcoming weeks to make that happen and hopefully turn my lack of knowledge into a new skill.

An easy trap to fall into is relying too much on familiar tools and frameworks. As a younger engineer, I over-relied on ORMs and didn’t develop a proper understanding of database concepts. Once I recognized this weakness, I sought opportunities to work closer to the data layer and did several personal projects to fill in the gaps until I gained the confidence I needed.

Goal Setting

I used to think goal setting was just an HR process to check some boxes. Now, I see goal setting as a crucial part of my career and personal growth.

Professionally, setting goals allows me to provide decision-makers with all the data they need when deciding on promotions and raises. If we’re aiming at a target, I want to have as many arrows in that quiver as possible. The goal of goal setting is to deliver measurable results to prove your successes and growth.

Where I want to improve

Lastly, as an action item for myself, I want to keep track of my wins. At the end of each week, I plan to designate time to reflect on what went well and what didn’t. I plan to track my wins, learn from my mistakes, celebrate victories, and grow from errors.