How to do Your Annual Self Assessment as a Software Engineer
Most of the jobs I’ve had over the years had some sort of performance review system. A part of that system was the self-assessment. How well do you think you did at your job? What did you accomplish, and what are your goals? Tell me your weaknesses…
Some of these assessments ask that you score yourself, either as a whole, or your competency levels with various job skills. Always rate yourself at the highest rating when you have a dropdown list or radio buttons. For example, you might be presented with the following: Unacceptable, Needs Improvement, Meets Expectations, Exceeds Expectations. There are two reasons why you should pick the best option.
First of all, these ratings are BS. They don’t mean anything real, and they aren’t applicable to anything in software engineering. Maybe your C#, SQL, and Node skills are off the charts, but you constantly fall asleep in afternoon steering committee meetings. Maybe your front end skills are a little weak compared to other team members, but you always manage to deliver working code. There are too many factors at play in our profession to fit into this type of scoring system, so just pick the best one.
Here’s a video explaining everything, which you should watch:
The second reason you should pick the best option is that some companies tie your compensation adjustment to that score. That seems super dumb to me, but I actually had my boss at one time tell me that. This was a couple of jobs ago, but he was flabbergasted that I rated myself at the top, and then he explained the connection between that score and the salary increase percentage. If that’s the case, why would he expect anything different? At that point, I was glad I scored myself the way I did.
What about the empty text boxes on the form? How should you answer such open-ended questions and get positive results? I’m talking about explanations for how you think you did, questions about your goals, weaknesses, etc. This is the part of the self-assessment where the Human Resources department hasn’t clearly lost their minds. As an engineer, you might not know that there is a way you should answer these questions to get the best possible results and have a good conversation with your manager when it’s time to do such things.
You have to frame every answer from the perspective of how your actions benefit the company’s objectives. It’s that simple. Start by knowing what your company does for a living, and then tie what you do to that. Did your software increase revenue in some areas? Did you automate a process that resulted in freeing up four hours of work per week for someone?
When thinking about what you’ve accomplished, ask yourself how that benefits the organization. Don’t just write, “I optimized a query that does a thing.” Be specific about that optimization and also briefly explain what benefit that accomplishment provides to the company, organization, or team. You don’t really know who reads these things, so someone with some decision making power might read it but have no context. Maybe your boss didn’t even know you did a thing, or why you did it. Tell them.
This also applies to other questions like your strengths and weaknesses, your goals, and even your learning objectives. Everything you write needs to show whoever is reading it that you are a great person to have at the company. It’s similar to writing an effective resume. You need to sell yourself, but you’ve already got the job. You’re selling yourself to your existing company with the goal of either moving up or getting a nice salary bump.
When writing about your goals, they may only ask for your current year's objectives. What do you want to accomplish this year? At this point you’re no longer an amateur at writing self-assessments, so you don’t only stick to this year. You’ve got to look long term as well. What I do is write down my short term objectives, but frame them as part of a long-term initiative. Then, you should weave them into the company’s overall objectives. Can you start with what you want to accomplish and make a link to generating revenue for the company? Write it down.
Do you want to lead? Write that down, too. Even if you have no management or leadership skills at all, they can be learned. So maybe put that in your learning objectives section. Just because you’re an engineer doesn’t mean that you have to say you want to learn some new programming language this year or get better at AWS instance management. If you need to learn those things, don’t worry. Your boss will tell you. What she might not know, however, is where you want your career to go.
That’s what this is really all about, after all. Sure, it’s about getting a nice raise, or maybe moving to the next level in your job function. But it’s more than that. It’s also about you, your long term goals, and how all that fits into your organization. If a company is not super dumb, it doesn’t hire people for short term jobs (an exception would be contractors being brought in for a specific project, but we’re not talking about that). A smart company hires people that will be strong over the long term. Tell them what you want out of your career.
Sell yourself to your own job when you have the opportunity because those efforts can turn into bigger paychecks and better opportunities. It’s your career, not theirs. Your job belongs to you, not your company. Own it. Improve it. And then drive your career to heights you didn’t think you could achieve.
Feel free to subscribe to my YouTube channel for more content like this and also not like this.