Be the engineer you'd love to work with
I’ve worked with a lot of people over the years and in a lot of different teams. Some engineers are gruff, some are gregarious. Beyond a bare minimum level of civility, though, what I’ve found marks them out as somebody that people love to work with is how much their consideration for others shows up in their work.
When I started thinking about this, I fell for the trap of semantic drift and was under the incorrect impression that “conscientiousness” was the right word for this. It turned out, though, that the dictionary definition of that is actually “wishing to do one’s work or duty well and thoroughly”. I don’t think that’s a coincidence – when you’re working with other people, as most of us do, enabling your team is an important part of your job.
So what does this considerateness look like in practice? Here are some examples:
- Being mindful of the work you take on.
- Taking a share of the work nobody really enjoys doing.
- Leaving tasks available that are par for the course for you, but a growth opportunity for someone else.
- Taking on what you can handle, rather than committing yourself to too much.
- Unblocking others at natural pause points in your day.
- Reviewing pull requests as soon as you can if you’re not focussed on something else.
- Answering questions that are blocking as soon as possible, or being upfront when you don’t have the time or the knowledge to do so.
- Treating pull requests as part of the work product.
- Splitting up your work-in-progress well enough that the resulting pull requests are manageable to review.
- Reading through your own pull requests and ensuring they’re sufficiently documented before asking for review from others.
- Filing the kinds of bug reports that you would like to recieve.
- Providing as much detail and evidence as possible.
- Fixing the bug yourself if it’s trivially solvable.
- Making a decent effort to figure out something by yourself before resorting to asking for help.
In doing these sorts of things, you exchange some of your own time, effort and scope for direct short-term impact for the sake of a smoother-running team. There’s definitely a balance to be struck here – you should not be tanking progress on your own work given that that’s what you’re being relied upon to do. However, as part of the process of doing your own work, there are many small choices and efforts you can make every day to prevent that from causing unnecessary isssues for your colleagues while they try to do the same.
Giving yourself some slack time to deal with unplanned work instead of constantly keeping your work queue at 100% capacity is also an important strategy to learn to maintain your performance for the long term, and that’s when you can practice some of these behaviours that are less directly-related to your own tasks. Combined, these efforts help to train your muscles in a plethora of areas: communication, debugging, prioritization, business thinking and self-reliance.
While practicing considerateness in your work does make you a better engineer to work with, I cannot promise you that this will definitely translate into immediate tangible benefits for your career progression, if that is something you care about. While companies often espouse prioritising the needs of the organisation and the team over your own personal to-do list as a cultural value, I’ve rarely seen it rewarded organisationally.
Hiring and promotion rubrics might nominally include this behaviour but greater weight is often given to experience single-handedly architecting some sort of important service at an impressive scale. After all, quantitative measures are a lot easier to grade than qualitative. Sadly, as a result, the lack of incentives can lead a lot of people not to bother making the effort who would have done if they were in a team with a different culture.
If the incentives aren’t there, it can be really hard to show up and be deliberately considerate day-in, day-out. Honestly, sometimes it’s hard even if they are; which one of us hasn’t had an off-day? But showing a tendency to stick with it regardless of your immediate circumstances will round out your own skills and garner the respect of many of your peers throughout your career. It will enable you to build a great reputation and stronger relationships with other people detail-oriented enough to notice the difference in working with you, and help to cultivate the same perspective in other engineers who are looking to improve.
So, next time you’re tempted to chuck a pull request over the wall, or are about to pick up a new task while your review pile languishes, take a minute and ask yourself: am I being the sort of engineer I’d love to work with?