The employer wants: best work at the lowest price.
The employee wants: to do best work (hopefully) at the highest price.
That tension in price comes into play in all the big (hiring, raises, promotions, bonuses) moments of this relationship and the deck is mostly stacked against the employee.
What's an employee to do? Get leverage. And when i say get, I mean earn it (because you work hard and smart and are killing it at work) and show it (be savvy). You need to track every instance of your good work, every demonstration of your value to the company. You need to know what form your performance feedback will take (quick meeting? annual review? panel?) and be ready with all the ammo/leverage/savvy/whatever you want to call it. You have to be able to show what you're worth, what the company loses by losing you (loss aversion works on your boss too) and all that.
> You need to track every instance of your good work, every demonstration of your value to the company. You need to know what form your performance feedback will take (quick meeting? annual review? panel?) and be ready with all the ammo/leverage/savvy/whatever you want to call it. You have to be able to show what you're worth, what the company loses by losing you (loss aversion works on your boss too) and all that.
While it's true that you should know why you are valuable to your company, I think following this advice thinking it will help you to get ahead would be a misstep.
I've found since moving abroad that this attitude and the environment which cultivates it is one of the less healthy aspects of working for a US software company. I think anyone in a New Zealand software company who tracked their every achievement and bandied it about looking for their prize would be the least trusted person in the organisation.
As an engineer-turned-manager myself, I can tell you that the best way to get promoted is to consistently deliver value and to help others to do the same. While in a formal performance review it's likely necessary as a matter of process to hold up past achievements, you'll do much better to focus on the future value you'll deliver.
If you're feeling like your achievements are going unnoticed perhaps be a bit proactive and ask your manager if they might offer some advice on areas in which you could improve and how you might go about this improvement. Assuming they bite, follow their advice.
That said, if you feel consistently undervalued you're either not good at consistently delivering value, or you work for a bad manager/company. If it is your own incompetence you likely won't recognise it if you are spending all of your time tracking what you perceive to be achievements.
Its so easy for the last thing you did to color your manager's view of your performance.
But there are also some missteps.
I did not recommend brandishing your accomplishments. I do recommend knowing what they are and being able to prove them though. Knowledge of self is never a bad thing.
This whole spiel also isn't about individual managers. When i refer to the employer-employee relationship, the employer side isn't one person (usually), it's a process, structure, system. So it's possible for you to be the best manager (smart, compassionate, aware of your subordinate's contributions) and for the system to still suck e.g. too few promotions/raises to go around, manager has to sell his boss on you etc. etc.
Here's the rub. We are all responsible for our careers. You, me, all of us. It is always the individual's responsibility to champion himself/herself (all external support is of course welcome). Telling employees to work hard and leave the "championship" to their managers seems rather naive to me (and a little paternal).
Great careers don't just happen. Your manager isn't (always, or even frequently) going to bestow one upon you after noticing all the good things you do.
It's all you.
I especially agree with your points that knowledge of self is never a bad thing, and that you are responsible for your own career. I'd never advise ignorance over one's achievements, but I also think everyone has their own biases (positive and negative) in their reflection of their own work history. The magic bit here is that you can adopt a process of continuous improvement through good communication with your manager and never have to worry about these biases.
Maybe this is inflating my own self-importance as a manager, but I have to disagree to some extent that this isn't about individual managers. It's been my experience that individual managers can make or break your career. It may be different for outside sales roles and the like, but in engineering an employees manager is usually the face of the company to the employee.
That said, you're absolutely right about the importance of the process/structure/system. If your company has policies which limit or accelerate personal advancement this will affect you in a big, big way.
Finally regarding NZ , I think those of us from the USA could stand to learn a thing or two from kiwis. Distrust of self-promotion is certainly not limited to employer/employee relationships. There's a saying here that goes something like "the kumara  never sings of its own sweetness." The stereotypical kiwi never points out their own greatness and is generally fairly quiet and reserved or even self-effacing when others do it for them. I wouldn't say it's rude to point out people's achievements here, but if done wrong it certainly could cause a bit of awkwardness.
The attitude against cultivation of one's status certainly doesn't eliminate social classes here, but it does go quite a long way as a major equalizing force within society. As a side effect it seems to help feed a natural desire toward frugality, as generally people aren't spending to "keep up with the Jones'."
In spite of the positives, it definitely can swing a bit too much toward the pathological at times w/ tall poppy syndrome and the like. While I think it impacts performance review processes less due to already (generally) having an established relationship with the reviewer, I think people are a bit less comfortable "selling themselves" in job interviews. Also I'd have to imagine that it'd be a bit more difficult to drum up consulting work here from basic networking techniques in the same way that you can in the USA.
1: I'm making some gross generalizations here, and I've only lived here for ~2.5 years, so I'm hardly well-qualified as an authority on NZ culture. Take this well salted.
2: Root vegetable which is quite similar to a sweet potato
Man, I hope we all get all more great managers. It makes a world of difference when you get one, it just feels so rare.
>> the kumara  never sings of its own sweetness
I really like that saying (Kumara also looks delicious). I feel like I've known a few people with that attitude, and it was always a pleasure working with them. It just sucks that they usually didn't get as far as they deserved. All in all, it (actively managing your career vs being humble and letting your work speak for itself) is a tough balance to keep. Worth the effort though.
Your replies help me remember that all the people in this employer-employee relationship are fully complex and rounded individuals. That's something i ought to remember more of the time, so thank you.
Maybe it all comes down to odds. How much can an employee leave to chance, to the good nature of his manager, the fairness of his company's performance review process?
Who said anything at all about "bandying about" performance? The point of the parent comment is that this information should be reserved for the performance review with your employer, not for office chit-chat or politics. You can't claim your proper value as an engineer unless you know how well you've performed.
-- Something I once read somewhere. I can't say I've followed its advice, but I also can't say I've observed it to be false.
I do not envy the indispensible employee.
I think that for some people that would have been a trade off they'd be happy to make (and in many ways it was attractive), I think if I'd got on with the people I worked with I might still be there.
A few weeks later she got an offer at a new company and quit.
There's always, always a company out there's who will be willing to give you 5-10% extra, if only to screw up with their competition by taking their indispensable people.
If a place is so incompetent that they foster such people, they deserve to get taken for a ride.
Some companies probably don't know which employees are irreplaceable (lower level managers might, but that might not mean much [e.g. stack ranking environment]). Even worse, there are tons of employees that don't realize, track or display their value.
It's not enough to be irreplaceable.
I think of a job I quit a while ago: I was getting all the credit in the world, as I had been hired by the rare competent manager. The department had a non-public document rating each employee and contractor, and their idea of how likely they were to leave. I got to take a peek at it, and any technical employee could use it to easily identify the bad managers, if just because their team's scores were all wrong: Terrible, toxic employees being rated as great and at risk of fleeing because they behaved like Linus. Good people that were actively looking for other jobs seen as under average but with no risk of leaving... completely wrong.
In the last 15 years I have seen plenty of good and bad developers, but, for the most part, there is little disagreements among the technical staff about each other's competence. If kept in a purely technical role, a bad employee can produce nothing. Bad managers, however, are often seen as successes by their own managers, and end up killing teams and companies.
We (his co-workers) all knew it, we were asking him questions all day. Our manager had a vague idea he was good, but that was it.
The system doesn't always reward the best performers...it doesn't even know who they are (that's why performance management is a multi-billion dollar industry).
Reading your comment, it brought back to mind: employee value isn't a linear scale, from "bad" to "good". What they contribute is complex.
To me, that complexity is what makes it difficult for the system to find and reward the right people. That's what make it easy for employee value to get lost in the numbers, in exhaustion, in time crunches and stack rankings.
If the lay of the land from high above is that in this company we have only X fellows, Y architects and Z distinguished, you can be the best developer in the world, but until one of those retires / leaves you won't get promoted. And if the lay of the land is stack ranking, you can be world class, but if your teammates are even more world class than you (or can play the politics game better) then you are going to be punished regardless of your effort.
It's not that just because you get an outstanding performance review, or two, or three you will be promoted. You might get a salary/RSU bump (within the band of your position) or you might not (for reasons beyond your control the company might have decided to freeze salary increases for a year)
I am sure companies where promotion from within and strong rewards for developers exist, but I don't think they are that common, when talking to peers it seems the only more or less guaranteed way to get promotions, recognition and significant salary bumps are to leave and go work somewhere else.
It's also surprising how many companies will allow great engineers with 5-10 years of domain experience to leave with just a "ah, it's normal, attrition happens" without actually trying hard to keep them, but I guess they figure that if they reward one for staying, others will want rewards as well, and so it's easier to just not do anything (which is of course helped by the widespread notion that engineers are just replaceable cogs, so if one leaves you can just get another or hire 3-4 offshore replacements for the same amount)
In the end it seems one should either try to work for a company where one enjoys what they do, and forget all about the career ladder, or one should think about moving around every 2-3 years and keep chasing the promotions / salary bumps instead, it feels like the time of working for a company where good work is rewarded is long past.
I hope that the tone of this post is not too pessimistic, it's just that it feels that chasing the career ladder is a goal in its own right as opposed of a side effect of a career well spent: as you said the deck is stacked against the employee, and the only thing an employee has on their side is the threat to leave, you can't do anything else, unlike employers who have a lot of tools in their arsenal.
This is what I've personally experienced from both ends. I was at one company for a very long time and as a result I was dependent on the variable annual salary review (which was at least consistent) but in the last decade or so I feel that compensation for needed jobs outpaced that growth. I've also noticed that viewing the profiles of various software engineers that a lot of people move around a lot. They might stay there one or two years but no more than three or four. I wish I had learned this early on in my career. Also I think as a developer you learn more and grow by experiencing different domains and problems. It's bad to get complacent.
> It's also surprising how many companies will allow great engineers with 5-10 years of domain experience to leave with just a "ah, it's normal, attrition happens" without actually trying hard to keep them, but I guess they figure that if they reward one for staying, others will want rewards as well, and so it's easier to just not do anything (which is of course helped by the widespread notion that engineers are just replaceable cogs, so if one leaves you can just get another or hire 3-4 offshore replacements for the same amount)
I sometimes wonder if long-term employees are a liability for companies. Or if they view them that way at least. Because of the nature of work maybe they need people for a few projects and if they go that's okay. They got what they needed from them (and maybe so did the employee).
The hand wavy, market-will-solve-it, get-out-of-jail-free-card of our generation raises its greying head again.
A) You can only leave a firm if you have a sufficiently fluid job market for your skills.
B) Firms will be dystopian, and managers will follow the latest HR fad or mantra that infects their CEOs or competitors. "Forever criticism" will most likely make it much worse.
c) We have repeatedly shown that human beings are terrible at assessing their own inabilities, while also being influenced by non critical factors during assessments of situations. The most likely scenario - forever criticism combined with an annual review, will provide people with just the kind of data minefield to blow each other up with.
D) Tools like this are an effort to bridge a paucity of managerial experience. The solution to this is to give people actual managerial experience - i.e. identify and train managers (not leaders), or teams which can self manage.
(side note - to achieve D, you need people to work in firms long enough for the investment to be worthwhile.)
Yet what people "deserve" has absolutely nothing whatsoever to do with what they are paid. Do you think people in negotiations sit around thinking "what does this guy deserve?" Or are they just trying to get the best bang for their buck like anyone else?
You always have the ability to just get multiple offers and walk away from the worst.
> If you have the skills you don't even need strong negotiation skills.
If you have absolutely shit negotiating skills, or don't even negotiate, you are going to be paid less than you deserve forever. You might get a few lucky offers where the initial offer is actually close to market, but more often than not you're getting an 80-90% market offer the first time around.
You combine developer pay being as high as it is, the majority of raises and promotions being based off previous salary, and compounding interest, and it's not unreasonable that no or poor negotiation could leave over a million dollars on the table over the course of your lifetime.
You say I've got a better offer from x, and they will have to beat or say no. You keep doing this, eventually you will reach market price regardless of negation skills.
What we found is that nobody gives a shit. People with glowing reviews... still leave the company (even with reviews tied to bonuses). People who are great performers still get shit reviews from their peers based on personality instead of merit.
So it's pretty much all just shit that wastes time.
We dropped reviews in favor of public praise mechanisms where anyone use an open mic at our weekly staff meetings to praise a co-worker if they feel so inspired (holy fuck it's a lot of sales people patting each other on the back though), and a karma-tracking tool that keeps a tally in Slack. We also send out a very simple questionnaire at the end of a project to our employees, clients, and contractors... it's in a Google Form and they can opt not to leave their name... we just ask, "What sucked about this project?"
Love to find a better way to do it... but meh, I don't want to waste any more time on this. We all know who we like to work with, we know bosses give bonuses based on who they like, and anything else is just a BS time-sink designed to make you lie to yourself.
Meanwhile at my company the engineering boss spends a brief time every monthly meeting pleading for somebody--anybody--to submit nominations for corporate recognition. Not sure if it's mass-imposter-syndrome or just high expectations or what.
Systems like this are trivial to abuse. Several years ago, I worked for a company that was poised to expand a line of business that I happened to be in, and we wanted to get certain people positioned to move up and certain other people to stay where they were.
We didn't have a micro-management system in place, so we did what you do in the absence of process: email. We did a traditional propaganda campaign. "Wow. Betty Sue really did a great job at X!" "Joe had a bit of trouble getting things going, but Mike helped close it." "Betty Sue and Mike rocked that TPS report meeting!"
Instead of coming up with creepy ways to gather intel to let you do whatever you want while avoiding discrimination lawsuits, hold managers accountable for performance and give them the ability to manage.
Since I work on HW my projects are long-term and they don't fit this review cycle very well. I also think it causes people to do a lot of nonsense stuff as they desperately try to "make an impact" during the review period. A lot of stuff is done that is a distraction in the name of making an impact.
I get the need to measure people and provide feedback but this constant review shit is ridiculous. In my experience it's clear who is pulling their weight and who isn't.
We even introduced a web form to make it quicker which helped ... not at all
Look, if you walk into a performance review and you don't know how it's going to end, your manager is doing it _wrong_.
Your manager should know your strengths and weaknesses. They should know your successes and failures and _why_ they were successes and failures. They should know your goals and form a plan for you to help you accomplish them (a serious plan, not some "well, they make us list three goals every year" crap). The only way to get that is to have open, frequent communication with you.
A good manager is there to help you succeed. If not, they're just a boss.
Funny thing is, then they will have nobody but themselves to blame for failure. Cannot even blame the source of the robot or algorithm - you picked it.
The performance reviews I've experienced in my time at Bloomberg were some of the most forensic shit I'd ever faced. Every misstep counts against you, and "the talk" isn't far behind.
The question remains to be seen which side of the line the majority of HN readers fall.
Of course, the more cynical amongst us may sneer and think "yet another social system for fakers to game." They probably wouldn't be wrong either, but seems on the surface that continuous performance evaluation will be slightly harder to game.
I have quit jobs over their idiotic daily meeting rituals. Continuous evaluation does nothing for team performance.
Firing people hurts morale. Hiring people who suck hurts morale.
Making people who suck, suck in public on a daily basis hurts morale.
Forcing people who actually get shit done, to mire themselves in tedium and busy work, and engage garish displays of self-appraisal, not only interrupts actual work, distracting from things that count, but provides for a constant atmosphere of interrogation.
Playing the daily meeting, and weekly status game is shit. I won't do it. Never again. Not for any amount of money.
Know what you want before you assign it to me. I'll get it done. Don't ask me are we there yet? Are we there yet? Are we there yet? You child. Grow some patience. The car ride is over when I park the car.
I'm not directing this sort of statement at any actual person, but if someone is asking me for advice and personal opinion, I'd always prefer to tell it like it is.
I can't stand the constant inquisition of these systems. It makes it seem like the focus is on the dance of "doing work" and not the actual work product at all.
I don't believe so. Micromanagement is the result of two things: lack of actual management skill and lack of trust in employees.
These become more and more common as organizations grow in size, because:
a)Bad managers become more likely to play politics or slip through the cracks and get promoted, and
b) inefficiencies (correlated with firm size) and the resulting decline in output tend to be attributed to employees not working, or not working hard enough - which breeds mistrust.
Then what's to be done? Unless you've figured out how to hire only good people?
> Making people who suck, suck in public on a daily basis hurts morale.
Really? I feel a lot more resentful if someone's doing a terrible job and no-one seems to notice.
> Know what you want before you assign it to me. I'll get it done.
So you can estimate perfectly? Or when it becomes cleare something is going to take twice as long as originally thought, you have all the knowledge of the business to decide what action to take?
When you find good people, certainly don't bog them down with the albatross of making them do the things that terrible people waste time on.
If you know terrible people are wasting time (and you will) and you know it's not fun to watch, why make a public display of it?
Management can suck as much as subordinates. Terrible people cut across all levels of employment. They are a fact of life. Rituals don't improve anything.
Know what you want. Your estimates will be destroyed if you don't. If you have to estimate, then you don't know what you're getting into. You are experimenting. Nothing will be precise.
Don't burden me with your stupid, pointless rituals, if you're going on adventures into uncharted territory. You're wasting time with rituals.
If you care about time, don't estimate. If you have to estimate, then stop caring about time.
It's useful to remember that the term "meritocracy" was first used in a novel where it was the lynchpin of a dystopian social system 
Good bosses/leaders already continuously evaluate their team and the outcomes produced by the team and how it relates to the organizations goals. This is NECESSARILY a SUBJECTIVE activity that won't map to any scales of 1-5, ranking hierarchies, or made-up SMART goals.
These HR systems are just busy-work that wastes time, resources, and burns out people's good-will and authenticity. I think the big question is not whether these systems actually work (of course THEY DON'T), but how large orgs allow it go on even in the face of NO compelling evidence.
and be wary of bosses who rely on these system rather than taking you out to coffee and actually investing in you as a human being.
You know, I watched a few episodes of the English show Black Mirror about how technology is used for vile dystopian hellscapes like this but it got too depressing to watching after about 3 of them.
How long before this is directly tied to your social media by the companies that require access to your accounts?
Frankly, it's hard to see how they could get much worse than they are right now.
I find in practice these web tools are just used to run typical annual / semi-annual perf reviews and give the company an excuse to give people raises and promotions in a non-adhoc manner. Everyone bitches about the time it takes to do them and it's usually a low priority extra thing you have to do.
It feels like school report cards in essence.
It's worth pointing out that Linus Torvalds has a successful continuous feedback system -- and it is his 99% job to provide feedback. I only mean that he doesn't write as much of the Linux code any more, day-to-day, he mostly just reviews patches.
When it comes to syntax, I personally think that the best policy is to pick one style, and stick with it. I have come to distrust people with passionate rants like this about syntax because, in my experience, in a few years there probably will be another syntax that falls in fashion, and all of a sudden this New Syntax that now is The New One True Way that everyone gets passionate about, and you have to be high to actually like Old Syntax or something.
What can happen in long term projects is syntax mishmash. Not terribly a big deal with comment formatting, but annoying for other things. Wonder if that variable you are trying to remember is camelCase, underscore_notation, or sHungarianNotation? Is the table you are joining to using Id as a key, TableId as a key, or Table_Id as a key? That's more annoying than any of the problems any syntax has.
So Linus's rant only would be useful to me if his opinion on comment formatting has been consistent over the years. :)
It would have been good if the kernel folks could have written or made use of an existing tool (e.g. GNU indent) that would ensure that the style is consistent. Inconsistent style hurts the eyes.