I'm working as a developer and want to level up
I know the feeling. You've got a job, yes, but it doesn't feel secure. When I (Erez, the guy behind mem.dev) was working as a full-time employee, I was forever afraid I might get fired or downsized. It's not a rational fear, but I was one of the newer members of the team for a while, and I felt a strong urge to prove myself and level up.
That was actually how mem.dev was born, in its original incarnation (it had a different name back then). Because leveling up takes two things: Confidence and competence.
Confidence
Why confidence, first? This is a tricky one. They say, "fake it before you make it", and talk about "imposter syndrome". And there is truth to that. I don't mean cockiness or being super-sure of yourself and assertive, especially when you're not feeling it. I just mean that it helps to have a measure of inner peace.
A big part of that is extending your social world as a developer. Knowing a little more about other developers' experiences and worries, and how they address them. Because here's the thing: Programming is hard and frustrating for everyone. Yes, really. Some people just lean into this effort and difficulty, while for others, it feels overwhelming. The difference is one of mindset, first and foremost.
A key aspect of this is not to be alone. Sometimes at work we find it challenging to talk about these things. So one key thing you can do is find a trusted fellow dev and team up. Not for work, but for sharing experiences. Some people seek out mentors, and that can work — but I mean a peer. Someone who's at your level, whom you would support as well. Helping someone else does wonders for confidence, and then you're not alone anymore.
This aspect of professional fellowship is the first the first thing I wanted to tackle with mem.dev — the mental game, the confidence aspect of it. That's why we created the Developer Journal, which is our magazine, the first half of our product. We send it out once every two weeks, and it has interviews with senior-level developers about their challenges and difficulties, as well as other inspiring material. It's a gateway to seeing how other people think about the craft and deal with daily challenges, whether it's difficulties with code or with teammates/managers.
If you do just one thing with mem.dev, I suggest you sign up for the Developer Journal. It's one of the most inspiring and confidence-building things that can land in your inbox.
Competence
A key for building competence is deliberate practice. This is not a new idea in many fields: Musicians and athletes practice all the time. Coders, not so much. We've got lots of ways to acquire new knowledge, but we don't have many ways to retain it and practice what we learn, so we can just pull out a bit of syntax when we need it.
Coding is generally composed of higher-level mental models, and low-level fluency in syntax. The mental models are important: It's crucial to understand the concepts (things like the React component lifecycle, for example) and to be able to draw it out and broad strokes. But in the trenches, in our day to day, syntax is king.
This is the other aspect that mem.dev attacks, and we do it using an online spaced repetition system. Once you sign up to the Developer Journal, the next thing I suggest you do is to check out the software side of mem.dev. It's a SaaS product ($10/mo) but trying it out doesn't require a credit card. When you sign up, you'll also have an opportunity to schedule a personal call with me, free of charge. It's not a must of course, but I would love to talk face to face about your challenges and plans as a developer.