Skip to main content

Senior Developer Notes

Bulk Notes

Random Advice

  • Level up on all the key technologies in the app:
    • TypeScript
    • GraphQL
    • composition
    • code architecture
    • React Testing Library
    • React / Next ecosystem
    • Percy
    • MSW
    • Storybook
  • "Try to build a plan on learning everything that has to do with the codebase, and then just go heads down."

New Grad to Staff at Meta in 3 years: Evan King

Source: https://www.developing.dev/p/new-grad-to-staff-at-meta-in-3-years

  • there were a lot of useful things but I think one of the more useful points was speed of execution. Get your core work done quickly and then you have time for growth.
  • That "growth" doesn't just mean going off and learning whatever you feel like learning but it means finding high value work that will deliver a big impact.
  • As a follow-up to speed is that completing something quickly is great but if it is B+ code then who cares. Use the benefits of that fast execution to really make the code great.
  • With the extra time, you can also study how more senior developers solve problems. That can mean reading their PRs to understand their code but there is more to it than that.
  • Acting “above your level” isn’t about doing more tasks; it’s about developing a broader viewpoint, understanding cross-team dependencies, making strategic decisions, and sharing insights that help the whole organization.
  • Here are some more tips to acting "above your level":

1. Deep-Dive Architectural Reviews

  • Join design discussions: Attend architecture or system-design meetings—even if you’re not on the invite list—and ask questions afterward if you feel unsure.
  • Study existing architecture: Review how major systems are laid out and why they’re designed that way. Look for trade-offs (performance vs. maintainability, etc.).
  • Propose improvements: If you notice inefficiencies, suggest solutions. Even if they aren’t adopted right away, you’ll strengthen your higher-level thinking.

2. Trace Problems Across Teams

  • Map dependencies: Understand which teams or systems rely on each other and why. This helps you see the broader impact of any change.
  • Identify pain points: Watch for recurring issues (e.g., deployment bottlenecks). Coordinating fixes for these “nobody’s job” problems signals next-level ownership.

3. Mentor & Teach

  • Run informal sessions: Offer “lunch-and-learn” talks on topics you know well. Teaching not only helps others but also clarifies your thinking.
  • Onboard new devs: Volunteering to help new hires ramps up your cross-team relationships and reinforces your own skills.

4. Cultivate Cross-Functional Awareness

  • Learn the business context: Talk to product managers, designers, or data scientists. Understanding “why” features matter is as important as “how” they’re built.
  • Look at metrics and KPIs: Figure out which metrics define success and align technical choices with those goals.

5. Drive Small “Mini-Projects”

  • Take ownership: Volunteer to lead a small feature or initiative, coordinating with other teams and defining milestones.
  • Explore “spiky” ideas: If you spot low-risk experiments that might bring value, propose them. Even if they don’t go mainstream, you gain experience shaping initiatives.

6. Get Feedback Early & Often

  • Schedule 1:1s: Ask senior engineers or your manager about your thought process, not just your code quality.
  • Ask for direction: If you aim to think like a Staff Engineer, directly ask, “What am I missing that you see?”

7. Document & Share Your Insights

  • Write short docs or proposals: Capture patterns or approaches that might help the team. It clarifies your thinking and shows initiative.
  • Post in shared forums: Whether it’s Slack, wikis, or internal boards, share your higher-level insights to make them visible.

[↑] Back to top

8 Tips For Becoming A Senior Developer

Source: https://www.youtube.com/watch?v=apA-O6Qh6hs

1. Write Well-Designed Code

  • Write code that is easy to understand and maintain
  • keep things simple
  • optimize for readbility and ability to change easily
  • easy to test
  • add comments to your code

2. Always Maintain A Learning Mindset

  • technology is always changing - keep learning

3. Document What You Learn

  • reading books, watching courses, following blogs are good but you must keep notes and document what you learn

4. Look At The Bigger Picture

  • junior developers tend to have a smaller focus while senior devs see the bigger picture
  • Ask yourself:
    • is what I'm doing consistent with how things are doing elsewhere in the codebase?
    • is this code going to be re-used elsewhere in the system?

5. Take Responsibility For Your Work

  • Don't assume bugs or errors will just get caught - think about the edge cases and make sure your code is tested rigorously

6. Understand The Context Of What You're Working On

7. Have Open Discussions

8. Have Side Projects

[↑] Back to top

1-3-1 Technique

  • 1 Specific Challenge - 3 Viable Options - 1 Specific Recommendation

[↑] Back to top

Career Articles To Read

NOT READ

[↑] Back to top