Advice From a Software Engineer With 8 Years of Experience
My name is Benoit. I have been a software engineer for the past eight and a half years. I stayed at my previous (and first) company for seven and a half years, then I joined a new one in early 2022.
This article comes from a recent self-reflection on the things I wish I had started doing earlier in my career and the things I wish I had done differently.
What I am sharing here may be useful to any junior to mid-level developer who wishes to improve and progress toward the title of senior and beyond.
My Career Evolution
- I interned for three months at a startup (which quickly became a scale-up) company.
- After that, I did a full year of work-study, spending three months at school and nine months at work.
- Then, I got hired as a full-time software engineer and kept this title for three and a half years.
- Quickly after the introduction of the tech career ladder, I got promoted to senior software engineer. I kept this title for three years until I left the company, at which point the tech teams accounted for approximately 200 people.
- I joined as a software engineer 2 at a company with thousands of tech employees. Despite the title downgrade at the second company (see Big Tech Hiring is Conservative — But Why?), I have been trying to keep the same responsibilities (and more) as before.
In the beginning, I was part of the frontend team. The tech organisation was split between backend and frontend developers. At that time, we were no more than 30 engineers. When our new CTO arrived a year later, he introduced an organisation based on feature teams: the Spotify Model. Although there was some friction at the start (people don’t like change), this reorganisation definitely turned out to be for the better.
I stayed for more than five years in the same feature team. I was there at its inception, so throughout the years, I became the tech referent of the project. Eventually, I joined another team, where I worked until I left for a whole new adventure a year later.
All right, enough with the context. I hope you’ll enjoy reading the rest, and that the following advice will be actionable for your career progression!
Things I Wish I Had Started Doing Earlier
A work log is a document that contains the list of tasks you accomplished. The granularity and the type of tasks don’t matter, as long as you keep track of what you did.
You can fill in this document at the frequency you want. I would advise doing that on a weekly basis. Tasks done during the week are still fresh on Friday, so you won’t struggle writing them down.
I started writing a work log roughly two years before leaving my first company. So, over the past eight and a half years, my work log contains only three years of data (with some gaps here and there). When I had to write my resume in late 2021, I had to rely on my memory to remember what I did during the first five years of my career. To say the least, it took me some time to remember everything valuable, and I’m sure I forgot some of them.
You can use a work log template if you want to (here is an example). Personally, I have been using Microsoft Notes for the first two years, then I switched to a Google Doc with bullet points (one list for each month of the year).
Leave the comfort zone
This is the best way to learn and become a better developer. The comfort zone is the scope, environment in which you feel comfortable doing your job. It is the teammates you already know and work with daily, the projects you have been working on for years, the responsibilities you have been carrying, and so on.
But why would someone advise you to leave this wonderful situation? Because this environment is not suitable for evolution.
Sure, if you stay in this bubble, you are an efficient person. You already know who to talk to about a specific subject, and what file in the codebase has to be changed. But what is better than one efficient person? Several efficient people!