22 Comments
User's avatar
Pete's avatar

Besides knowing DSA what would you EO text a new grad engineer to already know?

Expand full comment
Ryan Peterman's avatar

DSA is a small part of the job. The key to succeeding as a new grad is to get great at the fundamentals of building good software. Some skills needed for this:

1. Ability to understand requirements then find where in the code to make changes that meet those requirements

2. Technical skills needed to write quality, well-tested code

3. Communication & collaboration skills /w teammates

Building features for side projects or open source are a much better example of what an engineer should know to do well from L3 -> L4. Hope this helps!

Expand full comment
Pete's avatar

Thanks! Any tips for navigating a codebase? At my first FT SWE role and I’m having trouble with it as it’s my first time and never did OSS.

Expand full comment
Ryan Peterman's avatar

Codebases at most companies are so massive that there's no way you can keep it all in your head. You need to get good at making small changes inside a larger codebase you can't fully comprehend.

If I was new, I'd ask someone with experience on the team for code pointers for where to start. Then add print statements or break points and execute the code to see that it does what you expect. Once you can run the code and inspect it, you can make changes to it.

Expand full comment
Justin's avatar

Hey Ryan, thanks for sharing this, as someone early in his career, do you have any resources you'd recommend looking into or books that would help with the 2nd pointer that you mentioned above?

Expand full comment
Ryan Peterman's avatar

Hey Justin, the best way to develop those technical skills is to learn by doing. This means writing a lot of code and receiving feedback from others who have strong technical skills.

If you're working full-time, I'd say try to find someone on your team who has these skills already and ask them for feedback via code review.

If you're looking for supplemental resources you can take a look at Clean Code - https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM/

There's more in here than you need but the first 10 chapters cover a lot of general guidelines for writing solid, maintainable code.

Expand full comment
Aditya Deshpande's avatar

Would love a guide to move from L4 to L5 quickly as the level seems much wider

Expand full comment
Ryan Peterman's avatar

Agreed, the L4 -> L5 gap is much wider and there are some distinct behavior changes

Happy to, I will cover the L4 -> L5 level expectations then start writing the guide on how to do L3 -> L4 -> L5 in the fastest possible way. Stay tuned!

Expand full comment
Ivan H's avatar

It could also be useful sharing how other staff engineers got promoted

Expand full comment
Ryan Peterman's avatar

Good idea Ivan, after I cover L3 -> L5, I'll start getting into Staff engineer promo and expectations content

Expand full comment
Jordan Cutler's avatar

Great post, Ryan! Definitely agree on the difference in scope of work

Expand full comment
Ryan Peterman's avatar

Thanks Jordan :)

Expand full comment
Rajeev Singh's avatar

Hey Ryan, I am new grad starting at Meta this summer. I wanted to know what should i work on before I join Meta and what should be the mindset of a new grad when they first join Meta clueless about the codebase.

Expand full comment
Ryan Peterman's avatar

Congrats on passing the interview bar Rajeev! I wrote a short post about this that covers pretty much everything you need to succeed as an intern at Meta: https://www.linkedin.com/feed/update/urn:li:activity:7085286770614943744

Maybe worth a full newsletter going into more detail but for now this is the best writeup I have, hope it helps!

Expand full comment
jjjs's avatar

Could you double check L4 vs L5 link? I tried to open but somehow page has an error.

Expand full comment
Ryan Peterman's avatar

Thanks for the feedback, the L4 vs L5 link was broken on this article: https://www.developing.dev/p/what-you-work-on-how-hard-you-work

It is fixed now, here's the link to the L4 vs L5 article if you're still looking for it: https://www.developing.dev/p/faang-career-ladder-mid-level-l4

Expand full comment
Ilia's avatar

It's great to see some guidance on how to climb the career ladder. However, I'm stuck at a much earlier stage; I cannot land an L3 role( Any advice from more experienced folks?

Expand full comment
Ryan Peterman's avatar

I wrote a little about passing interviews here: https://www.developing.dev/p/how-i-11xd-my-interview-offer-rate

Will put out some guide probably that is more holistic, stay tuned!

Expand full comment
Mahesh Bauri's avatar

So, let me tell about my self. I am a junior frontend Engineer (Early stage startup [only 7 employee]) . But, my some work in company like L5 level. So, I am curious to know, what is the expection of only one frontend engineer at startup. And Please explain all levels in early stage startup. I want to become senior frontend engineer please help to achieve that.

Thanks Mahesh.

Expand full comment
Mahesh Bauri's avatar

What are the difference between to solve ambiguous problem by L3 vs L4 vs L5 vs L6? Please explain...

Expand full comment