You've hit a problem you can't solve by yourself. You're stuck and have been for a while now. You could do with help. Before you turn to the next person to ask for help, let's hit the pause and think about the implications for a bit.
Everyone on the team has a certain amount of social capital, a kind of goodwill credit. When you join the team, you start out with a good amount of these credits. But then you start to spend it. With certain activities it goes down faster than with others. Interrupting someone with a good question? Chips away a little. Doing the same, but asking the same question they explained to you an hour ago? It drains it a lot more. Repeating this multiple times? Oh boy, you're going bankrupt awfully quickly and won't have many people to willingly help you.
While social capital is invisible, it's good to be aware of it, use it as smartly as possible, and refill it frequently. So how do you make the most of social capital? Do it by using your social capital smartly. Put in the work upfront, before you use someone else's time.
- Do your research. If your question can be googled, google it first.
- Read the documentation (RTFM). If you are stuck on something that has documentation - an external library, a framework or something similar - go through this resource first.
- Read the code. If you're stuck on the code, read the surrounding code and use code search tools to find clues.
- Debug your issue and narrow the problem space. If you are facing a problem with your code, use your debugging skills. Read through logs, double check assumptions, step through the code and narrow the problem area.
- Ask educated questions. When asking a question, summarize your problem, describe what you've tried, and be specific on what help you'll need. This will not only show to the other person that you've put effort into solving things yourself - it will also save them time to go down the same paths you've already tried.
Don't forget though: you're new on the team or have less experience, you have a lot more social capital and you should ask questions. It's far better to ask more frequent questions the first few weeks on the team than to be stuck for hours, making little progress, and getting more and more frustrated. Just check in with yourself after a few weeks: are you getting along with less help? Are you able to ask more specific questions? Are you succeeding in unblocking yourself more often than before?
Refill your social capital frequently, and do this often by doing the opposite of using it up:
- Express thanks after someone helped you - both to the person, and consider mentioning it in front of the team as well. Describe what you've learned from the exercise that you didn't know before.
- Volunteer to do work that helps the team. This could be as simple as updating documentation, fixing noisy alerts oncall or automating a process that team members previously did manually. It can also be things that improve the team morale, like organizing an event or getting small snacks for the team on an afternoon.
- Help team members solve problems they're stuck on. When you see someone stuck, offer to pair, or talk problems through. Even if you don't know the solution, having someone they can explain why they're stuck could help. Try asking things like "Do you want to rubber ducky the problem on me - explain it to me, and see if it makes more sense?" or offer to do a whiteboarding or drawing brainstorm session.
- Share your learnings with the team. As you learn about new methods, tools or practices by yourself, try these out and share your learnings with the team. These could be writing a new type of test, trying out a new framework. People will appreciate you sharing what you learn: and you'll also inspire others to do so.
Be mindful of your social capital. And after the first few weeks or months, be sure to play it safe, and keep filling it up. If there's an area you don't want to go broke, it's this one.
Featured Pragmatic Engineer Jobs
- Founding Engineer, Front End and API at Causal. $175-225K + equity. Boston.
- Senior Software Engineer at Portchain. Coppenhagen or Remote (EU).
- Engineering Team Lead at Portchain. Coppenhagen or Remote (EU).
- Software Engineer - Infrastructure & SRE at Koyeb. €71-105K + equity. Remote (Global).
- Software Engineer - Service Mesh & Networking at Koyeb. €75-105K + equity. Remote (EU).
- Security Lead at Conjecture. £85-210K. London.
- Senior Software Engineer at Consensus. Boston, MA or Remote (US).
- Senior Frontend Engineer at Plain. £75-110K. Remote (Europe / 2 hours within GMT).
- Lead iOS Engineer at Polarsteps. Amsterdam or the Netherlands.
- Distributed Systems Staff Engineer at Reframe Technologies. Remote (Global).
- Senior Software Engineer at Karat Financial. $160-225K. Remote (US time zones).
- Senior Backend Engineer - Ruby at Rise Calendar. €80-120K + equity. Remote (Europe). I'm an investor.
- Senior DevOps Engineer at Droit. $170-205K. New York.
- Senior DevOps Engineer at Droit. London.
- Full Stack Engineer at Applied. £45-69K. London or Remote (UK).
- Solution Engineer at Pigment. $90-180K. New York or Toronto.
- Senior Backend Engineer at Pigment. €60-130K. Paris.
- Senior Engineering Manager at Whimsical. $185K + equity. Remote (US, Canada).
- Engineering Manager at Bobsled. $170-190K. Remote (US, Europe, South America).
The above jobs score at least 10/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.