Hi folks, I've been working as a software engineer for about 10 years but always in small companies with few or none programmers or as a freelancer. I've been able to always have work on my desk because I'm always moving and talking with people in the industry but some months ago I decided to go to work on a proper medium software company.
I'd been assigned a medium complexity task and I've failed to accomplish it, the code was all filled with hardcoded values, wrong structure, difficult to debug bugs and similar things.
I've realized I'm not a senior software engineer as I thought and now I don't know what to do next. If you read my resume it'll seem I am a senior but I don't really know where to place me in the "experience" spectrum. I've always managed to solve the problems in front of me but in a "hacky way" and now the issue was totally revealed to me.
I'm thinking about looking for semi senior roles but I'm afraid it'll look weird for the company interviewing me to hire a semi senior with +10 years of experience.
I've also thought about transitioning to a PM role but I'm not sure if I can be a PM if I'm not able to code things the right way myself.
A third option would be to take a break from work and try to learn to write good code but I'm not sure it's possible without working on a company with other people.
As you very probably see, I'm quite lost right now so I'd be very grateful if you can advise me what I could do next with my career.
The analogy that comes to mind is I've been playing basketball in my local town, and now I've gotten promoted to play in the big city. I now feel like a small fish in a big pond.
If you enjoy software engineering, I'd say, double down. Now that you're at the medium software company, seek mentorship and coaching from others.
In addition, there might be more homework (hitting the gym sort of), things you also have to do on your own.
It isn't going to feel good being humbled and I've been there myself. But if you think about the goal as "learning to get better" than "prove to others I am better", you'll have a better time walking through this challenge. This all comes from a person who is a PM.
So some tactical thoughts of possible advice: 1. Face the issues head on -> take all the negative feedback on the code and rework the medium complexity task 2. Learn to unlearn bad habits. Yes, it's harder, but it comes with practice. 3. Commit to maybe taking a course work online (maybe seek advice from others on what are good ones to address weaknesses you have)
Hope this helps.
BTW, you don't need to be able to code things the right way to be a PM. Coding is only one specific skill and not always necessary for a PM.