3

How can I grow from an SDE 2 level of technical proficiency to that of an SDE 3?

Profile picture
Mid-Level Software Engineer [SDE 2] at Amazon2 years ago

How do you build up technical skills for a senior engineer? I want to develop that intuition to understand how to choose the proper technical approach and break down the trade-offs. Are there any resources I can read to accelerate this process?

480
1

Discussion

(1 comment)
  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago
    • For the resources question: Almost certainly not. Especially at a massive company like Amazon, the culture and codebase are going to be so specific, that it will be near impossible to find a resource that meaningfully makes a difference for you and has high-quality, directly applicable advice.
    • In order to get greater technical depth, you need "battle scars". Truly great software engineering is learned by doing: You can't read your way to becoming a great software engineer. Here's some ways to get those scars:
      • Write code, push it, and see it break. Make sure you really understand why your code is buggy, so you don't make the same mistake again. You will start seeing patterns, and those patterns are how you really level up your technical depth.
      • Submit code into a code review and get a ton of constructive criticism. Some of the best learning is getting your PRs torn apart by senior+ engineers.
      • Create technical design documents and get lots of feedback on them, either directly or in architecture review.
    • If you are going to read something, go through the PRs/code reviews of the senior+ engineers on your team/sister teams. See how senior engineers are crafting their code and what kind of feedback they leave on others' code reviews.
    • Something tactical you can do is try to find an SDE 3 mentor. Ask your manager if they can find someone, either on your team or a team close to yours in the org. Mentorship is flexible too. In an ideal world, you have a weekly 1:1 with this mentor. You can tone this down with a bi-weekly or monthly 1:1. The lightest form is getting a commitment that they'll review a large portion of your code, and you just put them on every commit you submit.