Let me start with a simple exercise.
Imagine that you're a developer at Scqber - it's like Uber, but for squirrels.
Scqber is a huge company (that still prefers to call itself 'a startup', for some reason), with hundreds of engineers, product managers, engineering managers all contributing to the same project.
Since you believe in the company's mission (obviously) and in growing your career, you work really hard, deliver features, bugs, bug-fixes, rollbacks and all other deliverables on time.
And yet, annual review cycles come and go, your work is noticed but not really appreciated. Maybe even someone else gets credit for your long hours spent debugging that one Mobile Safari issue. Instead of getting promoted, your manager tells you "well, maybe next year."
Sounds familiar? It might - from my experience the bigger the company or team, the harder it is to shine and get the appreciation you definitely deserve for your work.
Luckily, it doesn't have to be that way.
As a developer, you often need to choose what to optimise for, whether it's performance of the app, scalability of your infra or
time to value metric.
When it comes to getting recognised for our hard work, it's a similar problem. A while ago someone told me that in order to get noticed or appreciated, you need to make sure that your work is visible.
I don't think that's necessarily true.
If it were true, I could do this every time I finish developing a feature:
Please don't do this
Instead, there are two things I tend to optimise for myself, let's go through them one by one.
A while ago I've read Effective Executive by Peter F. Drucker. Even though this book was published in 1966 🤯 (and is a bit dated when it comes to certain areas of life) it's an absolute gem and I highly recommend it.
In the foreword to the 50th Anniversary Edition we read:
He continued, "And you seem to spend a lot of energy on the question of how to be successful. But that is the wrong question." He paused, then like the Zen master thwacking the table with a bamboo stick:
"The question is: how to be useful!"
A great teacher can change your life in thirty seconds.
My take from this quote is: work that's useful for others is (by definition) more visible and more likely to be appreciated.
Here are a couple of examples to highlight this approach:
Take responsibility for a high-impact project in your company
"High impact" does not mean "refactor the whole app" (I mean, you could if you have 8000 spare hours which you don't)
A better example would be optimizing a login form for instance, even though it's only a single page. What matters is that the vast majority of your userbase will end up using it at some point and cutting the page load time by 10% can literally pay off.
Those kinds of projects are useful to everyone: your team, company, users and the Scqber finance department!
Make others more productive
A while back, I wrote an entire post about making others more productive, which I encourage you to read, but I can personally attest that helping others do their job better and faster will definitely be noticed and appreciated.
For instance, if your team has lots of "tribal" knowledge that only sits in their heads, write that down and start building a second brain of your teammates. Time and time again I've joined a new project that had little-to-no documentation and the onboarding experience was terrible.
Not a fan of writing docs? How about avoiding your next production incident?
Adding more tests to increase the test coverage will always be appreciated. Bonus points if you're adding end-to-end tests covering core flows of your app; they are the most impactful in terms of value to the users (and by extension - your team), but they're also the most difficult to maintain.
This kind of work shows that apart from shipping code, you also care about its quality.
Help others grow
There's this fascinating phenomena where you learn a new concept or technology and immediately assume that everyone is familiar with it as well. This couldn't be farther from the truth.
Once you go from "I don't know" to "Okay, that was interesting", share that with someone.
Write a blog post, record a video, do a talk at a company knowledge-sharing event, or just... tell someone. Establish your position as someone who's not willing to learn but to share with others as well. I cannot recommend that enough.
Here's a harsh truth: unfortunately it's your job to make your voice heard.
All the things mentioned before are incredibly helpful for your career and getting appreciated but... it may not be enough. Your work may be impactful and benefit others but still drown in all the noise.
If you're fortunate enough, your manager will help you shine but they cannot do that work for you. You are only one person who remembers all your achievements.
Or... are you? Do you remember what was the most impactful thing you've done in September 2019? (I have absolutely no idea)
Chances are that you don't, that's why taking notes throughout the year listing all the amazing things you took charge of is a game-changer. I personally use a simple .txt file because I'm old school, but [Hippokite] looks like a great solution to this problem - you'll get automated emails asking you to take a second to appreciate your accomplishments.
Once the performance review season is there, you'll be able to prove that you and your work should be appreciated (because you're amazing, don't forget that!). As you probably know, not everyone can be promoted every year and having a concrete list of accomplishments definitely increase your chances.
You have to be your own advocate and no one else can do a better job at it than you.
I was fortunate enough to learn fairly early in my career that in order to receive something you desire - a promotion, bonus, opportunity, ticket to a conference, free daily delivery of Coke Zero (okay, maybe without that one) - you have to ask and actively pursue it.
After all, luck favours the bold.
Hopefully, with all that in mind, you'll get all the recognition, appreciation and free cookies you deserve!