A few days ago, I posted on LinkedIn saying:
Early in my role as a Software Engineer, I had no idea how the promotion game worked.
I thought I had to work hard and give my best on each project. I hoped my manager would notice and reward me with a promotion.
The strategy could have worked and is how most people go about it in their careers. But I asked myself, “There must be a better way?”
That better way is how I came up with my LinkedIn post a few days ago.
You step it up.
It's easier said than done, but here are five areas you can level up in:
- Technical Skills
- Documentation
- Communication
- Problem-Solving
- Project Management
Let’s dive into it.
Technical Skills
The way I improve my Technical Skills is by following my SLAP method:
- Seek
- Learn
- Apply
- Preach
Seek
I get 99% of my news from LinkedIn and YouTube. I’m always on there, so I’ll automatically see relevant news from the people I follow.
Find your platform and get exposed to technical topics and tools applicable to your role.
Learn
Once you find something relevant to your role and interest, add it to your to-do list. Not all news will need this step, but it’s helpful to write things down rather than try to remember them a few days later.
I learn new things by visiting the website for documentation or a demo if they have. Then, I go to YouTube to see if someone can give me a TLDR and an in-depth tutorial.
Apply
What’s the point of learning if you never apply it?
Show your new and improved skills by starting small and iterating. If done correctly, your co-workers will begin to notice, which brings me to the 4th step.
Preach
No, you don’t need to preach to anyone. But, if you think your co-workers can benefit from your new skill, figure out a way to teach it.
You can teach by writing documentation, how-to guides, and FYIs. You can also record video tutorials or give a full-on live brown bag session.
Pro tip: You don't need to do this alone. You can teach a few co-workers and ask them to "co-author" or "co-present." This way, you can share the work.
Documentation
How do you feel when you need to know why someone made X decision two years ago? And how did they use the Y tool? After searching everywhere, you find nothing.
If you want a promotion, you must show that you are reliable and think for the future, not just the present.
When you show that you care and will take the extra time and effort to ensure “the why” and “the how,” your manager will see you from a different lens. I call that the promotion lens. 👓
If you focus on writing good work documentation now, you’ll see massive improvements in a year.
Communication
Unless you only work alone and don’t need to interact. You must invest in improving your communication.
Be a good communicator, whether you’re sending messages on Slack, Email, or in a live Video call. Some traits I’ve seen in good communicators are:
Being respectful to others
Clear and concise statements
Keeping it professional at all times
Google or look up things you can find in chat and documentation first before you ask others
Problem-Solving
There are two ways to improve problem-solving skills:
- Knowledge
- Efficiency
In Software Engineering, you can gain knowledge by learning how other Engineers solve problems. The key here is to have a system and framework for problem-solving.
The other way to get better with Problem Solving is through efficiency.
For instance, you can spend a week on technical documentation. Or, you can pair up with other experts in the tool.
It depends on the situation, but there is usually more than one approach for every problem.
Project Management
When I became an Engineering Manager, I started to take project management seriously.
As a software engineer, I was accustomed to being assigned a few tasks for one or two projects. However, now I am responsible for managing multiple projects, which is a significant change for me.
I took courses and invested time to improve my project management skills.
Bonus: Tell your manager you want to improve your Project Management skills - they'll appreciate your initiative and support your development.
Summary
I have listed 5 of many, but I recommend starting with 1 or 2 and creating achievable SMART goals.
- Technical Skills: SLAP method
- Documentation
- Communication
- Problem-Solving
- Project Management
Thanks for reading, let me know in the comments if you have a 6th to add to the list!
As much as I’ve enjoyed writing this article, I would enjoy hearing your thoughts even more. So, add them below in the comments, and let’s start the conversations!
P.S. If you’ve enjoyed reading this, connect with me on LinkedIn! 🎉
Join my weekly Substack newsletter with over 100 other Software Engineers. I post weekly newsletter and provide the best tips and advice for Junior to Senior Developers.
Top comments (2)
As someone who's been around the tech block, I totally get where you're coming from.
Especially this point:
Preach
Most people try to upskill and they become super technical, but most managers, product owners, etc. don't know or they don't speak our tech language.
Most of the developers I've met, talk to you in a language that only they can understand. I've noticed this even in most of the Juniors developers I've mentored:
ie: they come to me with a question, and they've been talking for 3 minutes and I still don't have any context.
A normal day for me is when lots of people talk to me about different problems, so when someone comes to me, I need context.
Imagine what is like to talk to a board of executives who mostly care about results and profit, and you come to them talking about either using DynamoDB or MongoDB. They have no idea!
So,
Preaching
or just teaching/guiding others to do something will force you to realise you need to expand your dictionary of words and start thinking like you teaching to a 8yo person sometimes.You made some great points, thanks!
Thanks! For sure, engineers get stuck when they forget about the business side of things and never learn how to communicate with non-technical folks. Don't limit yourself!