First: Thank you for your time to read the following text and apologies for the long text. It's longer than I thought at first.
I need some support because some things are too much for me at the moment.
Currently, I am almost around ten years into software development. Therefore, I would assume that I am some kind of senior software developer. To be honest: I don't feel like one.
I am 32 years old and I have been seven years into .NET development and now around three years into Java, mainly Spring Boot, and some TypeScript / React.js development.
For sure, I can develop solutions to certain problems. But I feel I’m severely lacking in skills like design patterns, architecture, and other big-picture type stuff. I don’t know how to build large-scale systems. I live in fear that the day is going to come where I get assigned something I won’t be able to deliver on, and the house of cards that is my career is going to come crashing down.
Further I am always feeling like the worst developer in our company. There are colleagues where I think that they are more skilled and are able to find better and quicker solutions than I do. It seems like they know everything!
The reason is that I do not think I am good enough for the IT sector, especially for software development. This has been going on for a few months now. The big problem is that I am totally inhibited by it, and I am worried about making mistakes. This in turn leads to the fact that I have started to be less independent and try to approve all my ideas or implementations in order not to make mistakes instead of coming up with an idea, implementing it and seeing what happens.
The trigger for all this was a colleague who is with us for a limited time in our team. This colleague is, I don't know how to describe it, simply a natural talent. For every problem he finds a solution within the shortest time or finds an idea for a solution within the shortest time. Moreover, he seems to be familiar with every subject area of SW development. For example encryption and cryptography methods. No matter what it is about to implement - he knows directly how, why and why. Unfortunately I can hardly describe it - he knows about topics I never had anything to do with before. He seems to know every corner of a framework. I, on the other hand, have to look up many things, need much more time to find a solution and sometimes generally have the problem of finding a solution for a problem or a requirement. He also always finds some corners in the code that can be improved or adapted. That's just amazing - in a way, I just envy his abilities. This makes me even more conclude that I'm just not suited for this job. Big-O Notation? Never heard of it!
Surely it is great to have a mentor in the team from whom you can always learn something. On the other hand, it is totally frustrating for me to see that, unlike him, I just feel like a complete loser. This frustration then leads to inhibitions, bad mood and "fear of the future" in relation to my job. Yes, some days it actually makes me so depressed that I want to cry because I realize that I have so many gaps in my knowledge that I think it is simply impossible to ever reach such a level.
The colleague and I are of course the same age. However, I only completed an apprenticeship as developer, and he studied computer science. What is more, of course, is the fact that everyone in my team, except me, has a degree in his pocket. Of course, I don't. That saddens you as well and I just feel inferior to the other colleagues in the team. As if one could do without me in the team. Only the fact that most of the team, despite their studies, are not better developers keeps me happy sometimes.
Besides that I feel overwhelmed with all the topics in software development. There are so many frameworks and topics you can get into that I don't know where to start. This leads of course to the fact that I don't start at all because I don't know with what.
Now, if I wanted to go back to C# .NET development I wouldn't know how. So much has changed in time. I would never get a job.
Sorry for the long text. However, I don't know with whom I can discuss it. I'm just worried that I'm not good enough for the job and that I'm just a dummy. Hopefully someone can help me or give me some food for thought.