Reached 3 YoE, still feeling widely inadequate
Posted by Syruppo@reddit | ExperiencedDevs | View on Reddit | 15 comments
Hey everyone, I've started working as a self taught dev 3 years ago. As everyone knows, the market was fairly different, and a lot of people that wouldn't even be looked at now were hired, and sometimes I worry if I would fall in this category too.
I am based in Southern EU, and devs are seen as more of an expense rather than a source of profit, which fosters an economy where the main options are consultancy / body rental agencies. I've started working for one, then swapped 6 months later to the one I am currently working at, and around 1.5 years ago I was sent by my body rental company to a very infamous international company (ACN) where I am basically treated as an OT code monkey.
I've never been mentored or partnered with seniors, for my entire (Brief) career I've always been thrown at projects left and right and somehow managed to always do rather well, but it still feels like I mostly do what a Junior would do: to sum it up, rather than feeling like I have 3 YoE, it feels like I have 1+1+1 YoE, where I haven't really scaled up to more Mid level complex tasks.
Given the type of company I work for, I ended up being a factotum of sorts, so I handle FE, BE, a bit of Dev Ops, handle pipelines and configs if needed, but I feel like I mostly do "surface level" tasks, that anyone could do with docs on their other monitor: most of the time I am given more 'responsibilities' because I am one of the few that hasn't quit, and now with 3 YoE I ended up becoming sort of a TL too, which makes me able to code on work tasks only for a few hours after my 'normal' working hours.
I feel that I lack the basics, I ADORE this job and I do code in my spare time, but I don't know what's the natural course of action to take here. I try to study a bit after work hours, and I am focusing on improving on DSA, code patterns or general knowledge, yet it always feels like there's something more important to learn.
I started doing some leetcode and my avg time isn't that bad, usually 5 - 10 mins for an easy and around 25 - 30 for a medium, focusing on Blind 75, but the algos that I write tend to be poor and I often score <50% on the speed charts.
I work mostly in TS, with a focus on FE but I have picked up some Java for work (Not really my cup of tea though).
Where to go? Should I focus on building more and less theory or the opposite? Picking up new technologies or trying to improve on the current ones? Is Leetcode even useful for what I am trying to achieve? I am extremely worried that interviewing will result in pretty harsh rejections, considering that I can't really excuse my lack of knowledge with me being new to the industry.
Thank you so much!
taher66@reddit
I am kind of on the same boat but I think I am improving a bit ( I hope) and what I am doing is:
learned system designs, i found that I really like understanding how scaling works and it would give you sort of a bird eye view of the tech in web dev
learned more about http TCP etc, diving really deep in the history of transportation protocols is entertaining and will give u confidence because everything we build sits on top of this
interpreters and compilers plus picking up a low level language
memory and CPU and how it works exactly at the bits level
databases this topic blew my mind on how complex stuff is
software design
I am still in the process of learning more and diving deeper into these topics, but these are so interesting and worth going into any one of these topics
If you're interested I can send you the YouTube channels or books I use to learn more about these (on my phone now)
Syruppo@reddit (OP)
Thank you, I would appreciate some of the material you're using when you have the time! Good luck with your journey
taher66@reddit
https://hpbn.co/
https://infrequently.org/2025/07/links/
https://mathiasbynens.be/notes/shapes-ics
https://www.r-5.org/files/books/computers/internals/net/Richard_Stevens-TCP-IP_Illustrated-EN.pdf
https://github.com/lighthousand/books/blob/master/the-pragmatic-programmer.pdf
https://aosabook.org/en/v1/
these are links for articles and books
https://www.youtube.com/@hello_interview
https://www.youtube.com/@hnasr
https://www.youtube.com/@jordanhasnolife5163
these are youtube channels that I follow to
ExperiencedDevs-ModTeam@reddit
Rule 1: Do not participate unless experienced
If you have less than 3 years of experience as a developer, do not make a post, nor participate in comments threads except for the weekly “Ask Experienced Devs” auto-thread.
coguy450@reddit
I would read some books, there are a lot of classics about architecture, data structures, patterns etc. At 3 years, I still felt pretty junior, it's normal. Once you get past 5 years, you'll start to feel confident, but will still get humbled on occasion. Just keep learning, experimenting, and having fun!
Syruppo@reddit (OP)
Thank you for the insight! Anything that you recommend in particular?
coguy450@reddit
I liked these books
I also spent some time learning C++, since it's sort of the mother language. The creator of C++ (Bjarne Stroustrup) does some great talks and lectures, and I always appreciate his take on development. He stresses that there is no "right" way to code. You can do object oriented, you can do functional, it doesn't matter. I enjoy watching some of his videos to get a more relaxed take on how to build things. The worst thing you can deal with is other devs saying "We have to do this right" and then they want to argue about why their way is right. You just have to work as a team and decide the best path forward and don't compete on who's more right.
phonyfakeorreal@reddit
In general, embrace opportunities to learn new skills and technologies by jumping into the deep end. Leetcode won't really help you become a better SWE, but it's useful for interviews and in certain niches, like if you're working on a game engine or as a quantitative developer.
Here are some skills I have learned that have helped me in my career:
- DevOps (CI/CD, Infrastructure, Security, Observability)
- How databases work internally (Great read: "Designing Data Intensive Applications")
- The Linux command line/shell scripting. The "I use neovim btw" meme is true. I've noticed people perceive you as more skilled if you can navigate the command line beyond `cd` and `ls`
mindsound@reddit
22 YoE, still feeling widely inadequate 🖐️
Syruppo@reddit (OP)
That's comforting and a bit scary at the same time, but thank you for the honesty
JagoffAndOnAgain@reddit
I'm at 15YoE and often feel inadequate when talking to other devs. I've never gotten to use Kubernetes or any cloud except for AWS. You just have to be aware of your limitations but still move through your career with a sense of confidence and pride for what you do know.
After 3YoE I could just barely call myself a full stack dev. But I had only worked on one stack (Oracle + Java/Tomcat + Javascript) so joining any other team felt impossible. But as long as you can demonstrate a willingness to learn new things, many concepts transfer.
Syruppo@reddit (OP)
Thanks for this, I will try to be a bit more confident and try to handle some interviews
eemamedo@reddit
I mean... You are still a junior lol. Even at 5-10 years you will feel inadequate.
Leetcode is not an indicative of your SWE skills. I know a Staff at Uber who has hard time with easy arrays. I also know an intern who got let go who could solve LC hard in less than 20 minutes.
Syruppo@reddit (OP)
I appreciate the insight, I just feel like I should be more knowledgeable, I don't know if I am expressing myself properly!
Regarding LC, I just thought it could be a more "standardized" metric for a general knowledge of problem solving, but I will try to judge my own skills based on it, thank you so much!
traveldelights@reddit
hey there! first of all, congratulations on reaching 3 years of experience as a self-taught dev, that's a huge accomplishment! it's totally normal to feel inadequate at times, especially when you're constantly thrown into different projects without much mentorship. it sounds like you've been handling a lot of responsibilities and wearing many hats, which shows your adaptability and dedication.
when it comes to next steps, it might be beneficial to focus on deepening your understanding of the technologies you already work with, while also exploring new ones that interest you. building projects and getting hands-on experience can often be more valuable than just studying theory. leetcode can help improve your problem-solving skills, but don't get too caught up in the speed charts – it's more about the process of learning and growing.
as for interviewing, try to showcase your passion for coding and your willingness to learn. highlight the projects you've worked on and the challenges you've overcome. remember, rejection is a part of the process and can lead to valuable feedback for improvement.
keep up the hard work and stay curious – you're on the right track! reaching out for advice and reflecting on your journey shows that you're committed to growth. best of luck on your developer path!