As a developer, I find the definition and execution of these goals very distracting, worthless and sometimes even stressful. (I work for a quite famous company in engineering.)
My question is: what's the ultimate purpose of these goals? Is there a scientific (or even psedo-scientific) proof that they work for both parties? Do people really believe that they help in some way?
EDIT: typos
The best-case scenario is to align personal career growth goals (e.g., senior engineer wants to be a staff engineer, or engineer wants a big raise) with company objectives. Company objectives are typically realized on a longer-term time horizon, which could be several years long. Goals, in their best-case scenario, should be a contract between company and employee that says "if you change and grow in this way to help me, I'll help you back."
Ideally, a good manager should use their experience and vantage point in the business to help their team members set good goals that both align with the company's long-term growth plans and their employee's personal growth plans.
Where these things go sideways: * an manager-type has set goals for a team that are tied to their assigned goals from their manager, and they are hoping by setting goals with their employees to shift responsibility onto them. (example: if manager's boss wants the team to be proficient in Rust by end of year, that should be something that I as manager just assign out as tasks and give you time to do) * manager and employee don't effectively communicate on employee's growth plans, so the goals are lopsided. (example: employee is trying to spend more time with one-year-old daughter this year. Their personal goal is "leave office at 4:30PM every day." Manager ignoring this goal is bad.) * manager is not very good at handling differences between growth plans and fails to communicate those issues to employee. (example: employee wants to get better at a legacy language that is on its way out at the company, and employee also wants to get promoted. These two goals may be in conflict.)
Goals should be a way for employee and manager to align employee's personal desires with company's objectives. For many reasons - most due to questionable managers - this is often lost.
That statement always rings true to me during performance review and goal setting seasons. This stuff is mostly bullsh*t. "Goals" - as described by OP - don't exist at small startups. It's clear what the goal is: build a product, get customers, grow revenue, etc. The goals of a FAANG company aren't different. If "goals" were actually important, they'd exist ate startups too. Because they don't, it's pretty clear that the pessimistic comments in this thread are correct: they give HR a concrete way to avoid legal liability when it comes to raises/bonuses/promotions/terminations.
It's totally frustrating. I understand OPs sentiment. Unfortunately, the only way to avoid this red-tape nonsense is to join a startup.
The purpose of these goals is similar to any goal, to give you direction. Ideally, these goals are not distraction but things you're already doing that the company find valuable. I mean, you get to set the goals. Don't set goals you think are distractions, set goals you actually want to achieve.
It's common that managers receive instructions: one good evaluation, one bad (even if no-one deserves it), and all the rest ok/average.
Usage of this can be broader. For example only the "good" evaluation might be eligible for a raise.
As long as your goals are broad and evasive, you're safe. When they starts to be precise, that's the alarm signal.
Part of the goals exercise is not the goals in themselves but to let you reflect "where do I want to go" and start the discussion with your manager because maybe they have no idea: do you want to become a staff engineer? A tech lead? Can they assign you more of certain type of work / expose you more to the upper mgmt to build the awareness of your work and help you get promoted?
Are there things that you're working on alone but are too complex for 1 person and you would like to have more people involved? Can you use that as an opportunity to mentor younger people in the team and grow soft skills? Etc etc
Another thing is to validate things you'd like to do: maybe you'd like to more of X but you're not sure if you're senior enough / will it be well perceived if you do it / is it valuable investment of your time. If you let your manager know and he approves, you can devote time to it with clear conscience when you notice an opportunity.
1. Herding cats is hard, i.e. how to point them in the same direction (as the company strategy - a.k.a how do you communicate "this is what the company thinks is important")
2. How do you spot bad performers (those who are busy but never seem to ship / deliver)
3. How do you provide timely opportunities to learn / grow / improve
Is it the best system? Not by a significant margin, but all better systems have trade-offs or work great in theory but not in practise.
Is it misused / abused by some companies? Absolutely, this is true of all such systems and it's up to each company to seriously ask itself why it wants to do this and whether it does apply to everyone they want to apply it to.
In many ways it is a "least worst" option, whereby you have a degree of alignment around contributing towards the company strategy, are able to have a regular cadence to ask "did you complete that work when you said?", and a regular cadence for "how can the company help you?" (by lining up work that helps with growth, etc).
Is it scientific? Not really... there would have to be a universal scientific application of such processes for them to be comparable and companies will always apply things in a way that fits them.
Edit: I've seen this at my last few employers and I believe it is valuable, but really you get out what you put in. For those looking to advance their position, compensation, etc... this is a great opportunity (4 times per year!) to identify what the company thinks is important and to contribute to that work, and fit the narrative of your progression into the company one. No-one forces you to do this work, you can treat it as a paper-pushing exercise if you want but then it's a wasted opportunity for you to use it for your benefit (profit! including work/life balance, etc)
Quarterly and annual goals are largely irrelevant for staff who are engaged in creating new software because of the constant need to pivot as the market and solution are discovered via iterative attempts. That said, Wall Street is in love with MBOs/OKRs and companies would be dumb to not execute investor desired ceremonies.
My advice to software engineer ICs is to do the bare minimum workflow for MBOs/OKRs and try not to be discouraged by the obvious waste of time. Dev managers can best spend their time trying to keep the goals high level and achievable in a variety of ways so that distraction presented to the ICs is minimized.
Fundamentally the last thing you want is software engineers doing is screwing around trying to figure out how to shoe-horn some stupid MBO/OKR around the work they end up discovering, or even worse, the inverse.
These systems have the goal to create buy-in from the employee to perform at a certain level. Since you create these goals yourself there are little excuses why you can't reach them. It creates an incentive for the employee to work hard all year long and lessens the burden on the company to continuously check if you're being productive.
I guess another way of saying it is: You define what you're getting paid for year over year. What value you're providing for the company.
Now, the most problematic issue with settings goals is timing. By tying your goals setting process to the financial year or to bonuses the result is that you have to set goals so far in advance you can't reasonably set them, and you're almost certainly going to review them at a point where it's unclear what the outcomes are. Which is why this is better done as a continuous process. Every month or so you should be looking at your goals saying "Is this still relevant", "what progress have I made towards this", and "What am I doing that is not captured by this goals". And by doign that and actually recording that throughout the year when it comes to annual review time you have relevant goals, you have clear record of progress towards them, and you aren't worried about things that are still in progress. Most importantly though - you play the recency bias lottery. In every company I've worked in a project delivered in the 3 months before review is worth 10x what a project delivered in the 3 months after review is worth, if you have written documentation throughout the year you can fight against this.
If your basic idea of work is "you rent yourself, your time and energy to the employer, the employer pays you, and you're even" then asking you to set goals for yourself makes little sense. "Clean the coffee machine before you lock up" isn't really a negotiable goal.
But if you work to create intellectual and social capital for both yourself and your company, then it makes all the sense in the world to negotiate goals.
If you have the goal of learning new tech things, by all means tell your supervisor. They have the responsibility to help you with that. (Obviously they also have the responsibility to get the work done.)
"I want to get to the point where I am the go-to person on zumbiwidgets" is music to the ears of a supervisor. They can help you do that, with training, assignments, conferences, mentoring and the like. Or, they can say, "wait, wait, we're phasing out zumbiwidgets. How about working with acmewidgets instead?" In either case it's a way to get your supervisor on your side.
My career is way longer then the couple of years I’m gonna work for you. Do you want to know my goal? Learn, improve, move on. I don’t care about the company as long as I trade my hours for money.
I worked at one place with 50 employees where it was basically 50 people all doing their own thing where not a whole lot got done or at least not done well. But everybody was busy!
Now, organizational planning is useful though hard. Some people want to push it all the way down to the individual employee where things often fall apart. There are plenty of jobs where what your goals were in January and not good goals in February. So to solve that the goals are made broad and fuzzy. At that point no one can tell if goals have been met or not.
So by end of year it pretty much comes down to how your manager feels about your work. You could have solved a really hard problem that made the company money, but if your manager doesn’t know about it, it didn’t happen.
As you said, tying bonuses to this process in nonsense and if you have a good manager they will just hide this from you. Sadly, most managers are awful. The problem is that getting promoted into management is a career path and companies don't adequately train managers. Just because you are good at coding does not mean you can manage a team of coders.
Like a lot of things in life, you kinda get out what you put in. Remember, introspection is our one true superpower.
But most are just doing it to do it, because they see others doing it, and so that they can have the marketing team write in glowing detail on their social media pages and in the annual report how they are an “analytically-driven organization that is passionate about optimizing the employee experience to promote greater productivity and collaboration, and to develop a sustainable pipeline for disruptive innovations.”
- Setting goals rather than tasks can allow for less micromanagement, if used properly. You have a problem to solve, with some freedom to choose how - Measuring individual (or even team) software engineer productivity is super hard. Unexpected problems, necessary research, tech debt, changing requirements, support interrupts, life problems, etc make consistent progress hard to measure, and no one wants to be measured by lines of code or “points closed”. Setting pre-negotiated goals and then achieving them is a more humane alternative
Another point is that they can show they invest in their employees and say to new recruits that working at their company will improve their abilities and obviously mean a higher paycheque down the line.
Another one is also to see how engaged the employee is. If the employee is like me and refuses to set goals. I was actually asked yesterday to set goals, I said I have no goals. My goal is to keep the system that is falling apart working. And there is no requirement for me to get better. With the strong legal job security along with the strong job security from being the only domain expert left in IT I can get away with that. It shows that I have zero interest in this company in the long haul. I'm literally not even willing to pretend to play their game. This should be a mark that HR needs to work on employee engagement heavily to try and turn me from an actively disengaged employee to an engaged employee. Which to be fair should have been obvious with the massive employee churn of "our best employees going to work for competitors." (word for word what management is saying) But if an employee gives really good achievable goals that align with the company they can measure that to be an engaged employee.
You should understand what you are working on, how it is progressing and what is the goal of certain things. You need to know how to align yourself with goals of your company and the impact of the products you are developing.
Honestly, I don't appreciate anyone not taking any stake in what they are working on. This transient attitude makes it hard to trust people to understand fully or even want to understand problems that need to be solved. I can understand if someone is new and doesn't know what to do for a product. Of course, in this case, your first goal is: learn and ask (good) questions. After that, I would not be happy to give you constantly basic advice on your own tasks.
So, this is not just a managerial problem. You get paid to work on problems, to develop an insight on those problems and to think independently on those problems.
With that out of the way, when the company itself is unsure what to do next, then it can become a distraction, because it could mean that even top management doesn't know what exactly to do. I've had this happen and that's frustrating. I can talk all day what I could do, but nothing can stick if you don't get a clear idea what top management wants to do.
[1] https://www.investopedia.com/terms/m/management-by-objective...
If you do or do not achieve your list of objectives, they have no impact on whether you were productive, made an impact, or you should be promoted. So what's the point?
You can use it as a political tool. A senior exec can brag that their division consistently meets or exceeds their goals.
It's also a tool to encourage employees not to sit on their asses. You need employees to improve over time. One way is to encourage them to have goals which require them to make small improvements, whether that be in productivity, training, or moving the needle on some other company goal.
1) Companies wants work done for free and managers heard some rumor "setting goals is good". Anyway, there's no choice for every party involved: Mythical work gets added in addition to work where employee is supported. This lets employees that are already supported to have another bragging list, while employees who are not supported are held down by yet another instrument.
2) Managers never heard of or actually been part of agility and teamwork.
You could have an internal goal (learn Lua) but if you don't talk to your manager, it might be something that's not where the company is going.
If the goals feel like they are not reachable or that they don't create value, then such goals shouldn't be set.
Upper management policy to hire the cheapest employees backfire as these employees typically less productive, unwilling to learn and doing absolute minimum.
To compensate for that - management invent policies and procedures to defocus attention from their own inability to lead and inspire.
I feel like if I was in a decision-making position in the company, OKRs would make more sense. If I have that kind of power and responsibility of deciding what the company is going to do, then I also have to decide what we want to achieve.
But as a software engineer, I don't have any such responsibility. I make what I am told to make. My only goal is to do enough work well enough that the company thinks it is satisfactory. Beyond that I just want to do as little as possible in exchange for the most compensation possible. I also don't have any long term career goals other than to escape capitalism. Therefore when I'm asked to set goals, I find it exceedingly difficult.