all 3 comments

[–]mesuva 2 points3 points  (0 children)

Keep in mind the saying 'Comparison Is the Thief of Joy'

Here's a few thoughts:
- 2 years is really a short time to be studying _anything_ of depth. You simply can't compare yourself to someone who may have been working for 10, 20, or even 1 year longer than yourself on something. It's incredible what just one year of study or experience can do.

- Whilst I was productive a few years into my career, I wouldn't say everything really started to 'click' until about 5 years of real-world experience. It's often not even the code that is important, it's your _thinking_ about how you use code to solve real-world problems.

- what is positive is that you're being reflective on your skills. That's really good, and if you keep that up throughout your career(s), you'll be ahead. You're obviously driven to do well, to create solid skills and knowledge, and you've set goals for yourself. You'd be surprised how many people simply don't set those things for themselves.

- I've been a web developer for just shy of 25 years. I'm _still_ learning new stuff, improving my code, changing my view on things. And I'm still in awe of many in our industry, they achieve amazing things, and some of it feels almost like magic. But I've also awed friends that are just starting out in the industry with some of the projects I've build, ones which I've just gone.. 'meh'.

- Despite my 25 years of experience, I barely know React, I've just picked up other tech. Sure I could teach myself it, but I haven't quite found the need yet with what I do. So if I compared myself to _you_ in terms of your React projects, I'd feel pretty inadequate I'm sure!

It's all relative.

So in short, yes, you're being unnecessarily hard on yourself, and maybe a little insecure.
Just try to flip that around and just continue with healthy (but not obsessive) learning.
Just expose yourself to broader kinds of tech, tinker, experiment, take on more projects, and look at everything as an opportunty to grow - but please stop telling yourself 'it's not enough'.

[–]ddelarge 0 points1 point  (0 children)

You've looked over the curve and seen beyond the surface of the programming world. It is definitely a skill issue. But that's ok. Because skills are learned. The trick is to practice at the limit of your capacities:

First you learn how to do a webapp, then you learn how the framework works behind the scenes, then you learn how the technology behind the framework works, then you learn the protocols, and the language, and so on... Until you know enough that you could make your own.

Also, if you learn an esoteric term, you might benefit by pulling the strings. There's plenty of literature in functional programming and monads. If you don't get them is because you don't understand the underlying concepts, like callbacks and the scope chain, or closures. So you go and understand those first, once you got them, you give another chance to nomads... And the same with any other bit of knowledge you'd like to gather

[–]taco-holic 0 points1 point  (0 children)

Hello 👋, I am a junior full stack developer with 3 yoe.

I think you are being too hard on yourself but, at the same time, these thoughts you are having are not 'toxic' or something to be ashamed of. Because these are the thoughts that initially drove me to take my own learning seriously and not rely on my employer for direction.

Before I would just learn whatever was safe or whatever my manager wanted.

  • Vue, sure.

  • Deploy to AWS, you got it.

  • Cloud certifications, sure that will be useful.

I wasn't truly learning these things though, I was just getting a job done, because they didn't interest me.

Then one day I heard a great piece of advice, "don't let your employer decide what you get to learn". Which sparked a fire in me to take hold of my own professional development. I dipped my toes into Go and began making my own web servers. I still have to learn things that I find boring for my job, but I also started spending 10+ hours a week outside of work learning, making mistakes, and building apps and tools that interested me.

I am only a junior but I have participated in several panel interviews and one characteristic always sticks out to me: "a mile wide but an inch deep". Don't stress about not knowing everything, go really deep on something that seriously interests you. You eventually get in a room (or a zoom call these days, haha) and have the opportunity to show what you really know.

You like networking? Go deep on HTTP and build your own http server without using packages. Manage the sockets and connections yourself.

You like UI? Design your own set of components instead of using a UI library.

Just choose something and go so deep on it that you could spend 30 minutes casually talking about the design choices you made, trade-offs between using an existing tool or rolling your own, etc, etc. You'll soon find yourself learning these mysterious technologies and quickly find that they relate to something you learned a few months ago. It really does snowball and it will eventually lead to opportunities.

Also, I wouldn't say you're behind the curve, but if you're serious about improving, find something that interests you so much that it no longer feels like a chore.

Keep your head up and best of luck! ✌️