http://michaelscodingspot.com/2017/06/04/software-engineers-path-best-annual-performance-review/

How the annual review scores are formed in the eyes of managers always fascinated me. I have five years of experience with annual reviews myself, and I was always able to do well on them.

As a tech lead I got to give recommendations and participate in some discussions with managers. I formed a pretty firm and possibly naive point of view on them now.

The process

The way the process went in my last company, and I suspect in most big companies, is like this: At year’s end the employee is asked to fill out a long form about his achievements and goals. The manager fills out a similar form about the employee and then they have “The talk”.

In this talk the manager and the employee will discuss the year past and the year to come. This might translate to a numeric “score”  with values like:

  • 1- Doesn’t meet expectations in any aspect
    (Translation: You might be fired soon)
  • 2 – Doesn’t meet expectations in some aspects
    (Management is not happy with you)
  • 3 – Meets expectations
    (Translation: You’re OK)
  • 4 – Exceeds expectations in some aspects
    (Translation: Management is happy with you)
  • 5 – Exceeds expectations in all aspects
    (Translation: You’re a rock star, ask for a raise!)

Why do annual reviews matter?

Do you want more money? Sometimes the performance review directly affects your yearly bonus if you have those. At my last company, a low score meant no bonus at all. And a high score meant twice as much money.

If you want a raise or a higher salary, yearly reviews matter. Probably the thing that matters most since higher management knows you only by that review.

The ways to get a promotion is not exactly the same as to get a good yearly review, but they are similar. Getting a good yearly review will definitely help in getting a promotion.

Do you want to be appreciated and valued as a good professional in your company? I’m sure you do, otherwise you wouldn’t be reading a technical blog in your free time. A good yearly review means you are appreciated. So working towards being valued and appreciated is the same as working towards getting a good yearly review.

The Secret to getting a good review

The secret is actually becoming a truly good professional.

What do I mean by that? Well, solving a lot of bugs and developing the most features is not the most important thing. And although it certainly helps to be super talented, you can get a great review with average or below average “talent”.

My first tip is: Taking the yearly review form seriously. It shows you both care about your own performance and that you care to be valued by the company.

All my following advice is about work throughout the year. I have very little advice as to conducting the actual end of year talk with your manager. In fact, I think it matters little and the results are already predetermined by the work your did during the past year.

Here’s 8 aspects that affect most on the annual review.

1. Taking responsibility

Taking responsibility is the first part and maybe the most important.

When you are given charge of a task, you are the manager of that task. It’s your responsibility to deal with it in the best possible way. Here are some examples:

  • If the specification isn’t good enough, it’s your responsibility to go to the stakeholders and work with them to define it better.
By stakeholders I mean product manager, project manager, your immediate manager, QA and whoever else related to the task.
  • If you foresee problems with the current task, talk to the stakeholders and tell them about it. Suggest ways to handle it.
  • If you are not able to finish the task within the given deadline, you should inform the stakeholders. Do not go home on the day of the deadline of that task without telling anyone.
  • Whenever talking to the stakeholders, make sure they receive and understand the message. If you send an email and don’t receive a reply, talk to the person and make sure he or she got the message and are handling it.
  • When you are dependent on someone else, possibly from a different team, it’s your responsibility to get them to finish their part. This doesn’t mean in no way to be aggressive. Just make sure they know you wait for them and ask when it will be ready. If they aren’t willing to do their part in time, go to your manager or their manager and report the problem. Make sure it’s known the other team is currently the bottleneck.

2. Show engagement

Showing engagement is really easy to do and will give you tons of value with management. Simply show them that you truly care about the job. This is really easy if you do care. And why wouldn’t you? You get a good salary, a coffee machine, insurance is paid…
How to show you care? Here are some ideas:

  • Send a few emails from home after work hours
  • Volunteer for things
  • Argue for stuff you think should be different
  • Follow through with things you volunteered or argued for. If you convinced your manager something should change and he said “OK, change it if you want to, I don’t mind it” – Go ahead and change it. Don’t leave it at that.
  • Talk about work, show that work is on your mind

3. Communication skills

Communications skills are important. I think the bigger the company the more it counts. That and politics.
You can be a genius coder, but if you are impossible to work with, you are more likely to get fired than promoted.

Recognize that communications is very important and recognize if you have a problem in that department. If you do, this can set you way back. I think the quickest way to find out is simply to ask your manager or co worker that you trust if you are easy to work with.

If you aren’t the easiest person to work with, find out why and work on yourself. It’s a shame to do a lot of great work but keep failing due to something that you can probably easily fix. Like being more patient with stakeholders or being more helpful to your team members.

4. Show Initiative

Showing initiative, any initiative, is a statement. It says you care about the company, that you are thinking outside the box, that you spend thought and time on improving your workplace. In certain cases it says that your are a leader and management material.

Here are some initiative examples:

  • Code refactoring / redesigns.
  • Suggest new features.
  • Suggest integrating a new technology.
  • Give a lecture to your team / group / company on something.
  • Start a unit test project / system test if you don’t have it yet.
  • Organize team fun day.

Suggesting a new initiative is like a sales pitch. Your managers needs to be convinced it will bring more value than the time spent on it.

If your manager likes your idea, be prepared to follow through. You will be the one to work on it and integrate it.

5. Good coding

I don’t think anyone can deny that being a good coder is important for your reviews. This is what we are paid to do after all.

Let’s consider what we are being reviewed on.

  • We need to be able to finish features and solve bugs quickly.
  • Our works needs to be as bug free as possible.
  • Our code should be readable and maintainable. I would argue here not to over design and to follow the KISS_principle.
  • We need to do quality work even if it can’t be measured by direct bugs. This includes good performance and lack of memory leaks.

To master those is a developer’s lifetime work and I can’t give advice in just a few words.

I will argue that for a medium to a big company, quality is more important than speed. I’m a big proponent that a developer should be doing his own QA before handing it over to the actual QA team.

6. Take credit for your own work

You might be awesome at what you do, but your manager might not be aware of that. Managers forget and tend to live in the moment. They have a thousand different meetings and they might not notice that you developed a huge feature with almost no bugs. It’s your job to remind them.

Knowing how to take credit for your work is an art more than science I think. Mostly simply mentioning and reporting something is good enough. A little reminder in the right place.

7. Talk about your ambitions

Talking with your manager on your ambitions in the company will do nothing but good for you. For one thing, it will help you to achieve your ambitions! But other than that, it shows that you are serious about this job. It implies that you are willing to work to achieve those ambitions.

Managers tend to reward ambitious workers. When you tell your manager once in a while how much you want to become a feature leader or to learn a new technology, he will not feel comfortable giving you a bad score in the yearly review.

Ambitions don’t have to be climbing up the management ladder. They can be very technical, especially in software development. For example my ambitions were to learn WPF better and to integrate system tests in our application.

8. Ask what you can do more

I think asking for criticism from your manager is a great way to get a good yearly review. Especially if your manager isn’t talking about it himself. For one thing, you will get a feel for what you can do to get that score higher. But besides that, it shows that you are serious about your job and that you are willing to improve yourself.

Politics

I completely steered away from politics here, assuming that your manager’s ethics is impeccable and you will always get credit for your good work.

Unfortunately (or fortunately for some), this isn’t always the case. There’s always some politics involved, especially in big companies. Your boss might be intimidated by you, afraid you will replace him. He or she might take credit for your work or promote someone else for personal reasons.

In the end, I think that if we do a good job, everyone around us knows it. People are smart that way.

Summary

Trying to get a better “score” might seem unappealing, but I encourage you to take a different point of view.
A high score means you are valued and appreciated in your company.
Striving towards a better score will help you achieve whatever ambitions you might have in your company.
When leaving, you will be remembered as an awesome developer. That means great recommendations and a good feeling on top of that.

Every manager / team leader is different. Some are more technical and will judge you almost entirely on your code quality. Others are with a macro point of view, and will see your engagement and initiative. Find out and choose your strategy. But even if your manager isn’t technical, you owe it to yourself to be an awesome coder anyway.

I recommend everyone to watch this video by uncle Bob talking about professionalism.

Share this:

Software Engineer’s path to the best annual performance review的更多相关文章

  1. Software Engineer

    1, 软件工程师 软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.软件工程师是从事软件开发相关工作的人员的统称. 它是一个广 ...

  2. 微软职位内部推荐-Software Engineer II-Web app

    微软近期Open的职位: The Office App Services team is working on the powerful Office Web Apps including Word ...

  3. 微软职位内部推荐-Senior Software Engineer -Web

    微软近期Open的职位: Location: Beijing, China The Office App Services team is working on the powerful Office ...

  4. Software Engineer Title Ladder

    http://changelog.ca/log/2013/08/09/software_engineer_title_ladder Within the software engineering pr ...

  5. Sr Software Engineer - Big Data Team

    Sr Software Engineer - Big Data Team   About UberWe’re changing the way people think about transport ...

  6. Security Software Engineer

    Security Software Engineer Are you excited to be part of the VR revolution and work on cutting edge ...

  7. 微软职位内部推荐-Software Engineer

    微软近期Open的职位: Job Title: Software Engineer Work Location: Suzhou, China This is a once in a lifetime ...

  8. 微软职位内部推荐-Software Engineer II-Senior Software Engineer for Satori

    微软近期Open的职位: Title: Software Engineer II-Senior Software Engineer for Satori, STC Location: Beijing ...

  9. 微软职位内部推荐-Software Engineer II_VS

    微软近期Open的职位: Job Title: Software Engineer II Division: Visual Studio China – Developer Division Work ...

随机推荐

  1. 用python写web一定要去破解的异步请求问题.经历web.py和tornado,完破!

    1.问题 上个学期,给学校写了一个数据服务,主要从oracle里面读取一些数据供查询使用,非常快速的用web.py搭建了起来.调试顺利,测试正常,上线!接下来就是挨骂了,我铁定知道会卡,但是没想到会那 ...

  2. 【公众号转载】超详细 Nginx 极简教程,傻瓜一看也会!

    什么是Nginx? Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 什么是反向代理? 反向代理(Reverse Proxy ...

  3. Lucene 学习-安装 Elasticsearch 服务器

    全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选,它的底层是开源库 Lucene.但是我们没法直接使用 Lucene,必须自己写代码去调用它的接口. Elasti ...

  4. JavaScript--动态加载脚本和样式(23)

    一 动态脚本 // 当网站需求变大,脚本的需求也逐步变大;我们不得不引入太多的JS脚本而降低了整站的性能; // 所以就出现了动态脚本的概念,在适时的时候加载相应的脚本; 1.动态引入js文件 var ...

  5. django-xss攻击原理与防范

    一.跨站脚本攻击(XSS) XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.也属一种注入攻击,注入本质上就是把输入的数据变成可执行的程序 ...

  6. django—xadmin中集成富文本编辑器ueditor

    一.安装 pip命令安装,由于ueditor为百度开发的一款富文本编辑框,现已停止维护,如果解释器为python2,则直接pip install djangoueditor 解压包安装,python3 ...

  7. jquery 简单归纳 -- 前端知识

    jquery 什么是jQuery? jquery是轻量级的JavaScript库,核心是javascript,兼容css和各种浏览器,核心理念是写得少做得多(write less do more). ...

  8. HTML5 简单归纳 -- 前端知识 (二)

    HTML5 全屏事件 全屏事件:requestFullScreen 关闭全屏:cancelFullScreen 判断是否全屏:fullScreenElement 注意:现各大主流浏览器中由于内核不同的 ...

  9. 纯小白入手 vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...

  10. webpack中mainifest.js vendor.js app.js 三者的区别

    场景: 大家在利用构建工具进行应用最后的打包过程中,我们希望做到的是将业务代码和第三方引用模块代码分开打包. 因为第三方引用模块代码通常很大,而且在不引入新的模块之前基本上是不会变动的.所以我们需要将 ...