loading...

Supposed to be a senior developer but feeling like fake and junior

majoko profile image majoko ・4 min read

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.

Posted on May 21 by:

Discussion

markdown guide
 

The degree is not important. I've met people with degrees and people without degrees and it has almost 0 relevance for how good a programmer you are. You mentioned the same thing.

Don't flame on me on this, I'm not recommending it, I'm just stating the facts. From a professional standpoint, it doesn't seem to matter if you're incompetent or fake. I've met developers who had been working for decades, were in their 40s and 50s, and literally could not do even basic things. They were definitely junior level, being paid extremely good money and hired on CV experience alone (obviously). As I said, I don't suggest accepting this and not improving, but at least you probably don't have to worry about your career.

Now onto the real problem. How long have you studied / practiced outside of your work over the last 7 years? If the answer is 0, then it's going to be very difficult to change your situation. But if you're willing to study and improve, you are guaranteed to improve. The choice is yours.

What should you study and improve? You should definitely go by what you consider to be priority. Need to learn a new package for C#? Cool, go read the docs or do a course on it and practice for a few hours.

Here are some suggestions:
Professionalism and mindset: Read books like The Pragmatic Programmer or The Clean Coder. These are really important because they teach you the mindset of "always care about your work" and "always try to improve".
Want to improve at programming in general (including architecture) - I highly recommend starting by learning clean code and programming principles. E.g. Clean Code by Uncle bob, or his numerous YouTube videos. I've also got my own programming principles series as well.

Hope that helps. Good luck!

 

Thanks for your reply.
I really thought I would get some replies like "You are a lost idiot"

To be honest : Sure I have done some learning and practice within the last seven years. I have read:

  • Code Complete
  • Clean Code
  • Clean Coder
  • The Pragmatic Programmer
  • Clean Architecture

But I do not remember every aspect of these books.
And further: These books cover so many topics which leads again to the problem: What to learn next or what to go deep with?

Further I have build some Alexa Skills or some other simple programs in my free time. I have also started to get in touch with python as I like the simplicity of the language.

It's not the point that I do not know anything. The point is that I have the feeling that I do not now anything and that everybody around me is better in every aspect. This leads to the problem that I sell myself badly because I consider myself to be a dazzler. Maybe I also have Imposter Syndrome, who knows. Further the frameworks today are so damn big. Spring for example. That's just overwhelming to learn all this stuff. And if you have learned something then there comes another big wall of stuff to learn.

What should you study and improve? You should definitely go by what you consider to be priority. Need to learn a new package for C#? Cool, go read the docs or do a course on it and practice for a few hours.

Currently, I would like to focus more on Java and Spring. I've been thinking about changing my job back to C#, but that's nothing concrete yet.

I love my job. Really. I love it to be developer - but I don't want to be just mediocre. I want to become a better developer in every aspect. If possible.

 

You're definitely not a lost idiot. Programming is serious work that not anyone can just pick up and do. It's easy to feel like you're really bad sometimes, but you've got to remember that as long as you can complete your tasks, then you're extremely valuable to the company. Also as you mentioned, you have similar skills to most of your colleagues, so it's not really that bad. It's just a feeling but it's probably not as valid as you think :).

As for getting even better, just keep up the learning. It might be slow, but you'll definitely get there. Any time you do something, you'll be able to do it better next time, and any time you read you'll learn something too.

Thanks - I'll try to do my best.
As I already said: Sometimes it's really hard and sometimes I doubt being a "good" developer and I doubt the decision to become a developer.

For example: If I look at such repositories github.com/kgrzybek/modular-monoli... - Damn! I would never get this done this way. And that's one thing that scares me a lot regarding requirements or expectation when applying for a new job. But that's my problem. Need to handle this somehow with my brain ;)

 

Now onto the real problem. How long have you studied / practiced outside of your work over the last 7 years? If the answer is 0, then it's going to be very difficult to change your situation.

I'll add on to that having a job that pushes your skills helps tremendously. Squeezing 2-10 hours of additional coding into your week outside of the job is great; but being forced to have 10-40 hours of learning is a whole other level.

Many companies merely want "code monkeys" who just type the code into the computer according to the spec and architecture dictated to them. No thinking just typing. That is the type of job that will keep you stuck at the same skill level and you should try to avoid it if you can.

 

That's really a good point.
If you can't apply the things you learn in your freetime in your current job then it is difficult to keep up all those things.

On the other hand: The companies that offer this jobs mostly have a high expectation to their applicants. So this is a chicken and egg problem :)
Further you will never find a company or a job where you can always apply new things, mythologies and toolings

 

Yeah that sounds awesome, great suggestion.

 

Well one thing you can do is get better at algorithms, which I think is what you feel like you are not good at from what I have read. Here's a Coursera course that I am currently doing after having the exact thought process.

coursera.org/specializations/data-...

But it is paid. So if you don't have a requirement to get a certificate then you can do the one Princeton provides, I like this one more but sadly they don't give a certificate. This one is free too.

coursera.org/learn/algorithms-part1

And also it's alright to feel like we do not know enough and when that hits you just be mindful and do what's necessary. If you really think about it, these are the situations that actually show us that we have room for improvement, it shows that we need to learn something. So rather than panicking just learn the damn thing. Simple.

 

Thanks for your reply. I really appreciate that walking through this wall of text.
No I do not really need a certificate.
I just want to learn to get better to strengthen my self-confidence.

I'll take a look at the posted links.

 

It sounds like you've got a bad case of imposter syndrome. Many, many developers experience it.

It's rough; I had it when I first started my current position. My then manager said something that helped me, "We hired you for a reason. Don't worry about others".

There's no magic bullet to overcome it; but there are things you can do to help yourself. Just keep doing your best! dev.to/ice_lenor/one-useful-advice...

 

Thanks,
I already have heard about it - sure.
But to be honest: When reading about imposter syndrome I always think that "You do not have imposter syndrome. You are just bad. That's all" Sounds hard - yea.

I agree that I have to deal with this topic.

 

Hi, thanks for sharing your experiences with us here

As another (mostly) self-taught developer I gotta say I can relate to how you feel when it comes to feeling behind the curve for being the only one in your team not to have a degree, and lacking knowledge in a few fundamentals of computer science

I also briefly had an extremely talented co-worker who seemed to have knowledge about any and all things, and seemed to always know the how or why things happen.

That made me feel really out of place because him and I had been working for about the same number of years.

At the end I figured the best I can do is not worry so much about others, and try to use online resources to try to fill whatever gaps bothered me the most (some free resources are surprisingly very good)

 

Sorry I couldn’t offer you a solution but I just hope you know you’re not alone