5 phases to create a 5-year growth plan as a developer

Image for post
Image for post
Photo by airfocus on Unsplash

I started writing this blog because of one very complicated but important question.

Where do you see yourself in 5 years?
~ every interviewer or manager ever

My answer to this question was something like this: I want to be a full-stack developer that can create a deployment pipeline for the backend and frontend of a production application.

Well, let’s say that that is not the kind of answer people are looking for. It says nothing about your goals or ambition. It only shows that you want to progress, but then again, who doesn’t?

To construct a clear answer to this, you first have to know your dream job. This is something that one of my colleagues told me, and I keep on telling everyone because it’s just an amazing way to find out what you should focus on.

The first step in this process is selecting your dream job. Let’s say that I want to become a Software Developer at Google. The first thing I should do is find a job description or an open application at Google so that I can find out what skills I need to complete my goal.

Most of the large companies have a careers page where you can find job descriptions. The page for google is https://careers.google.com. Let’s say that I want to become a software engineer for Waze. A job description would look something like this.

Image for post
Image for post
Screenshot by author from Google

I know this description can look intimidating at the start of your career, but just ignore the work that has to be done, and just try to understand it. Once you understand it, you can see which things are completed and which require some more work.

A checklist should look like this:
✅ Bachelor’s degree
✅ Experience with mobile application development for Android
✅ Programming experience in Java
✅ …

⛔️ Experience with Kotlin
⛔️ Programming experience in C++
⛔️ Knowledge of UI frameworks (either Android, iOS, XML), MVP,…
⛔️ …

With this checklist, you know everything you need to know to get into phase 2.

Your checklist shows clear that you have some kind of skills, but things like “experience in” are really vaguely described. That’s why you need projects to proof your experience because talk is cheap. And certainly when you’re talking to technical interviewers.

This proof could be a side-project you created or a project that you worked on at your full-time job. As a student, you could even use a school project that you worked on for a couple of weeks. Something is better than nothing.

Remember that those projects have to be up-to-date. A project that is stale for 7 years on Github, will not be enough to show your experience in a subject, since the whole subject could have changed. Certainly when you’re in web or mobile development.

If you don’t have any proof of experience, you will have some work to do. But that’s the whole point of creating your plan for the next 5 years.

You should now have an updated checklist:
✅ Bachelor’s degree
🧾 Find your degree and make sure you digitalise it once and for all
✅ Experience with mobile application development for Android
🧾 Project on Github with a link
🧾 App in the Play Store with a link
🧾 …
✅ Programming experience in Java
🧾 …

You might notice that we forgot all other points, but let’s dive into them in phase 3.

This might be the most difficult but also the most important phase of them all. In this phase, we will focus on the work that has to be done. In this phase, we will tackle the unchecked parts of our checklist and determine what we can do to acquire the skills that are needed for our dream job.

I will only discuss 1 of the checkpoints as an example. Let’s discuss experience with Kotlin. As previously said, experience is very vague, but it’s clear for everyone that it’s more than creating a hello-world application in a certain language. That’s why I would suggest starting with the basics, as you would in any language and work your way up. Once that’s done, I would build multiple projects and even write about the things you learned on the way.

Writing about certain topics is very beneficial as a developer for job applications because it shows your passion, interest and knowledge about the topics. In addition to writing, you could get certified for certain programming languages. This is not a necessity, but it’s more like a confirmation on your experience.

Remember that a job description describes the perfect fit. You don’t have to be perfect, but you have to be close to that. That’s why you can certainly apply for a job that requires 5 years of experience with only 4 years of experience.

Well, as I said before, talk is cheap. Now it’s time to create a plan of execution. For me personally, I like to learn before I get to work. This means waking up early, first learn for 1 or 2 hours and then start working my full-time job. This is something that works for me, but you should find a schedule that works for you.

A goal without a plan is just a wish.
~ Antoine de Saint-Exupéry

This phase is all about execution.

By applying these 5 phases, you should get a better understanding of where you will be going over the next 5 years. Or at least where you are working towards.

Of course, it’s all about executing your plan. Don’t expect to be able to complete your plan, if you’re not putting in the work.

Also, remember that your dream job can change over time. You might like Javascript today, but next year you might be love Python. That’s why it’s important to refactor your plan like you would refactor your code.

If you have any questions regarding this topic, feel free to contact me via Twitter.

Passionate Javascript/Typescript developer | Clean code fanatic | Trying to become a productivity guru | Sharing knowledge is part of the process

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store