Remote working arrangements in light of Covid have amplified the effects of not being good at feedback for software engineers. Our relationships with each other are at the heart of how we move fast. When we don’t have the luxury to build our relationships in-person, feedback becomes paramount to ensuring we get our relationships right digitally.
It is a fundamental law of nature that in order to gain strength you have to push your limits, which is painful. This is easiest to see in gaining physical strength. Exercise is uncomfortable, it can be painful, but the more you endure the stronger you become. The mind is no different.
Another fundamental law of nature is that organisms will expend as little energy as possible to achieve their goals. Enduring pain, both physical and mental, consumes energy. If you want to grow you need to push hard to overcome this natural resistance.
Applied to Software Engineering:
- Don’t avoid confronting problems because they are painful to think about.
- At the start of each week identify the one problem you’re worried about most, and begin there.
- Regularly solicit constructive feedback from peers, reports (if applicable), and your manager.
- Work with your manager to understand expectations at the next career level, and try to consistently operate just outside of your comfort zone.
- At the end of each week ask yourself what you did during that week that you either failed at or were scared of doing. If nothing comes to mind you may not be pushing yourself enough, and in the long term may not live up to your full potential.
- Don’t endure more pain than you can tolerate. Exposure to pain should be sustainable. Avoid burnout.
Objective reality and our individual perception of reality are different. Sometimes the difference is caused by ignorance, and sometimes it is intentional, to protect us. Either way, any difference will impede our ability to achieve goals. We make decisions based on a model of reality which isn’t true.
Recognize this delusion. Recognize that accepting reality, no matter how painful, will make us better decision makers. Adopt strategies for countering this human weakness, to get closer to what’s true, and incorporate them into your decision making process.
Applied to Software Engineering:
- When attempting to acquire new knowledge, apply the scientific method.
- Establish a mentorship relationship with someone who is more experienced in a particular domain than you are. Regularly ask this mentor how they interpret various scenarios in this domain, and contrast their interpretation with your own.
- Accept that you will never be perfect, that you have weaknesses, but that you also have strengths. Understand what those strengths are and play to them.
- Where possible make decisions based on data, but only if you understand and are satisfied with the source of the data.
- When reality doesn’t turn out the way you want, fall back to your personal principles for reassurance and guidance.
- Ask multiple, credible people the same question to test the believability of the answer.
Once emotions subside, take time to explore and examine what happened. Sometimes this has to happen in a group setting, but it’s most effective when done alone, when you’re free from the judgements of others and can be honest with yourself. During reflection, identify what adjustments you need to make to your mental model of reality, to avoid a recurrence of the pain. It may be useful to make a plan, to ensure the change is truly internalized through repetition.
Applied to Software Engineering:
- Once a project is complete, host a retrospective with your team to identify lessons learnt. This is particularly important following a failed project.
- Find alone time to reflect on constructive feedback shared with you, to internalize it and adjust your behavior accordingly.
Many of us, as software engineers don’t like to give feedback. Let’s break those beliefs down and call on you to change your view on feedback:
1. Feedback takes so much effort
Feedback can be effortful if you do not have the muscle for it, and if you’ve left a pile of it festering and haven’t been delivering feedback regularly. Yet, this is a situation where you may need to slow down to move fast in the long run. This is exactly why we need to start practicing giving and receiving feedback today.
2. Using Artificial Intelligence to detect COVID-19
3. Real vs Fake Tweet Detection using a BERT Transformer Model in few lines of code
4. Machine Learning System Design
Think of feedback that you need to give as a small acute pain. Sure, it might be fine that you have one small acute pain indefinitely into the future. Yet, if you have one in your knee and elbow and stomach, even though individually these pains are small, in sum they affect your physical and mental functioning in the long term. We should not accept living with these “small” feedback “pains” because they add up and hurt all of us in the long run.
Your feedback can also directly affect other people. When you have feedback for someone, sometimes, other people may have similar feedback for the same person. The person to whom you need to give feedback may not be aware that multiple people have feedback for him or her because no one has said anything. By giving feedback, you may be scaling your impact by helping identify behaviors that have impact on multiple people and teams; in sum, your effort doesn’t just help you, it helps others.
2. Feedback leads to awkward conversations
If you are not regularly having some honest, awkward conversations, you may be leaving problems unsolved. “Because if it’s not a bit awkward, you’re not talking about the real stuff.”
Feedback is not always easy, and we need to acknowledge that. What is good for us isn’t always easy to do, but our fear of having these conversations should not paralyze us into inaction; if we are fearful, we need to find ways to tackle that fear head on:
Are you afraid that your feedback will not be well-received?
- Learn how to give feedback effectively: There are numerous online courses that give you the tools to deliver feedback well, even in high-stakes situations. Equip yourself with the tools to give feedback well in all situations.
- Prepare: Give feedback having thought about it and having prepared specific examples (facts) — go as far as writing them down because it will help you focus on what is factual and you have something to refer back to if you feel nervous in a meeting.
- Practice: Role-play with colleagues and friends in preparation for tough feedback conversations, and it could helped you hone your tone and delivery and anticipate questions. If you practice presenting for important meetings, then you can also practice to give effective feedback.
Are you afraid of repercussions of giving feedback?
- If you feel uncomfortable giving feedback, you can speak to your manager, or the person’s manager to give the feedback privately and understand how best to channel this feedback. This should be a last resort since you should try to resolve and give feedback to the person directly, but this may not be possible in all situations. The idea is that, especially if you feel uncomfortable, this doesn’t mean that your feedback should not be heard.
- If the feedback is about your manager, you should consider giving the feedback to your skip level (manager’s manager).
Are you afraid that you’ll damage the relationship by giving feedback?
- ‘The more we give and receive feedback, the easier it becomes. Most feedback isn’t hard to hear because it’s right or wrong, but because we have an emotional response to the idea of “feedback.”’ It may be hard to have the conversation, but especially if it’s a relationship you care about, having this conversation gives it a chance to advance.
- “Remember that feedback is a two-way conversation. Building a healthy company requires approaching our work with an open mind, honest dialogue, and true desire to continue learning and growing, so ultimately, feedback should strengthen our relationships.”
Practically speaking, you can share context with your manager and ensure you and your manager are aligned on the feedback approach. Your manager can give further advice and help moderate or mediate the relationship, should it be required.
3. Feedback means I’m saying something bad about someone or getting them in trouble
Your first path of feedback should always be to give the feedback to the individual directly (where possible), and as quickly as possible after specific situations which are the basis of your feedback. In most situations, feedback should not be a surprise. The point of feedback is to have a discussion and find a path forward together.
Feedback is not limited to constructive feedback; it can be positive recognition. We often don’t stop to think and recognize things that we appreciate from each other because we think “this person already knows that they do a great job!”. This is often not the case, and positive recognition can be just as important as the areas we look to improve. It helps us celebrate success and strengthen our relationships with each other.
Feedback is not absolute. It is a two-way conversation. You’ll be surprised to learn that in a lot of situations, the person to whom you’re giving the feedback was not aware of how their actions may have made other people feel. And so, feedback should be viewed as a way of saying “Hey, remember when this happened and you did X? You may not be aware, but it felt like Y.” Feedback does not make judgments of right or wrong on an observed behavior, but it shares with the actor the receiver’s interpretation of events. At the end of the day, feedback is just good communication and should be viewed as an opportunity to improve a working relationship. But sometimes, it doesn’t always improve a relationship, in which case you might think…
4. Feedback is a waste of time because the person doesn’t change their behaviour
Feedback is never a waste of time. If there is genuinely something problematic happening and it’s a pattern of behavior, your feedback is a means of holding someone accountable to their behavior by first attempting to communicate with the person to find a better path forward. If someone had a pattern of behavior that was detrimental to the company and everyone thought “there’s no point in giving feedback”, not giving feedback would mean that this behavior would continue to go unaddressed and you, your team, and the company would be negatively affected. If someone isn’t responding to feedback, working with your manager to find appropriate paths of escalation is now possible because you’ve made the effort to repeatedly give feedback to this person in the first place.
If we care about having impact as a software engineer at your company, we should also care about the relationships with the people on our teams, because these relationships elevate our mutual impact. Relationships are at the heart of everything we do; feedback helps make those relationships high-functioning.
When done well, feedback helps us grow and move fast in the long run, as individuals, and as a company. Take some time today to prepare and give or receive some feedback for someone with whom you work. Feedback is truly a gift.