engineering management seriesThis post is the first in an ongoing series of posts that address how New Relic does engineering management in the real world, written by various New Relic software engineers and managers. Look for more posts in the series in the coming weeks, or see them all here.

 

At New Relic, software engineers don’t have just one job—we have two!

Our First Job, of course, is to ship great, reliable software that customers love and want to pay for. That job is always critical.

Just as important, though, is our Second Job: making our teammates better. Back when we had just a handful of engineers, we agreed that this was a make-or-break issue for our long-term success. If we hired “brilliant jerks” who wrote good code but held back the team in other ways, we were never going to get where we wanted to go.

Today, the Second Job can take lots of different forms in a given workday. It can be as simple as

  • Mentoring other engineers
  • Organizing a standup
  • Giving a presentation on a scalable design pattern
  • Broadcasting an upcoming big change
  • Voicing concerns in a positive, constructive way

For many engineers, this kind of collaboration may not feel like “real work.” But we consider it just as impactful as coding. That’s because it can help make our engineers

  • More effective: You build more useful features when coworkers give you the context of the problem you’re trying to solve.
  • Faster: When you find out what colleagues are up to, you often realize that you can save time by adapting their solutions.
  • Smarter: By tapping into your team’s collective experience and expertise, you learn more than you could on your own. This is true even (especially!) for senior engineers. You’ll understand any topic more deeply once you explain it to someone else.
  • Happier: Helping each other out just feels good!

twins: engineering management series

The tricky parts

We did have to learn to navigate some challenges that come with our Two Jobs approach:

  • Scheduling: Doing the Second Job can take time. Managers and engineers have to factor this time into project plans. Also, to stay effective at the First Job, you need big blocks of uninterrupted “flow time” (aka, a Maker’s Schedule). It’s important to schedule Second Job work in a way that preserves focus time.
  • Priorities: Occasionally, engineers can get carried away with the Second Job, to the point of falling behind on commitments. If Second Job work starts to look like a distraction, it may be time for a “focus on results/execution” conversation. Good, clear communication between engineers and managers is the way to keep Second Job work aligned with business priorities.
  • Personality styles: Not everyone enjoys social outreach. The Second Job has to be an area where both introverts and extroverts can excel. It’s important to recognize when engineers are helping the group in quieter ways; for example, by documenting “tribal knowledge,” organizing a talk (without being the speaker), or writing a handy little chatbot.

The long game

We’re very serious about the Two Jobs here at New Relic. The concept is not just part of our engineering day-to-day activity; it’s backed by our leadership and written into our review and promotion standards. We believe that this approach helps our engineers be happy, do their best work, and stay at the company.

Personally, I have no desire to go back to the old style, one where people just write code in their cubes, don’t share what they’re working on, and don’t reach out to help each other. I love coming to work every day with people who have my back. Plus, engineers who want to help other engineers also are the type of people who want to help customers. Those are the kind of people we want on our team.

 

Be sure to read the other posts in this series:

 

Reflection image courtesy of Shutterstock.com.

Natasha Litt has contributed to New Relic in both engineering and management roles. She encourages you to visit our National Parks. View posts by .

Interested in writing for New Relic Blog? Send us a pitch!