Growth hacks: coffee with an experienced engineer you don’t know

While I do my best to keep doing networking, I have to admit that I don't think I'm that good at it. At least the traditional sense of go-to-a-meetup-and-talk-to-people type of networking. This is despite me being an extrovert and having attended many meet-ups and tech conferences, doing small talk with lots and lots of people. Still, I rarely felt that I got much out of a five-minute lightning conversation, beyond saving contact details for later or adding the person on Twitter or Linkedin.

A surprisingly efficient networking method I found was doing cold reach-outs to more experienced software engineers, offering to buy them coffee or lunch. In exchange, I asked them to share their advice on {topic they are experts on, and I'd like to get better at}. This is kind of like cold sourcing for hiring. Except it's not about hiring and you're not a recruiter. You're not selling anything, but asking for advice on something they are busting with advice on. These are the things that bring the chance of getting a response from a developer from zero to quite likely to respond.

I started doing this when I started at Skyscanner in London. It was a new and small office at the time, and I missed having people around me to learn from. I set myself the goal to meet one person per month. I started by both asking around friends for recommendations of the best people they've ever worked at. I also browsed my second-degree Linkedin connections, then shooting off a message to them, being clear on TODO. Here's the type of messages I would send out:

Hi X,

Y recommended I reach out to you as one of the best iOS engineers he's worked while at CompanyY. At Skyscanner I'm the first - and currently, only - iOS engineer in our new London offices and a relatively new tech lead as well and I'm looking for people to learn more from.

If you have time, love to buy you a coffee or lunch at a time and location that works conveniently for you. I'm really interested to chat about your experience on leading a team while being a top individual contributor, as well as any advice you might have about balancing tech work, recruiting and mentoring others. In return, I'd be happy to share my views on iOS, how I'm approaching building a new app and anything else that you might find interesting.

I also understand that you might be busy, so no worries if you wouldn't have the time!

To my surprise, almost all engineers accepted, and we set up coffee or lunch, having a great conversation. I met many interesting people this way, some of whom I'm still regularly in touch with.

What I did not expect was this approach to be far more valuable than just a one-off networking session. In all cases, I had fascinating conversations on problems they were facing and found myself explaining the biggest challenges on my plate. Sometimes, these were problems that I've been working on for weeks. After this conversation, I always came away filled up with ideas, inspiration, and often with a new solution in mind for the difficult problem I was facing. I also came away learning a lot about how other companies work, how another person approaches problems, and what they think about different technology topics.

Another thing I got out of these sessions was validation. Either myself or the other person would talk about an unconventional thing I was doing, that few people talked about online. Quite a few times, I found out that it wasn't all that unconventional - they were either doing, have done or planning to do the same thing. For example, this was the time when the internet was full articles on how moving fast and breaking things works so well for Facebook - and all startups would be wise to follow. I worked at a startup, on a small product, but had my own reservations. In these conversations, I got validation that others feel the same way, which led me to writing down my thoughts on the dilemma of moving fast without breaking things.

These sessions were far more of a refresh than I expected them to be. It was so nice to step out of my day to day work bubble and talk about professional things about someone who works in the industry but in a different place.

Developers buying coffee and having a chat with other, local developers is an underrate hack for professional growth. It is also under-used. I know this because although I reached out to many experienced engineers to meet them and learn from them, I've had very few people reach out to me this way. On one end, I'm not surprised: cold reach-outs are weird to do, and it takes guts to do this. On the other hand, I'm telling you: you do it. Do it to learn about what it's like to work at another company. Do it to get tips from them on how to become a better engineer or other things you admire them for.

Whenever I get a reach-out from a person in the local developer community, I make a point to try to make time for this. I do this, frankly, because it's a lot of fun. It's also learning something new for me. It might help with career opportunities for either of us, down the line.

I find catching up like this also to be inspiring and something different from my day-to-day. Just how inspiring? This post would not have been written if a developer in Amsterdam had not reached out me this way. They wanted to chat more about what it's like to work at Uber and how it's different to freelancing and agency work, that they have experience with.

It was a great chat. We need more of these.

Did you get inspired to reach out to others? Here are a few, useful ground rules to increase the likelihood of replies when you ping people this way.

  1. Shared connections help with these kind of reach-outs. The software development industry is small and assuming you know a few people local people, and probably already have hundreds of second-degree connections in your local area. It's nice when the reach out does not come from a complete stranger.
  2. You're the one asking for a favor - be clear on this to yourself. This means you'll want to accomodate around the other person for time and location. Make it easy for them.
  3. Think of what you can offer, in return. You might feel that you have less to offer, but do some research on what this person does. Especially if you are meeting someone who is more of a peer - like I had, in many cases -, offer to share your experience on the field.
  4. Be early and come prepared. You want to get the most out of this time, so draft up topics you'd like to get their input on. Try not to be late.
  5. Pick up the bill, no matter what the other person suggests. Again, it was them who volunteered the time and did the favor. This is more about the gesture, than the price.
  6. Pay it forward/pay it back. The next time someone reaches out to you, try to think of ways of having a conversation that fits into your already busy schedule. If you already used this method, you're just paying back. If you're being reached out of the blue, try saying yes and see what happens.

Featured Pragmatic Engineer Jobs

The above jobs score at least 9/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.

Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.

Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.