I have 3 years of experience as a software engineer for a non-tech company.
It doesn't feel like the place where cutting edge development is happening. Processes feel incredibly slow.
I would like to move to a more tech oriented company, but I feel that I can't pass the coding interviews. I never felt particularly gifted. Studying CS at university felt like an uphill battle.
I spent roughly 3 months preparing for interviews (6-8 questions per week of LeetCode, completed all chapters/problems of Cracking the Coding Interview).
I'm almost 26 now. I'm still struggling to pass medium LeetCode questions in a timely manner. I'm wondering if my energy would be better spent somewhere else? Product Management? Consulting? I really want to find a job where I can be valuable. As a kid, I thought engineering was so cool. However, it feels like I am barely making progress.
What did your younger self find so cool about engineering?
What's the coolest project you've ever done so far in your life? Why was it cool?
I think a lot of us resonates with how you feel - about how your job isn't particularly exciting or you don't think you got the tools necessary to become a good software engineer. It's rare to find a job straight out of university that's an exact fit with who you are deep down or your current skillsets.
My advice for you is rather than spending time doing LeetCode, instead reflect on your past and understand what you really find interesting and motivating.
Software engineering (and really, any well-paying profession) is very deep, and wide. It's wide and deep because all software is an exercise in problem solving using tools and people, and I think there's room here for people of all backgrounds. The key is to understand what your own unique motivation is to pursuing a career in this field.
Some people find that the overall business problem is what draws them to the job. Maybe they are really drawn to solve climate problems, or build a platform to help fellow software engineers (cough Rahul and Alex cough).
Some people find the technology underneath interesting. Maybe they really want to be on the cutting edge of JS technologies, or use LLMs in helping the world. Some folks loves to nerd out with fellow enthusiasts about the latest java update, or some concurrency paradigm.
Some people find that their joy is solving problems for their fellow coworkers. Some people just want to help their team have a good time and does so by filling various roles that bring about more structure and clarity to their teams. Or address pains their colleagues feel, like start test automation efforts so people don't have to manually test their code.
Some people find all of the above motivating. Or none of them but some other motivators.
Maybe, you don't know what motivates you today. That's ok, it does take some genuine effort in putting your theories about what motivates you to the test. I didn't know either at 26, but trusts me, it was not LeetCode and it will never be for me. But at least come up w/ a theory to test.
You can always change your specific job or employer or profession. But unless you understand to some degree what it is that you are looking for, you probably won't randomly find a new situation that fits your bill. Product Management and Consulting are certainly equally wide and deep disciplines and definitely not "easier" than software engineering :)
Alex:
Thanks for giving some info about your own background. I agree with what you said. A startup is probably a good way for me to give SWE another chance. I'm going to do my best to keep off of LeetCode for the mean time. I keep coming back to LeetCode ocassionally hoping that it is just going to "click" all of a sudden. It always feels like I'm close, but just not quick enough.
I actually did receive an offer from a startup a year ago, but it was rescinded before I started.
Kuan:
What did your younger self find so cool about engineering?
I always had a sense of wonder about how the world works. How did we build computers, planes, spaceships? I also liked the idea of "standing on the shoulders of giants".
What's the coolest project you've ever done so far in your life? Why was it cool?
To build this project, I was reading through academic papers and was deep in the source code of major platforms. I was happily spending my work days and weekends doing this. The fact that I was making decent progress probably helped keep me motivated.
I thought it was cool because I felt that I was learning how the world works. I also felt I was achieving something that felt impossible years ago. If you are curious, I can get into more details in a private message.
I think all of the things you mentioned motivate me. At this moment in time, I think your quote below describes my biggest motivator quite nicely.
Some people find the technology underneath interesting. Maybe they really want to be on the cutting edge of JS technologies, or use LLMs in helping the world. Some folks loves to nerd out with fellow enthusiasts about the latest java update, or some concurrency paradigm.
While Product Management and Consulting are not necessarily easier, I am wondering if I could be better in those areas. Both of my parents studied computer science. I'm guessing it's not a coincidence that I did too. But is that really what I am best at / going to enjoy the most?
Thanks for asking me those two questions. They are leading me to consider contributing to open-source projects. They also make me think about what job I might apply for next.
26 is still very young! Just to get a couple things out of the way:
That being said, I wouldn't let 1 bad job + DSA sucking kill your aspirations of being a great engineer. While it's true that a career path outside of SWE may be right for you, I think you should give SWE another chance. Believe it or not, most engineers take years to truly find their groove.
In terms of what to do going forward:
OP, feel free to ping me over slack! It does sound like you are on a path to introspection and exploration that could lead you to find something that will motivate you in this role. I hear there are also book clubs and other options available on Taro if you wanted to explore more technical depth!