Some time ago I got fired from a senior developer position, prior to this I never got fired, always been a medium to top performer wherever I have gone and always been well loved by colleagues however things went very different here.
Where I was at
I left my previous job as they ran into financial issues also I had been there a while and felt I was getting stale in my role, I was a hybrid between a senior developer and a team lead, my team dwindled to only me towards the end.
I became unmotivated, one of the major projects at the company which my team had worked on tirelessly was canned. Over a years worth of work was in essence thrown in the bin because the company had to pivot.
So I started looking for another job, I didn't want just another development position, I wanted more of a challenge, I wanted to expand myself. I saw a consultancy who were looking for a developer with the lure of working on some cool projects. I applied, passed their tests, smashed the interview and ready to try something new.
Walking into the storm
Before I joined, I went to this company's summer party and there were no red flags, people seemed happy and the owners seemed nice.
I got my laptop and a nice welcome box and was genuinely excited, ready to re-invigorate myself and smash this opportunity out of the park.
Did my normal HR stuff, got my environment set up on the first day, then was told that the project that I was supposed to go on hadn't been approved yet. Was told to start focusing on my certifications and would be told when the project will be ready.
Got a call out of the blue from one of the owners saying that there was a front end project that needed resource to speed things along. The tech stack was a little out of my comfort zone but wanting to impress and show that I am fairly versatile was like sure I can do it, I explained I needed to get up to speed with the tech stack used and was given about half a day to read up what I needed to.
Clouds gather
I met up with the lead developer on the project, whilst he was sort of friendly, he did seem rather unhappy that I didn't have experience in the tech stack however he assigned me some tasks and left me to them until... an hour later he called me up to ask how I was getting on. Told him, struggling to get the project running locally and he sat through with me and we got compiling and running, there were a few hoops and database entries to get me running.
The tasks themselves were simple but I couldn't make heads or tails of the coding style and pattern used. Some of the decisions for this project were a bit questionable looking back at it in hindsight.
I would get calls every 2 hours asking progress and would get comments like you are slow, we are falling behind with then a quick reassurance we will get there. Very quickly I gone from I can conquer anything to maybe I suck as a developer.
It looks like its starting to rain
I really didn't make any friends or form any close bonds with the people at this company. I felt quite lonely and going from the life of the party to someone very introverted and quite reserved was quite a shock. It something I haven't quite recovered from, I am still fairly quiet and won't say much nowadays.
This carried on for 2 weeks more, the developer who had been micromanaging me needed a vacation and gave me a weeks worth of tasks.
He went through the tasks in question, we gave them estimates, at this point I was starting to become a bit ambivalent whether I was able to even perform my job.
The tasks were on paper easy but in actual fact I burned a lot of time trying to navigate the codebase. There were times I would get distracted, watch a few Youtube video too many and would lose focus quickly. I stopped caring and at this point, started to job hunt explaining I felt I made a mistake with this role.
Now its thundering
After the other developer came back from vacation he seemed incensed that I hadn't finished all the tasks, I did put PRs up for the ones I managed to but his semi reassuring line came back "we will get through it".
Towards the end of the day I got an ominous email from HR telling me the client was not happy and I had complete an audit of all work I had performed on the project.
I completed the audit and wrote back I was disappointed with the client for not raising this with me and in retrospect this was a very bad idea. Next minute I got a HR meeting request for the next morning.
Lightning strikes
In the HR call, it was quick, told I was getting let go, I knew why and I didn't bother fighting it or arguing, I accepted it and now embraced my new found unemployment.
I felt angry for a few days after it and it showed, I lost my cool with an interviewer, was generally upset at the world. I gave myself a few days to mope and then got back on my horse and found a better consultancy though my role was less developer focused.
Reflections
Reason why I wrote this article, its ok to get fired, yes its horrible and the uncertainty of finding a new role especially in todays market is a horrible feeling however as the great lead developer would say "We will get there".
Reflecting on this I needed a break, my previous role to this horrible role was so full on, I had gone through some major life events and some generally hard times, in the last year, I moved house, my son was born and switched job. I was bound to crack, my notice period was a slog and I should have taken some time off between roles.
I also think I should have taken a break from development, I feel I did lose passion for it at this stage and going into the role I am in now has helped me reinvigorate my passion for development by taking one step away from it.
I shouldn't been so eager to take any project, I should have just plainly said I don't think I can do this role, please find me another project, also should have flagged early on I didn't think I can do this work.
I should have been more client focused, this nowadays has helped me navigate through some hurdles by simply speaking to the client.
In regards to the lead developer I understand the pressure they were under, I won't bash them or blame them for my failings. However as a team lead nowadays I ensure I keep professional, encourage my team members and make sure feedback is constructive not a series of digs followed with false reassurance.
At the end of the day, getting fired isn't the end of your life or even your career, you can bounce back and use it as a learning experience.