Are you working in a tech stack and finding that you really don't enjoy it or it doesn't make sense? Are you struggling to learn something new? Please consider that the problem isn't you -- it's the stack.
Different stacks are built and maintained with different philosophies, and therefore "feel" different. You may even find many things confusing. This doesn't mean you're dumb. It means the way you solve problems isn't a good fit for the stack.
This is fine.
For example, I work with Angular/Typescript. I can point out things I don't like about all day, but I get it. It makes sense, and building software feels natural to me. Enter React/JavaScript. I beat my head against for every little thing I build. Nothing works the way I expect and I'm constantly having to come up with new strategies to fit the framework. I very much don't enjoy it.
You may experience the same thing, and it may not be with the technology itself.
For example, Java and C# look very similar on the surface, but the ecosystems couldn't be more different. The assumptions/expectations don't match.
We talk a lot about pros/cons of different platforms but not nearly enough about how to pick something that feels good to YOU and makes it easy for you to produce good software. We also don't talk enough about how personalities and ecosystems around our technology can influence how we feel about it as well. Not only is this important for developer happiness and quality of life, it's critical that we understand this for diversity.
Absolutely anyone can learn any technology, but the assumptions made by the creators of technology may very well inject bias into their systems that make life harder for those who don't share the same background, education, and experiences.
Food for thought:
- Choose tech you enjoy made by people who trust and respect.
- Be aware of your biases and listen to feedback.
- Don't assume that your favorite tech is right for someone else.
- Don't make people feel bad for struggling with a specific technology.