Blind, please hear me out. I'm a SWE with 9yoe, so not completely new on the block. I fundamentally think I'm a very mediocre SWE, I worked in multiple teams over the years so I have several data points, and my teammates are always better SWEs than me, even the ones who just joined the team: they design better APIs, write more elegant testable code and, most importantly, deliver code much faster than me. What I have going for me is that I am a really good communicator (I've been told) so I do well at architectural discussions and team meetings. I also am quite quick at troubleshooting and fixing bugs, it's just the writing code from scratch that doesn't work as well as I'd like. The interesting thing is: I am actually fascinated by programming, I spend a lot of free time reading programming books, technical articles from reddit and hacker news, memorizing the keyboard shortcuts of my IDE to make me browse code as quick as possible, ... but still, when it's time to write code, people can beat me. What do you think?
You should learn to get to the point.
I think it's time to make the transition to TPM or EM where you can play off your strengths like soft skills while delegating the technical skills to people better than you. If you're mediocre after ten years of experience there's no point in leetcoding just to continue doing what you're doing. You're wasting your time improving knowledge and productivity tips when your number one priority should have been to get better at your job - and then focus on these side skills which are at best giving you the illusion of improvement.
^^ thiS
The thing is I leetcode quite well because leetcode is super easy once you have the insight, and I have no problem with data structures and algorithms in general. It’s writing large production systems that doesn’t come easy to me.
Eat Sleep LEET. Repeat
I don’t do too bad a leetcode. Leetcode programs are trivial to write once you get the algorithm, there’s no software engineering challenge at all in that. I’m talking about writing from scratch a system with dozens of classes, in a clean and testable way, mixing together 20+ external libraries and such.
That means you are nowhere as bad as your post made out to be. The only way to fix this is to code more. Pick up tasks which inolve LLDs and implementation or do things in your spare time by git commits onto your personal git handle. Write code for easy-medium design interview questions like Parking Lot design, elevator design, coffee vending machine design etc and get it reviewed by a friend. See how extendable it is. How much of SOLID principles you incorporated etc. Apart from that for HLD and system design watch videos or read eng blogs on Design UBER, Design Insta, Facebook, Dropbox etc. Have mock interview discussion with a peer as interviewer etc
K
You are just fine. Maybe start a side project to gain more confidence to write stuff from scratch.
Time to pivot to PM/TPM. Based on what you say your skills are, those positions may be better for you. May help you progress further in your career if you've stalled out as a SWE
That's pretty much where I'm at. I should have joined companies where I'd get to write things from scratch.
Look at eng roles in DevOps domain
Tech Industry
3h
606
I wish I were East Asian instead of Vietnamese (Southeast Asian)
AMA
Yesterday
2123
I’m a professional coaster AMA
Tech Industry
Yesterday
2386
TESLA UP 14% AFTER HOURS 🎉🎉🎉🎉
Tech Industry
4h
1641
Avoid teams with only Chinese or Indians especially with a Chinese/Indian manager
Tech Industry
14h
245
Best nickname for Bank Of America?
I think you’re amazing. Keep up the great work. I love you
💙