The hardest part, it seems, about being a developer or an expert in the tech space is being self-aware.
The various DevOps, Front-end, Back-end, Security, and SRE communities I’ve been exposed to consciously or unconsciously reinforce the principle of “you’re doing it wrong”.
Even more, once you’ve been in the game for awhile and begin speaking at conferences, you fall into the same trap of telling others that they may be “doing it wrong”.
All of this one-way communication, either top down or bottom up, creates a void in a key element towards developing exceptional emotional intelligence.
That element is self-awareness.
What is self-awareness?
Self-awareness is your ability to recognize and understand your emotions as well as your power to control them. It is foundational to your personal growth and success.
It may sound touch-y feel-y, but a lack of self-awareness is catastrophic. It can not be solved through an algorithm or new language.
Emotion is one of those things that is uniquely human. Whether you admit it or not, handling your emotions are the most important factor to holding you back or accelerating you forward towards your goals.
How many times have you been around another person and been shocked when they criticize someone else for behavior that they themselves have exhibited?
A lack of self-awareness tells others (your team, your boss, your colleagues, potential investors, etc.) that you are unprepared for bigger things, that you have a blind spot that you are unable to fix, and that you are unwilling to invest in yourself.
Who would want to follow, promote, or invest in that person’s idea?
Your Assumptions as a Dev
The first step to becoming more self-aware, and ultimately becoming more emotionally intelligent, is taking inventory of your assumptions.
In coding, understanding the assumptions of a system reduce the likelihood of bugs. To reduce our personal bugs, we need to be familiar with the assumptions that we make about ourselves:
Do I believe that bad things always happen to me?
Do I think that if I keep trying, I will be successful?
What are my first thoughts about my ability when I’m asked to complete a task? Is it positive or negative?
You could take it a step further and note the assumptions you make when collaborating:
How do I react when comments are added to my pull request? Why and what I did I assume?
When another team member suggests a 3rd-party package, do I react negatively or positively? Do I say ‘no’ or do I hear them out? Why?
What would other’s feedback be if I asked them how I could be more helpful during architectural reviews?
Being able to better understand yourself and your behavior means you have a better grasp of reality.
This is a key building block to being able to adapt to change and grow as a team member and as a leader.
One thing to try next week at work
Write down and predict how you will feel before a meeting. See if it comes true.
This is best for sprint planning meetings, code reviews, planning pokers, and/or architectural discussions.
Borrowed from the Change Management Coach:
Think about a situation you're going into and predict how you will feel. Practice naming and accepting the feelings. You might say “I may feel angry”, or “I may feel frustrated”. Naming the feeling puts you in control. Try to choose an appropriate reaction to the feeling rather than just reacting to it.
Here are some phrases that have helped me:
I think I hear what you’re saying and I apologize if I’m sounding a bit frustrated...
At the moment, it’s hard for me to contribute to the discussion because I’m feeling a bit confused...
Good luck and thanks for subscribing to EQ for Devs. Most learning happens by doing.
Be sure to tell a friend!
- Fredric