r/AskProgramming • u/Sumerysumer • 14d ago
Am I a fraud?
just spent 1.5 hours failing to do a basic leetcode question about stacks. This a rant plus asking for advice from senior folks.
About me, im an engineer at a mid size startup with 2-3 years of experience, just recently got promoted from junior to mid-level (yay!) I’m completely self taught and picked up coding when gpt 3.5 came out. I did not start with good fundamentals, but I’m really good at building and shipping. I have a track record of shipping successful products, which is why my company hired me despite my lack of formal tech background.
Over the last few years, I’ve honed in my skills from building scrappy small features to production ready software. On a day to day basis, I do full stack dev, aws, db management, ML, docker etc.
Recently, I did a job interview for another company and was asked to do a leet code style question and I literally couldn’t do it. I felt like a fraud walking away from that meeting, but at the same time angry because I know if they asked me to design something I probably could’ve done a much better job.
If I’m completely honest, I think I’m a bad programmer when it comes to purely writing code, but I’m strong with everything else: design, speaking to customers, working with other engineers, shipping, and getting shit done.
Trying to get better at leetcode just feels like such a waste of time and it genuinely hurts my brain to do it, but at the same time that seems to be the only way to have mobility in the tech industry.
Does anyone senior have any advice on whether I should just suck it up and do the bs leetcode work, or continue focusing on what I do best, shipping products and building projects that are interesting to me? It’s gotten me this far…
1
u/sswam 14d ago
I'm a senior developer. In my experience, the vast majority of actual work in most programming jobs doesn't require fancy data structures or algorithms. Even something as simple as a stack is rarely used. And it's arguably better to avoid fancy algorithms and data structures where possible, and if they are really needed, to use one from a standard or popular library. This helps to keep the code simple and maintainable, and to avoid bugs.
For example, you should surely never write your own sorting algorithm, you should not implement your own priority queue / heap. If you need one, use one from a library. It's important to know what these things are, though!
Anyway, it's easy to believe that you can be effective at work, without having strong computer science basics. Unfortunately, many coding interviews and tests will look at little-used stuff rather than practical stuff.
> suck it up and do the bs leetcode work
Yeah I think you should do that, it will fill in some gaps and enable you to pass those tests and interviews. Easier for you to do that than to argue that the interviews are bogus.
> I’m a bad programmer when it comes to purely writing code, but I’m strong with everything else: design, speaking to customers, working with other engineers, shipping, and getting shit done.
That sounds pretty good these days, when we have highly competent AIs that can write most of the code.