In August I wrote about using feedback loops in your personal life to get unstuck from unproductive habits. This month I'll talk about some new helpful feedback loops for your workplace. I'm going to make this easy for you: Here are my top three, and they're always good ones to start with.
Meet with your boss and/or mentor on a regular basis
Based on the conversations I've had with many people in software engineering, I feel like there may be a collective groan coming at me.
"I don't need a mentor... and I certainly don't need my boss."
Does that thought sound familiar to you? I clearly remember having it when I was younger. Somewhere in my late 30s I transitioned from viewing my relationship with my boss as a combative one, to one that I considered a partnership. It hasn't always been perfect, but I like to believe that I should never be so arrogant as to assume I can't learn something from a boss.
If you really do have a pointy-haired boss, then consider that this feedback loop doesn't have to be with the person who is allocating your bonus. It also doesn't have to be the same person for every conversation you need to have.
Here are the qualities you are looking for from this person:
- They are comfortable enough to call you on your bullshit.
- They are interested in you and your career direction.
- They are going to be a safe space for you to air your insecurities, a place to ask that question that you are embarrassed to ask in front of a large audience. Let's face it folks, even though I heard there are no stupid questions countless times as a kid, I still hesitate to ask certain questions in larger audiences. I thought of a question about the Linux kernel while in a room full of 15+ year veteran kernel engineers. Did I ask in front of the team? Hell no. I asked a friend in a private IRC chat window.
This person is likely going to be the one to provide you the context you need when it comes to your individual growth and performance. This is also the person who should be steering you to venture outside of your comfort zone in order to grow and achieve your career goals.
Form a group of your peers
Last year, challenged by the feeling of being the sole person on a remote island, I reached out across Red Hat to find people who had similar roles. In doing this, I discovered two things.
- They also felt alone even though they were surrounded by teams, and had feelings of doubt. Am I doing the right thing? Was there something I could have done differently? What should I do next?
- They were wondering how to build meaning into their careers. If they were the only person on their team who had passion for a topic, how could they find a group of people interested in the same thing?
As a result of these discoveries, we established a community of people passionate about Agile—similar to a guild, if you are familiar with Spotify's engineering culture. In this group we get to discuss the things that mean the most to us. We work on problems together, share frustrations and successes and, most importantly, we share information from different areas of the company. The feedback from the group helps us to work more effectively with our teams.
Build meaningful loops into your work system
This represents about 99% of the feedback loops that spring to mind when someone says the term with DevOps in mind. Version control, automated tests, customer feedback forums, architectural review, cross-product review, daily team meetings, retrospectives—all of these things can be either wildly successful, or disastrous for teams. What matters most is that the loops you introduce are done with intention and not simply to check off a box.
Let's bring this conversation full circle from August's article and talk specifically about that dreaded standup feedback loop. The most common complaint I hear from teams is it feels like a status meeting, just a daily regurgitation of things that no one other than the person talking is really interested in. Sound familiar?
Martin Fowler does an excellent job talking through all of these frustrations in his article, It's Not Just Standing Up: Patterns for Daily Standup Meetings. The tl;dr version of it is simple: What emotional relevance are you trying to get out of the work that you are doing with a team? If you are all part of a team for a particular reason, but no one is actively trying to engage at a higher level, what is the point of being a team? Is it to check a box? Why don't you bring that up feeling of disconnection and challenge your team members to do better?
Many of you are likely in a space where you have feedback loops in place that you don't really understand, nor do you get value from participating in them. The likelihood of checking out and disengaging from these activities is pretty high. The challenge that all of you face is to effectively re-engage, and to determine how to make the loops more effective for you and your team.
Following the steps I outlined in the August article: Collect evidence of what is happening, understand its emotional relevance, understand the consequences of what is happening, and then take action to improve the next cycle.
Evidence: This meeting has entered a stage of critical uselessness.
Emotional resonance: The meeting is really boring. We never get anything done. I could be working on other things. Or better yet, I could stop multitasking and start actually focusing on the work I need to do.
Consequence: If we don't do something to change the format of this meeting, we are all going to start bleeding from our ears.
Action: I don't know, you tell me! What are you going to do to change the situation?
Finally, don't simply accept that the feedback loop currently in place is the only feedback you can or should be receiving. Some thought put into this can yield a world of results when it comes to introspection and career planning, even if you have to screw up your courage to ask for it.