The following is a rough transcript of my DevOpsDays Rockies 2019 Ignite talk entitled “Be a Boat Lifter! A Rising Tide that Lifts Everyone Around You.” I also gave a longer lightning talk version of this at Develop Denver 2019.
An expanded version of this post was also featured as part of SysAdvent 2019.
I want to suggest to you what I think is the number one tip for advancing your career (and, really, for advancing your life, too.) It’s not about education, a certain new skill you have to learn, or anything like that.
It’s simply this: do everything you can to help other people.
We all have a responsibility to help each other get better. None of us can reach our full potential unless we’re helping each other to learn and grow.
An analogy I like is being a “boat lifter”: a rising tide that lifts up everyone around you. (That’s actually how I describe my work role sometimes. I’m a boat lifter–I’m here to help out everyone around me.) I think it’s a good metaphor for us to think about what we should be doing every day.
You probably already know some people who are living this out. Here are a couple examples folks that I know:
Senior developers: unblocking and being a force multiplier to the junior developers on your team is literally the most important thing you can and should be doing with your time.
If you’re crushing code, while members of your team are stuck, you’re actively hurting the team.— Steve Kinney (@stevekinney) February 1, 2018
I want to point out this quote from John Allspaw:
And I want you to notice it says “mature engineers” here. Not “senior engineers.” Not “principal engineers.” This is for everybody at all levels.
So let me suggest 10 disciplines we can instill in ourselves and others to help each other get better.
1. Extra Set of Eyes
Realize that you bring an extra set of eyes and a unique perspective to every situation. Those around you can learn and be helped by this, as long as you’re willing to share it.
Your past experiences give you a kind of view into the future, where you can see some problems before they happen. Make sure to be calling these out! It’s so important to those around you!
Think about it this way: it’s like clearing away the mines before other people walk across the field. It’s all about identifying and stopping problems before they happen.
2. Patterns of Pain
Be on the lookout for “patterns of pain.” These are the recurring things that are always causing trouble and burning a lot of time. Focus yourself and others on dealing with those things first. Otherwise, they’ll just keep dragging you down.
Tech debt comes to mind here, but that’s really not what I mean. When we talk about tech debt, we mostly mean old or “dusty” code, or things that aren’t quite as perfect as we’d like. But, they’re actually not causing any problems. They’re working just fine.
What I mean are the things that are actively on fire and giving you headaches every day. That’s what you need to go after first!
3. Focus on Outcomes
This borrows from Agile quite a bit, but I actually think it’s super useful in our work roles, as well as every day life: Focus everything you do on specific outcomes. The outcomes are your finish line, your ultimate goal, what you actually want to have happen.
As an example, after you eat dinner, you have to wash your dishes and clean up your kitchen, right? Those are the tasks, not the outcome. The outcome you’re after is to have enough dishes to cook and eat your next meal. There are a lot of different ways to accomplish that goal! So really try to aim for the outcome and don’t focus too much on the specific tasks that get you there.
4. Continuous Evaluation
Constantly be evaluating how you’re doing against those outcomes. You can never get any better unless you’re doing this. Build that habit in others as well. It can be really easy to lose this perspective.
A good litmus test for that is to take your team’s outcomes and try to connect those to the higher-level goals of the company. You all need to be pulling in the same direction. After all, this is how your team provides value to the organization.
You can do this in your personal life, too. Just ask yourself, “is what I’m doing in my life helping to advance, encourage, or otherwise help those around me?”
5. Be Ready to Change Direction
If you have trouble making those connections, be prepared to shift your priorities. And this could even mean abandoning work or projects that are already in progress. It’s ok not to finish that stuff! If it’s not giving you the value and outcomes you want, there’s no point in doing it.
But this could be a problem when you have to kill a sacred cow. It’s pretty painful to have your pet project abandoned. That’s a difficult situation for people to be in. So what you need to do at that time is help others to see that their value comes from their knowledge and skill set, not the particular project they work on.
6. Real Feedback
A good way to do that is to get people thinking about their career goals (really, their career outcomes that they want), and how to get there. Constructively point out areas they can be working on.
This is especially important for those of you who have more experience. You have tons of great career advice that people newer to the industry need to hear from you! Be constructive, but also be honest. It’s super important to actually provide real feedback about this.
Sometimes we have a tendency to just say, “Hey, you are doing a great job, keep it up! Just keep doing what you’re doing!” I’ve certainly had some reviews like that (maybe you have, too), where there’s really no constructive advice about what to do differently.
But that is so not helpful. People need real feedback about how to get better!
7. Healthy Work/Life Balance
Next, encourage, instill, and practice a healthy work-life balance. We all know people who will stay up all night to fix an outage or knock out a big project. Sometimes we refer to these people as are our “heroes.” But they’re really not heroes at all. They’re encouraging all the wrong behavior and it’s not good for anybody.
Watch for people who are burned out, or aren’t as happy as they used to be. Talk to them and find out why! Don’t let them go unnoticed! Encourage them that it’s OK to take time to recharge. We need to be actively advocating for this in our industry! And in other areas of life, as well. I think we can agree that we’re all just way too busy.
8. Be Humble
Seek to be humble, and don’t attract a lot of attention to yourself. (This is good general life advice, too.) When complimented for a job well done, make sure to give credit also to all those around you who helped. Very little of what we do is completely on our own. Again, this is about us all working together to make everybody better.
9. Walk the Path Together
Recognize that there will always be people in front and behind you on your journey. And you need help from both. You need both mentors and mentees in your life. You can lean on all the experience of those who have gone before you. And you need to be an advocate and encouragement to those walking the path behind.
10. Teach Others to Fish
Finally, don’t keep these skills to yourself. We all need to be doing this. We can’t do it in a vacuum. Don’t just do these things, but teach others to do them as well. Work to build a culture in your organization, in your family, and among your friends, of helping each other succeed.
So I want to take you back to Swarna’s advice: helping others be successful is your success.
Let’s all be boat lifters every day!
Additional resources & articles on this topic:
- “On Being a Senior Engineer,” John Allspaw
- “Breaking in a New Company as an SRE,” Amy Tobey
- “The Origins of Opera and the Future of Programming,” Jessica Kerr
- “On Being a Principal Engineer,” Silvia Botros
- “The Myth of the Sufficiently Smart Engineer,” Aaron Blohowiak
- “Zero to SRE“, Kim Schlesinger
- “Always Two There Are — A Mentor and a Mentee“, Steven Wilkerson and Meghan Heisler
- “How We Keep Learning“, Silvia Botros