Increase your slope

A new grad’s guide to becoming effective at Stripe

(and other similar companies)

Two illustrative curves over time. A dotted curve, a head start, begins slightly above yours and grows steadily. A bufo in a racecar rides your solid curve as its slope increases faster, overtaking the head start two-thirds of the way along. The axes are time and understanding. time → understanding →

All em dashes are my own.

Starting at Stripe as a new grad is a strange and exciting experience. You’re surrounded by people who know an incredible amount, working on systems with weird names, and trying to figure out what you can actually contribute. With AI, things are changing even faster, and everyone’s scrambling to figure out how to adapt. There’s a lot to learn, and it’s pretty hard to know where to start.

I’ve been here for about a year and a half, and I’ve also talked to a bunch of other ex-new grads about their first year — what worked, what was difficult, and what they wish they’d done differently. A few things kept coming up: become an expert in something small, take ownership of the problems around you, and get comfortable having opinions. These things build on each other, and you can start doing all of them much sooner than you probably think.

01 / 05

Become an expert

On your first day at Stripe you know approximately nothing. GPT-6 is better at understanding your domain, writing code, reviewing code, and probably even coming up with ideas. The way you change that is by becoming an expert — first in the narrowest domain, and over time that domain gets wider.

I realized that I cannot be an expert the way they are. But I can be an expert in this one little area, and that could be mine. So I carved it out for myself.

@denisyuk

While it is appealing to try and learn a bit of everything, as a new grad, it is simply impossible to do that effectively — chances are you’ll just end up being mediocre at it all.

Expertise grows outward from one small domain A bell-shaped curve first rises in one narrow area, the spin-up project, then widens over time while its peak stays fixed: your understanding reaches more domains without losing depth. Dotted boundaries mark the spin-up project at the center, then the next project, team’s domain, and sister teams outward on both sides. The dashed spike marks your first narrow expertise. This is an illustration, not a probability distribution. depth of understanding → sisterteams team’sdomain nextproject spin-upproject nextproject team’sdomain sisterteams breadth of understanding

Typically, your first area of expertise will be wherever your first project at Stripe takes you. You probably won’t have too much of a say in what it is, but pretty much every domain has interesting and difficult problems, and the goal is to become the point person on your team and within Stripe for that one thing.

My spin-up project was to revamp the charts on the homepage of the Stripe Dashboard. I didn’t find the problem particularly interesting, but it turns out charts are really hard, and after 3–4 months of working on them, I had become our team’s mini-expert. Throughout the next year, being the mini-expert meant that even as a new grad, I could quickly drive the mitigation of chart-related incidents, independently execute on dozens of run tickets, and weigh in on product/design decisions. A year and a half later, I’m on a completely different team at Stripe, but my knowledge of charts turns out to still be very relevant.

The natural question then becomes, “How do you become an expert?”

When you’re initially spinning up, there isn’t really a shortcut around first “just doing the work.” It isn’t glamorous, but learning how to reliably execute tasks that are handed to you is the unavoidable first step to becoming an expert. Everything is downstream of first building strong technical foundations. However, as you’re working through problems, be incredibly curious. A few ways of doing this:

Read everything

This doesn’t just mean reading the Trailhead docs explaining the system architecture. This also means finding the product brief that originally explained the need for the feature you’re building, or the UXR that justified it. Having more context is always useful. Decide which docs are important to read thoroughly and which you can just chat about with your favorite LLM.

Talk to people

No one on your team knows everything. Build a “map” of expertise — figure out who is an expert in the different areas of your team, and then go talk to the people that will know the most about your area. Given the cross-cutting nature of building software, this may often extend to talking to people beyond your team (e.g. if you’re building on another team’s abstractions).

Each distinct bufo represents a person. Connections spread from you, a baby bufo, to ten others, forming an expanding constellation of expertise.

Ask for help effectively

You’re allowed to ask silly questions, and people are generally happy to help — most new grads ask too little, not too much. Before you reach out, be ready to explain what you’ve tried, why it didn’t work, and what your hunch is. Even if your hunch is wrong, you’ve started a conversation amongst peers instead of blindly asking for help, and it’s going to be a lot more fun and educational for both of you.

LLMs can answer most of the what questions — what this function does, what this error means. Save people for the why: why the system was built this way, what’s been tried before, whether you’re approaching the problem the right way at all. When someone helps you, ask how they got to the answer. What made them check that dashboard first? How did they rule out the other possible causes? Experienced engineers make a lot of decisions that seem obvious to them, and you’re trying to osmose their intuition and experience.

Dogfood the product

I’m not sure it’s possible to end up on a team at Stripe that has an un-dogfoodable product. If you work on a product team, create a little dogfooding Stripe account or use whatever testing accounts your team has. If you work on an internal/infra team, use the tools you’re building! Dogfooding is the easiest way to actually understand your product and your users. You want to understand their use cases, feel their pain, and also recognize the moments of joy that you’re trying to create more of.

Know the metrics

Stripes love metrics. We have endless OKRs and Hubble dashboards. If there is a key metric in your area of expertise (latency, usage, user satisfaction, …), you should know about it. You should know how what you’re working on ties into these broader Stripe goals and align the decisions you make with the bigger picture.

Hubble is also an excellent proxy for understanding how users are using your product (and if it’s not, then you should encourage your team to build observability). When I was working on the home charts, peeking into various Hubble datasets helped reveal the strong “default dominance” of our users (almost no one changes their default settings), which guided how we prioritized features on the project and continues to be a key input into how I think about building products today.

AI

AI can both accelerate and hamper your ability to become an expert. It is incredible at retrieving and synthesizing information and, of course, at writing code, and it’s only going to get better. It’s very tempting to offload your critical thinking to it because it feels faster. That’s a recipe for short-term gains and long-term mediocrity — you end up as a meat proxy for the model.

In your first month(s) at Stripe, it may even make sense to actively slow down. Expectations of velocity aren’t as high yet, so use that time to internalize how the systems work and where they tend to break. You’ll speed up later — AI makes it simple to execute on a well-understood problem.

The “whiteboard defense”: I should be able to pull you aside at any moment and ask you to explain any customer-facing system you’ve shipped. You should be able to clearly explain how it works and defend the decisions you made. This is my benchmark for responsible AI usage.

Mitchell Hashimoto

A few habits that can help as you’re spinning up:

  • Use a coding agent, but run it inside an IDE so you can visually inspect and internalize the changes that are being made. I found Cursor to be a great learning tool.
  • Don’t ship a change you can’t explain and justify. By all means, have the AI help explain the changes to you, but make sure the understanding ends up in your head.
  • Review PRs properly. When you’re a reviewer-in-training, actually review the code. Yes, use Orbit review and perhaps you don't need to read every line of the diff, but take the time to understand the structure and purpose of the change. Just like asking for help, reviewing code is another way to absorb expertise.
02 / 05

Take ownership

Fundamentally, ownership is about caring.

To have a high sense of ownership is to understand and empathize with the users you’re serving, feel responsible for the software you’re delivering, and think about the long-term consequences of decisions. Honestly, pretty much all our operating principles are derivative of taking ownership.

It isn’t always easy to get ownership as a new grad. Part of the way you get it is by demonstrating expertise (see the previous section!), but you can take ownership much sooner than that. Just as you start with a small sphere of expertise, you can start by owning small problems — the things that frustrate you and that you can fix independently: the bug you spot, the legacy testing library your team is still using, the broken Hubble dashboard, the quality-of-life improvement that should obviously exist. By fixing each one, you develop your own bar for quality and ensure the systems around you meet it.

Just build it

Sometimes the thing you want to fix needs someone’s permission. It used to be that you’d write a proposal, get buy-in, then take a few weeks to build it. For many of the things you come across now, if you have conviction, then you can just spin up the Orbit session, build the thing in a dev environment in an afternoon, and then demo it to the relevant stakeholder. A small prototype makes the conversation concrete and the proposal more compelling.

Seek opportunities

Volunteer for interesting projects, and ask your tech lead or manager if you can sit in on higher-level meetings (e.g. org-level SHRs) — you’ll see how decisions get made well before you’re the one having to make them. Try to contribute to all of your team’s incidents, even ones you didn’t cause and don’t know how to fix. Incidents are the fastest way to learn how a system actually breaks, recognize how your product can impact users, and understand how to build maintainable long-term software.

My spin-up buddy and my manager were gonna have a call… [and] I was like, “Oh, I have some ideas as well. Can I also join this meeting?” I did, and then afterwards they were like, “You can just own this.”

@srkhuran

No boundaries

While you start out focusing on your area of expertise, you should remember that you have (or will have) literal ownership in all of Stripe and should operate accordingly. If the problem you find requires you to change another team’s systems, that isn’t a sign to wash your hands of it. Propose the change, collaborate with that team, and ensure the impact is delivered. The old “edit the company” operating principle remains extremely relevant.

Don't stop owning it

It is tempting to see projects as shiny new toys that you play with before moving onto the next big thing. That's just not how software development works. Of course, almost all software inevitably gets deprecated and deleted, but until then, you continue to own it. It's been five months since I've swapped teams within Stripe, but still I remain in all of my old team's Slack channels (except the private ones they kicked me out of). I continue to follow what's going on, and try to contribute my expertise wherever I can (especially incidents). Another new grad I spoke to even asked their manager if they could go back and iterate more on their spin-up project because they cared so deeply about making it better.

Making mistakes

Ownership is also about owning your mistakes (which will inevitably happen if you do anything meaningful and difficult). In 2025, I caused 0 significant incidents. In the first half of 2026, I caused 4 S3+ incidents. That wasn’t because I got worse at my job (I hope). I was just shipping faster and working on more important things.

When users reported these issues, I recognized they were caused by my changes, spun up the incidents, drove the mitigations, and owned the remediations. Stripe has a blameless culture, but I still held myself accountable (honestly, I was disappointed in myself). I reflected with my manager on what we could have done better and wrote about it in my mid-year self-review. I’ve since caused more incidents, but I try my best to not repeat the same mistakes.

03 / 05

Have opinions

The goal is to become an expert, but you do not have to be an expert before you can start having and voicing opinions! Once you start feeling a sense of ownership, you’ll naturally have opinions. You care about what you’re building, and you want to shape how it gets built.

The mark of being a great engineer is being able to easily articulate tradeoffs and convince people of your opinions.

@bharath

New grads (and new hires generally) often have the unique opportunity to share their opinions. You’re not colored by prior experiences and biases. The things that you find odd but no one else does may actually be odd — everyone else has just gotten used to them. Keep friction logs and share papercuts. This is not just about the surfaces your team owns, but also about the various internal tools that you use on a daily basis.

However, as a new grad, there’s a mental blocker to voicing your opinion — “Am I about to say something dumb?” Thankfully, Stripe is full of kind people who are very excited to help you find your voice and are keen to hear what you have to say. They know that you’re new to the company and the industry, but that doesn’t mean your ideas will be discounted.

There are a couple techniques that you can use to start getting comfortable with sharing your voice:

Do your homework

As a fresh new grad, you’re still developing the instinct, taste, and knowledge to form thoughtful opinions on the fly. Even when you have a strong intuition, it’s pretty hard to convince other people that your opinion is sound without something to back it up. Bring evidence — point to some UXR, a Hubble dashboard, or a system design that supports your view. You’ll also feel a lot more confident in your opinion if you’ve done the homework. This is part of why building expertise (even if it’s narrow) is important — once you’re an expert, you will have the knowledge to cite that evidence.

Start small

It is extremely normal to vibe-check an idea with one or two people first — typically your spin-up buddy or the domain expert in that area. Even a year and a half in, I frequently DM my partners in crime before saying something more broadly. It builds confidence and filters out the occasional actually terrible idea.

Slow-ramp an idea before sharing it widely You, a baby bufo, share an idea with your spin-up buddy, a grown bufo giving a thumbs-up, on one side, who replies with approval, and your idea grows. You then share it with a domain expert, another thumbs-up bufo, on the other side, who also approves, and it grows again. Only then do you share it with four distinct bufo teammates in your team channel below. you spin-up buddy domain expert team channel

When you do share more broadly, lean on Stripe’s culture of building in public. If you’re sharing a doc or demo, mark it as a work in progress ([wip] in the title, or saying “open to lots of feedback!”) — people engage much more generously with something that’s early in the process. That said, if you've done your homework and you feel truly confident in an opinion, then own it! Your confidence will impact how excited people get about your idea.

Even if it’s not a good design, you come up with a design. Then you talk to people about it — “Okay, this is what I’m thinking” — and you can iterate from there.

@khowala

You can also start small by selectively choosing the method by which you share opinions. When I started attending my org-level SHRs, I was understandably terrified of sharing an opinion. The meeting was largely full of EMs and tech leads, and I mostly just lurked, but after a much-needed push from my manager, I started leaving small messages in the meeting Slack channel. This was a lot easier than actually unmuting myself to speak up! Eventually, I gained the confidence to do that, and after months of attending, I got comfortable enough to present some of our team’s incidents — including the ones I caused :).

04 / 05

Build a career

Careers are long, and you’re at the start! The advice above is about making early investments, but there’s more to think about as you chart a career.

Compounding growth

An illustrative compounding curve, zooming out An exponential curve fills the plot, with a bufo on a rocket flying its tip. The view zooms out 2× in time and 4× in height, shrinking that curve into the corner, then the curve keeps compounding and climbs to the top of the plot again before the right edge. The rocket tilts upward as the curve steepens. This is a visual metaphor, not a career prediction. time → understanding →

There are strong compounding effects to the things you do at the start of your career. As you get comfortable at Stripe, lean into what works and push it further:

  1. Grow your context. Know the key things happening across Stripe — read strategy docs (go/corpstrat) and shipped emails, attend Friday Fireside and Eng ATH, and lurk in the Slack channels of interesting projects. You never know when the knowledge graph that you form will help you solve a burning problem in your day-to-day work (see go/mycelium for more thoughts about this).
  2. Build your network. Building relationships is a positive-sum game. Meet people on your sister teams, the teams you rely on, and the teams that rely on you. Make sure you meet your skip manager! Cold DMing people can be scary at the start, but it is a really important part of operating at a big company. These people have interesting experiences to share, and one day you’ll need their help — an existing relationship makes that much easier.
  3. Pitch bigger ideas. There’s no reason you can’t pitch an entire project. Great ideas can come from anyone on the team, and people appreciate well-thought out pitches. Build a prototype or write a thorough doc and get lots of feedback. Even if it doesn’t become a full project, going deep on a new idea teaches you (and your team) a lot, and often surfaces tangential ideas along the way.

Set goals

Within my first month at Stripe, my manager made me write out a career roadmap consisting of where I saw myself in five years and the concrete things I wanted to accomplish within the next year. Sure, it’s difficult to know where I’ll be in five years, but just the act of writing this down and then working backward from those long-term goals helped give me clear direction. It’s also pretty cool to see how much of what I wrote still remains true today. If five years feels too far away, try thinking just one year ahead — you may be able to come up with more concrete things you want to work towards.

Your manager

The best managers (at least to me so far) feel like partners for your career. You cannot control who your manager is, but there are still things you can do to build the most meaningful and beneficial relationship with them.

Communicate a lot and often. It is easy to fall into the trap of doing great work and not telling anyone. Your manager can’t advocate for work they don’t know about. Learn how they like to communicate (Slack updates, a running 1:1 doc, weekly summaries) and keep them in the loop on both what you’re working on and how you’re feeling.

Share your goals. Hopefully your manager is already asking, but if not, tell them — and keep them updated as your goals change. The earlier they know what you want, the earlier they can steer projects and opportunities your way. This is especially relevant for perf — it shouldn’t be December and you have absolutely no clue if you’re getting put up for an uplevel.

Imposter syndrome

Everyone experiences imposter syndrome, and I mean everyone. Instead of my own thoughts, here is an excerpt from a 2020 interview with @michelle (who joined Stripe as a new grad all the way back in 2013) about how you can leverage your imposter syndrome:

[…] A potentially-surprising important factor for me was (and is) my imposter syndrome. It made me extraordinarily open to feedback; to learning and growing and to taking responsibility for anything remotely related to my work. It made me proactively seek out feedback on everything from the validity of my comments on PRs to how I ran a particular meeting. If something was broken (whether it was technical or organizational), I felt unsettled and was deeply, intrinsically motivated to go learn about it and to fix it […]

Of course, imposter syndrome is a double-edged sword. It often makes me scared and self-conscious — early on I constantly felt like I would get fired for not being fast or effective enough. I grew more secure about my own strengths over time, but to be frank, this took a lot of time and positive reinforcement from my managers and from leaders at the company.

05 / 05

Conclusion

Some of this will be useful in your first week, and some of it will make more sense six months in. You’ll figure out what matters most for where you are and the things you specifically want to get better at.

Over time, you’ll find yourself answering questions you used to ask, making decisions you used to need help with, and taking on problems you wouldn’t have known how to start. The little area you became an expert in gets bigger, and people start coming to you for help. It’s pretty easy to miss that happening when you’re focused on everything you still don’t know.

Contributors: vikrams, michelle, juliaying, bharath, yeva, denisyuk, srkhuran, khowala, jleung, kimberly, gmcgovern