I'm pretty good at leetcode (was able to pass some 3 to 5 rounds of interviews), I got good at by practicing and continuous learning. Now I want to be good at software engineering in general like debugging, building components, understanding complex things/systems, etc. I see one of the suggestions is to improve on fundamentals of software engineering, how do I do that? and What action items can I follow consistently? Any concrete suggested steps will be great instead of just some general bullet points. Thank you all.
Hey! Thanks for your questions!
I'm glad the Leetcode hustle has been positive for you and congrats on passing through those interviews. As you observed, leetcode =/= software engineering. It's one of the ways for interviewers to evaluate your problem solving skills (I personally think the system is broken, but not hating the players)
Here's what I would recommend someone just starting out:
As for 'understanding complex systems', it depends on your learning style. What is most effective to help you learn? For me, it has to be interactive or project-based. Maybe the Feynman Technique would be helpful for you.
Those are some specifics that helped me when I was just starting out. It's an iterative process rather than a linear one like what you're asking for but I hope it helps.
We can dive deeper into each of these and come up with a solid plan together.
"Any concrete suggested steps will be great instead of just some general bullet points." I will try my best to give detailed and actionable bullet points 😅.
Even if you're interviewing, try finding time to build side projects. Here's some good resources to help with that:
Ask lots of great questions, be a feedback sponge, and embrace discomfort facing situations you're unfamiliar with (this is where learning is maximized). Here's some good resources for this:
Since you're a junior engineer, I recommend these resources as well:
You're well set up to learn well at a prestigious Big Tech company like Amazon. As long as you're communicating well and thoughtful with everything you do (especially code quality), you'll be well on your way to SDE 2!
Here's a good discussion around mid-level engineer expectations as well: "What does a competent mid-level software engineer look like?"
This is a great question and what Taro helps with! (If you don't feel more confident after reading through Taro discussions, attending the live events, and chatting with us directly, ping me for a refund!)