Interesting article, but I can't help noticing that while the author talks a good game, they've yet to actually _do_ something. It's been my experience that all systems will be gamed. I'll be more interested when they've had this system up and running for a while. Maybe it will work for them, maybe not, but this seems a bit premature.




Well, it's a medium article, I expect nothing less. Pretty much everything that circulates there is marketing dressed up as quality content.


Honest question, I try to earn a bit of money on the side when writing articles. I’ve published them on medium and earned about €200. There’s no way I could’ve earned that on dev.to for example. Any suggestions where I should put my content instead? They’re developer focussed, not marketing/fluff


Yep. I felt like I was reading a goddamned ad for their ethiopia company. Fuck that


The article comes across as so clever, as if no one in the industry has ever considered formulas and openness and higher comp.


I thought the same - it is easy to talk, but compensation systems are probably hardest part of organization to get right and without actual implementation the hand waving is worthless. In few years his case might be interesting.


Cost/benefit ratio, without a way to measure benefit. How much do you lose if you let the experienced person go? It's the same reason we have open seating or cubicles. We can precisely measure how much office space costs, but we have no idea how much disruption of everyday work costs, so that gets discounted.




Most, really. But *how* fucked? Nobody knows. So it's safe for the accountants to ignore. /s The conversation goes "How much does it cost to do X?" "It costs $Y." "And how much does it cost to do Z?" "We don't know." "OK, do X."


They don't know because they don't want to know. An anecdote, my wife has left one of her former jobs because they were not willing to give her a competitive raise. Once she found another job and gave her notice they had to reconsider. suddenly they realized she was a key person keeping the project together and were willing to give her a 50% raise, plus bonus. Was too late of course. Project went from being ahead of schedule by 3 months to delivered about 6 months late, they lost a delivery bonus larger than 5 times her annual salary. They could have calculated her importance in $ terms if they wanted, but tried to save a dime being cheap. It's usually middle and upper management that fucks up


The fact that they offered her a 50% raise indicates they had some sort of metric of her importance in $ terms.


It was a match to her then new offer.


Right, but they don't match offers they think are a loss.


They were trying just to match the offer? What about a 100% raise?


It was implied they could do better, but she was done with them at that point.


So much this. Generally speaking it is an issue of the wrong incentives. Management never has accountability for failed projects or failure to retain talent. Same thing with new sales being exciting and rewarding while maintaining existing customers is thrown the scraps.


The pattern I have seen is that people don’t like finding new jobs. So the number the current company is trying to pay is Market Rate - willingness to job hunt = salary Someone actively looking in the market has that variable set to 0, so they get market rate. A person within the company likely has some resistance to leaving as they don’t want to job hunt/change routine/figure out benefits/etc. Change is hard and they are trying to capture that to the bottom line. My anecdotal evidence is that when someone resigns and then you offer a raise to stay, you’re buying 6 months to a year. If you really want to keep a person it needs to be before they talk seriously about leaving. I know once I’ve made that choice the thought of getting away from the things I hate about my current job becomes entirely too enticing to ignore.


In the Great Resignation we had an entire product team leave, one-by-one. No-one else wants to touch the project because they know the pressure they'll be under, trying to get an understanding of the large code base while the customer is screaming for changes. One guy who was drafted onto that project, as the last of the original team was leaving, quit within two weeks because of the pressure. So we've an unhappy customer and no-one wanting to work on their project. Our management, at least in this one case, have learned the cost of losing people. Interestingly enough, the above story was told to us by the managing director, admitting in an all-hands meeting that losing people is taking its toll on the company.


For some people out there, those are bread and butter types of roles. They're the ones that recognize that it doesn't matter how well they do, how well they do is better than what was being done when nothing was being done. They're the ones that will say no while getting the ship in order. They're the ones that love digging into a codebase and figuring out what it does. They're out there. If your management has learned the cost of having nothing done, they'll encourage finding that person. And pay them well. While they hire a team of like minded people. Or outsource it. You know, whatever.


It seems they haven't learned the lesson of managing clients, however.




I think you may be missing my point. It's not that there isn't any impact. It's that the people in charge of the money are ignorant of what the impact is. The CFO in his office, whose primary job is to have meetings all day long, is going to be ignorant of how disruptive to a programmer it is to be sitting at the same desk as everyone else without any noise reduction and getting interrupted constantly. That doesn't mean the programmer isn't less effective; only that the CFO doesn't know how much less effective. So it never goes in the spreadsheet.


At a large enough company, this probably could be measured by running an experiment with a large enough sample size. I think you'd need at least 1000 engineers, if not more for such experiments to make sense though.


I vaguely remember references to exactly that research, I think the result was something like engineers were 30% more productive when they had solo offices


Yep. They actually do the study about every 10 years, and it comes out 30%. The next most useful thing they test comes out at 10%. (I don't remember what it is, though.)


Even 10% sounds like enough to justify the cost of a private space when you factor in getting to the market earlier and compounding returns Kind of amazing in a terrible way how prominent open offices are and how little most places do to mitigate their downsides


I blame it on the fact that the people making the decisions have completely different jobs than the people the decisions affect. No manager is going to be disturbed by others talking while they're working, because what a manager does for a living (at this point) is talking to other people. The only reason managers have doors is because some of the stuff they have to talk about is secret.


Where can I find these studies?


I've seen them presented at conferences. I don't know where they'd be publicly available. However, there are a number of ongoing studies found via the obvious google searches, which have interesting results. https://hbr.org/2019/11/the-truth-about-open-offices https://iwsp.human.cornell.edu/ https://www.forbes.com/sites/ashleystahl/2016/07/28/new-study-reveals-that-cubicle-farms-are-ruining-employee-morale-and-output/


I had this exact same conversation with the CFO at my workplace recently. He had seriously never in his life heard of the concept of "context switching". He doesn't seem to be a bad person in any way, he just *doesn't know these things*, because nobody told him, and he has never experienced thinking in the ways a developer might think.


Yea many managerial ppl only understand number matrix which a lot of times don't represent the real world challange of any tasks more complicating than bricks laying at all.


You know you're in trouble when they start posting GANT charts. :-)


I was the sole US engineer of a company. 90% of engineering was in India (the company was founded there, US was the "offshore") What I built was extremely complex. When they decided to shut down all US operations, I was let go. none of them knew how to fix what I did. They had all of my documents, they'd all been trained, but beyond "run this, if it breaks, call." they were lost. They replaced what I did with far worse, because it was easier. (simplified for reddit) Also, if the CTO goes and the new one asks you to fill out -THE LAST YEAR- of your job in tickets/metrics so they can learn? RUN. Say "I will quit first." New guy asked me "I don't see jira tickets for your last year?" "I didn't do jira. I was given a project, I did it." "How did you track things?" "I was the sole person, I kept a notebook." "How did your boss know if you were meeting goals?" "He came by my desk or we went for coffee." "How the hell did he evaluate your performance?" "He gave me deadlines, I hit them, he left me alone." "Well that's all changing." Literally all the other C levels told this guy "Give him a goal and a date. He doesn't need a boss." fucking scrum master cunt wanted me to give him a standup report EVERY WEEKDAY morning at 7am while I was sleeping on the way to work. Wanted me to give him "User Story" and "effort points" and "impact statements" and oh yeah, "what's YOUR password to..." not what's -A- password, this puppet fondler wanted MY passwords. Okay, he wanted my personal cell? No biggie, I had opsgenie into it anyway, and all the other C-levels had it. told him "text it first." NOPE, never texted, always CALLED. I was at the obstetrician with my spouse. Guess What my Top Priority was? Not him. He didn't like it. I didn't care that he didn't like it. The CEO said "He's pulled our ass out of so many fires I don't care if he watches youtube all day. The reason YOU are CTO and not him, is that he doesn't want it, he wants to stay where he is." I bought two dozen black t-shirts and six pairs of jeans in my size. I never wore anything else, but I rotated daily. If I wore something ELSE they thought something was wrong. Chundercunt wanted me to look -professional- I spent the first ten years of my career in a tie. No. Lick me. CTO couldn't program his way out of a damp paper bag. If the rest of the c-levels says "Just hand him tasks and step aside."... yeah. so... Wanted my ass in at 7am instead of my usual 9. Wanted me to use Jira....


>"what's YOUR password to..." not what's -A- password, this puppet fondler wanted MY passwords. Hope you scorched his ears off in the process of explaining the fundamentals of operational security to him. > Wanted my ass in at 7am instead of my usual 9 That begs for a response of "what's your next guess, asshole?"


I gave him fake passwords and waited for him to complain. I told him I'd update him when I came in. I wasn't doing scrum on the frigging BUS around totally normal strangers.


We butted heads. I told him that his predecessor gave me tasks, gave me deadlines, and we left each other alone. Our Philosophy was simple. We're both adults. We don't need our hands held. He hated I didn't talk to a project manager (I'm the fucking devops architect) He hated that I didn't touch Jira, or confluence. He hated that I tracked work on a notepad. "Its 10am, why are you just walking in." "I was here until 2am." "I doubt that." *#security logs#* There, my badge checking in and out of the building. "How do you have this?" "I do that security too." "You're really stubborn' "How do you think I got here?"


Jira is nice if you have to explain something to 30 people. But it’s a waste of effort if you’re doing it yourself.


Yeah, with a team, vital; solo, what the fuck?


I upvoted you, but you are a complete dick. From one account (yours) I can't say if the other guy is a *bigger* dick, because that would be taking your side at face value, which is a stupid thing to do in the Internet and in life generally.


He probably is the dick of the team by the sound of it, but so what? Some people aren't (good) team players. I'd wager that most are not, they just pretend and make an effort. But some people just work best when left alone. It'd be wise of the higher-ups to leave such people alone for maximum productivity, but no, they need to have their checkboxes ticked which is seemingly even more important. There's just a hard limit to unneeded meetings one person can endure in a lifetime and some of us just reach that limit sooner.


Yes, I am a dick. I accept that fully. An upvote to you good sir. This is all now 5+ years in the past. I am rapidly approaching retirement age. I am calmer and less... An asshole. But I will be a dick if I have to. I'm too old to care what people think of me. I have slogged through cubicle farms for near on thirty years. You want me to do metrics? Fine. You want my metrics to be pumped into Excel and a NUMBER spat out ant THAT is what you judge me on? Eat me. I've learned far, far too well this past pandemic. I don't care what my boss thinks of me. I do my job. I get it done when he tells me. I don't care if he calls me a dick or a savior anymore. I've got kids to feed.


I totally get you, if I could get away and not do time tracking like a lawyer billing hours I would. It is such a waste of time and just adds more stress. They're totally not getting my best because of that, I'm not working hard to compensate the time lost of their shit.


Please tell me that jackass eventually got fired?


I got fired. What the other C-levels didn't know was how badly the India team needed me. When he let me go, it was only HR involved. None of the "We Know Your Value" people were even remotely involved. A year or so before, near Christmas Off Week my spouse and I lost our unborn son at 19 weeks. I took -TWO DAYS- off and still covered 12/7 the Christmas Holiday. I flew to India for 5 weeks two weeks AFTER that, two days AFTER my wife's birthday. I went there and worked 60+ while I was there. NOBODY but my boss knew we'd had that happen Nobody else knew we were expecting. I got back stateside, the CEO pulled me into his office and said if I DARED ​treat my job more than my family like that again He'd throw me out the (10th floor) window." There is acrylic with my name etched into it and "For going excessively above and beyond the call of duty" ​ (He, afterward, talked to my wife (and I) privately, he said to her "I never once knew, I would have never let him go away from you had I known. This company is my life, but it should never be his.") Yeah, I'll work 60-80 hours for a boss that can see my value. I was hired by an internet megacorp in four days (fired friday, offer letter Monday afternoon). My former CTO was on a different team from where I was, said it (to my boss) it was an insult to interview me. Told my then boss the truths of what I did. I spoke to the new boss, and only him. One webex call later. Blam. Offer letter an hour later. No haggling, +10% above my prior salary. "$former_boss talks reverently like you're a god. Now prove it." From what I knew from other guys I worked with, the "new" CTO was "metrics metrics metrics" and his home page was on atlassian. His turnover rate was almost impossible. ​He didn't as much manage as much as raw fuck you into a spreadsheet. I don't know where the company is now. My loyalty ended when their loyalty to me ended. I have a family. I lived in various India Hotels out of a suitcase for six weeks. Don't blink at my expense reports. My Good boss would not even bother looking when he'd sign off on them. Accounting would walk up. "here's his expense report for the trip." "Approved." "Do you want to look at it?" "No." "But what about..." @[email protected] "IS it under my approval authority? Approve it." Shit, we'd take turns drinking heavily in the executive lounge until one of us couldn't think straight. Man could drink his way to the bottom of a cask of amontillado but you hand him a double shot of Lagavulin and he didn't have thumbs anymore. A good boss can look at Good Engineers and knows full well how to guide them. A Good Boss will say "Go do these things, here are your deadlines. Anyone gets in your way, let me know." And will _LET_ you go be the fucking brilliant programmer you are. Someone over there about to be getting on your case? A good boss steps in, you never hear it. You don't care. You're three hours down in the deep magic. I had a CEO come in after a marketing meeting. It was Friday Night. Every single one of us in Engineering were clustered around a conference room table, laptops out, programming like we were holding back the ten gods of hell by raw typing speed alone. "What's going on?" he asked, "I don't see all of you together unless there's a pool table, or a problem." We explained the problem. He walked down the hall, came back 5 minutes later with glasses and two bottles of the most expensive scotch I've ever had in my life. He rolled up his sleeves. "Until you have a use for me, I'm pouring drinks. Where do I order food from?" He didn't flinch, he stepped up, he got involved, he didn't try to take charge. He spent ten hours at a client site. He saw his engineers in deep, he didn't bail. He kept us motivated, somewhere also in the Ballmer peak. We all had security clearances as high as any civilian can get for half a dozen agencies. Fuck, I'd bet I could have gotten my own helicopter given HALF the people I pulled out of the Fuck Up Fire. That's the boss who collects engineers who'll move the mountains he points at. He goes to the bar, he hands the bartender one of those 'I don't fucking care' Credit Cards... "That group of guys. They're with me, treat them well. I love good scotch. I do not want to see the bottom of my glass. You'll get a 20% tip if you make that happen." And doesn't flinch. There's two digits before the comma in the bill? Our Downtime is measured at half a million dollars per minute. I'll -buy- them a bar. That sports bar near our office knew us. We had the #1, and #2 largest bar tabs on record. Get yourself an IT team, a Devops team that's the best in the county while drunk enough to forget they have thumbs. And they're gods sober. He never flinched. He never blinked twice. "You guys will work until you collapse to solve problems I can't even comprehend. And all I got to do is throw money at the bartender? Cheap."


Do you write a blog? I really enjoy your writing style.


really appreciating this story.


My best boss was a world-famous computer scientist himself. Every time he switched jobs, he'd call me up three to six months later to come help dig out the company from its own rubble. It was awesome. I've had exactly two managers smart enough to understand they're in a support role. They were both great. It sounds like you've had a most wonderful career.




Wewease Bwian!


Reminds of a conversation I had to have with a project mismanager just last week: "I can teach your staff, but I can't learn instead of them." He just couldn't wrap his head around the concept that it's impossible to offload learning to someone else. He seriously said: "Why can't you just learn it for them?"


>none of them knew how to fix what I did. They had all of my documents, they'd all been trained, but beyond "run this, if it breaks, call." they were lost Only management thinks that documentation and training are a sufficient handover. **Gotta work with it**


That CTO seemed like a person who had worked extensively with cheap devs India/Philippines.


It's always safe to ignore that for which you won't receive blame. In fact, it's unsafe to take into account anything that isn't tied to any blame you might receive. The company can fail - you'll just go on to a different job anyway.


You'd be surprised. Like the line from the Matrix - "There are levels of survival we are prepared to accept."


6-12 months if a senior person leaves easily accounted for. I’m the lead on reporting for my company and they would be fucked if I left… and I’m underpaid by 20-30k… but it’s comfortable and I love my job and coworkers and when I ask for raises they give me the standard 3%… it’s so hard to leave. So hard to go through the pointless hr interviews only to meet woth vp of engineering and know in 5 minutes you’d never work for that asshole… so we stay




This is also the same reason companies are reluctant to upgrade developer machines. A new machine shows up on their spreadsheet as a couple of thousand dollar expenditure. The developer time being wasted waiting on their machine to complete a task does not.


I'm a field tech and I've been working at a company for three years using a third-hand zbook G2 (with an onboard quadro card that I don't use BTW), I can't tell you how much time I've wasted because of it. Now they've finally replaced it and the new one for some reason can't run VMs acceptably. Then they go and install sensors in the bathrooms to save money on electricity...


> How much do you lose if you let the experienced person go? When I was at KPMG, what we told our clients was that if you lose an engineer and replace him the following day, you should assume 1.5 times the annual salary for that position as the cost of the attrition to the organization.


We value what we measure


I used to do employee satisfaction consulting work for companies and one of the more sad things I've heard was my clients basically say, "*Don't measure it, I don't want to know because I won't change anything anyways*." Also, as a follow up, "*If you measure it, then there is an expectation to improve it.*"


Also, cubicle furniture can be depreciated. Walls can't. It's always better to have cubicles than walls if you are in the department which is in charge of controlling costs, which is all of management.


They think engineers are interchangeable and some companies think everyone will work for them. Now, everyone is looking because people are leaving like crazy and they have problems hiring. Also, there is the lore of working for peanuts so the company can go IPO and you become and instant millionaire. None of those are actually a good thing.


My company recently started to think that engineers are interchangeable. We are all supposed to know everything. That's literally what they told us. The answer "I don't know right now, let me get back to you" is not accepted. It's insane to me. A lawyer does not know every law. A doctor does not know every procedure.


Run like hell and get a new job ASAP. An organization that expects everyone to know everything is an extremely ignorant organization that doesn’t value learning and personal development.


They don't really expect you to know everything, they expect you to make up shit if you don't know... so they can blame you when it comes out that the shit you made up isn't true. Totally agree about getting out of there as fast as possible.


I think you're right! Either way, not a place you want to be.


Yeah, never work for anyone who won't take "I don't know" as an answer. That's a huge red flag. Whatever they're doing, whatever they're building, they are cutting corners. And, as an engineer, I don't want to be part of projects that cut corners. Even a simple thing, like a bridge or a dance floor, can injure or kill dozens of people if it fails catastrophically. Sometimes it's harder to see the impact of something like an app or a website failing, but it still affects people. Even if it never kills anyone, it still increases the amount of time that we all collectively have to spend messing around with shit that doesn't work, and wasting someone's time is just killing them a second at a time.


My boss always wants to know at which date some feature is done. I told him multiple times I would need to check the project if he wants a realistic time. He wants it now. Ok got random numbers. As I learnt quickly the dates don't even matter really. As long as there is something in his calendar he is happy. At this point I assume it's some kind of kink and I just roll with it.


Time estimation for engineering projects is almost an exception to what I said. Almost nobody in engineering gets time estimates right. Even highly experienced, extremely talented engineers routinely fail to estimate completion times correctly. I've seen some of the smartest people I know guess totally wrong about how long it takes to do things. People who spend their whole lives doing this stuff can't accurately predict completion dates. Part of that is because engineering is problem-solving. Often times, you don't know how close you are to a solution until you have found it. And, if you're a junior engineer (and you are honest), 99.9% of the time you will have no idea how long anything will take. Not even the slightest clue. I had one boss I used to tell, "It will be done sometime between 20 minutes from now and the heat death of the universe." This all kind of depends on your relationship with your boss and your boss's experience. If your boss knows what he's doing, he understands that basically every time estimate that is more than a couple weeks out is complete bullshit. He's using your numbers as placeholders in the schedule and will adjust as you get closer to actual milestones. What you have to watch out for is if your boss holds you to those arbitrary estimates and refuses to acknowledge roadblocks and issues that cause things to take more time than initially expected.


Or just really dumb leadership and management for that team.


It also suggests the management intern could step in for the c-suite at a moments notice. It's great news because it indicates significant salary savings can be made by changing leadership.


It's also indicative of "we won't hire anyone that *actually* knows what you need so it's your responsibility to either know or to take the blame". Run Like Hell is correct AF.


Mine is like this retroactively. Can't count how many times they've been like 'why does this work like this', 'we need to change xyz asap', 'does abc handle pnq' & it's always like... well that's code that predates every engineer here by multiple 'generations' of hiring, idk why it's like that & I've never even looked at it; you're literally the only person still here who was around for those decisions


I am so happy the company where I work preserves all their Jira and Git history. You can answer a surprisingly high proportion of these questions just from those two sources.


What's the alternative, purge the history every now and then? That sounds insane.


Switch source control systems, switch document control systems...


Stop using your document control system in favor of omnibus spreadsheets on Sharepoint that you have to delete every quarter because they're prohibitively large and complicated, like my last job.


If they expect you to know everything then deep down they know they are useless.


It's reciprocal actually. They expect you to know everything, because you know they know nothing except how to save a buck by needlessly changing procedures to make your life harder.


If they don't accept, "I don't know right now, but I will find out," then they're not worth working for. What that kind of management wants you to do is to make up an answer if you don't know. To lie. And then they will bury you when that lie comes out. This company can and will throw you under the bus at the next opportunity. Get out of there ASAP, they will destroy your reputation and potentially leave you criminally liable. That kind of bullshit is grounds for walking off the job on day one.


I had a boss try to do something similar, where they were making backend guys work on iOS and iOS guys write Javascript. That experiment ended in about 2 months with 60 bugs


Wtf kind of dumb shit idea was that


Dunno. All save a few engineers "pocket vetoed" it, and it died on the vine


the few engineers were the ones who wanted to spend their work day learning a new skill so they could apply somewhere else


Making iOS developers use Javascript is a good way to lose them in a matter of days.


Making anyone use JavaScript is a good way to lose people.


It's even more complicated than that imo. As businesses grow bigger and processes start to appear, business knowledge (people, processes, products) is almost as, if not more important than, technical knowledge imo. Replacing a good programmer with a great one will actually result in a net decrease in the output (amount AND quality) for at least 6 months to a year, and sometimes in a very noticeable fashion. Cool, you can hire a new rockstar that's really good with a specific language or framework, but if they don't fully understand what they are working, don't know who to ping when they have questions and constantly re-implement features that have already been implemented by a shared library or somewhere else in the product, this doesn't mean much. Technical knowledge is replaceable, but unfortunately for HR, engineering is about much, much more than just pissing code.


Depends who you replace. I've worked places where I had to get things running in the wake of "that arsehole" lots of companies seem to have at least one, the guy who thinks writing shitty unreadable code is good because it makes them feel more irreplaceable. Getting that guy out the door ASAP saves years of cleaning up.


> "I don't know right now, let me get back to you" is not accepted. Wild. People willing to bullshit when they don't know or can't do something are some of the most insufferable to have to work with. Mandating this kind of behavior is quite a choice.


"Knowing everything" is obviously unreasonable but having a general knowledge of "everything" is seriously underrated, especially in anything even remotely ops related. There was a time when an engineer (mechanical, chemical, electrical, structural, etc) was actually expected to have a general knowledge of engineering as a whole outside of just their specialty. I'm not an expert in systems outside of my team but I try and learn as much as I can about everything even remotely nearby in the tech stack and there's already been plenty of times when having that broad understanding has paid off. At the time I was digging through it originally I never thought it would be useful to know and yet, in many cases it has been. Even though another team might be responsible for maintaining and developing some system by understanding the general code base it makes interacting with those teams quite a bit smoother by virtue of it not being a black box. You shouldn't be expected to know everything but a curiosity and desire to know everything should be nurtured.


Interviewers cannot get their heads around the concept of an IT Generalist. They keep going back to "what is the syntax for this product".


This isn't about general knowledge though. This is about project-specific implementation details that are virtually unknowable to anyone who hasn't worked on it. It's like expecting a soldier to already know where all the mines are when his unit arrives at a minefield none of them had seen before.


That ship is sinking, they just haven't noticed yet.




Yeah, turns out the VCs usually have a deal where they get paid out first. If they don't get all their money back, nobody else gets a single dime. Happened to me too. Company sold at fire sale price, VC took every dollar, and the options I paid to exercise earlier were a 100% loss. For any small startup, I'd count the expected value of options at zero, for engineers.


Yeah, if the company isn't already public, equity is worth less than the paper it's printed on.


As I've told multiple recruiters: you can't pay your mortgage with stock options.


It can happen all the time and the truth is, that lore is a bit of a myth fueled by greed.


This is exactly what happened at John Deere. They thought "who cares if they're on strike, we can outsource". Followed immediately by an accident and an injury. People have more value than just units of work.


I’m in Boston and love my job. Make around 130k base. I have 10 years under my belt in some complicated systems, and every recruiter tells me I’m underpaid and this company will give 50k bonus or this company will give 100k equity. I have great benefits and I’m happy, and relatively stress-free, and they allowed me to take a leave of absence cuz of burnout earlier this year with excellent assistance. Do others prefer to stay when they are comfortable or test the waters every few years? I waffle on the idea and some of the better recruiters are essentially just really good at sales and pique my interests. Edit: A few people have pointed out saying my job being stress-free, yet having burnout is contradictory. I would agree for the most part. I kind of burnt myself out honestly. I was having panic attacks and trouble sleeping and ended up in the ER one day. That’s when I decided I needed a break to focus on myself and some personal issues. It wasn’t my job causing stress really, but my stress was making me burnt out to the point work would just exacerbate it. I should have explained this better initially.


I'd say take look at what other companies might offer you and then present that to your company for a raise. However, if you are happy there is no reason to actually leave. Nothing says you have to pursue the max amount of money all the time and good bosses are worth a lot more then most people will admit.


Amen. I love my boss now. I love the people I work with. They have been very good to me, personally. It goes a long way.


This is such an important point that many people overlook. I've worked for shit companies and shit bosses who were on your back about being a couple of minutes late but didn't bat an eye when you handled an issue that cost you an hour after work. Working with, honestly, pricks who get power hungry over the smallest thing... Now I work for a company that's the been voted a top 10 place to work for in the UK and their whole hiring thing is to get in amazing people who are just great to talk to day in day out. My boss is a legend, as are all the senior team just really down to earth people who know their shit inside and out. The work life balance is amazing, the benefits incredible and bonuses etc. We get bought food every friday. Work day is 9:30 - 4:30. The biggest thing is that they care and do the right things so I was like you getting a bit down mate my son had some issues at school and my boss took me aside and said he'd noticed i'd been looking at my phone and seemed a bit down was i alright? He gave me a couple of days off and offered to get me a counselor on the company dime.. Honestly really made me realise how amazing having people around you at work that care and are just briliiant people is :D Keep that job mate but it can't hurt to look around to get ask for a raise. I mean, the worst that they say is no :D


> and then present that to your company for a raise I don’t think this works very well. If you’re not ready to leave, it’s not an argument.


If closing the salary gap is of interrest, you have to go through the full interview and land an offer. Once you have an offer, go back politely to your manager and say that you'd love to stay, and indeed, like the job better, but that's a lot of money you're leaving on the table. If, given that, they don't bother making a counter offer, you're probably better off leaving anyway. They probably won't counter to the same salary, but at that point, staying at a happy place rather than moving may be worth some amount of money. If a company likes you, they'll move quickly.


I think that depends on how you present it and on how they take it. And how they respond to it might impact whether you are ready to leave. For example if I said: "Hey boss, I've been contacted by recruiters saying my skills are worth $x at their company, and when I looked around at other places that seems to be accurate. I really like working here and don't want to leave, but I also would like to be earning much closer to my market value. Do you think there's a way that the difference could be made up here?" If the responded along the lines of "You should be grateful just to work here, we've been giving you cost of living increases, there's no way we're going to give you a big fat raise." Then maybe it's time to start dusting off the resume. If however they show that they are taking you seriously and appreciate you, even if they can't/won't meet you all the way maybe that's something you can live with. When I got hired at my last job I didn't have industry experience and hiring me was perceived as a bit of a risk even though I did well enough in the interview. The offer they gave me was a lot to me, but it was also on the low end of the scale. After I'd been there for a year or so and had been performing well I talked with my manager about being at the bottom of the pay scale for my level. They said that there were mechanisms in place to address that during performance evaluations (twice a year) and that while they "weren't allowed" to make the difference up all in one go, I could expect to get big raises in my next performance evaluations, and that's what happened. I'm not sure if my saying anything about it affected the raises (theoretically they should have happened anyway given the evaluation process) but I felt good about speaking up for myself and with how my manager responded. I also knew better what to expect instead of being stressed out about it and building resentment.


I was in the same boat. I got some fairly large raises unsolicited after I’ve more than proven myself. I asked for my last raise and got it since I knew I was still a bit undervalued. It’s good that your manager and you knew the procedures and policies for compensation. That’s a huge thing. A lot of times, these things are clearly written in policy documents, but people are too lazy to look it up and just assume that raises are impossible and absolutely forbidden so they never ask. If you know the rules and show how your request follows said rules, you’ll probably get what you want since all HR has to do at this point is follow the policy. If there’s a procedure and no actual decision to be made, people are more apt to do what you want.


A comfortable and stress free dev job that pays enough is wildly undervalued imo. Yea you can probably go make more money elsewhere, but it may not be worth the trouble uprooting your life and adding in more stress. Each person needs to evaluate their own situation but if you're comfortable and able to live a happy life, don't let others tell you you're doing something wrong. Time off for burnout is pretty cool.


From my expirecne. When a recruiter tell you something they tell you the figure but not what you have to sell to get it. Any time I have seen a higher salary job in some areas (I could take 30% rise). I will be working until midnight and weekends.... no thanks..


I'm in Atlanta. I think Boston should probably have higher salaries than Atlanta. We're hiring engineers with 5-10 years experience at 130k base with really good benefits and annual bonus. I'd say $130k for a software engineer with 10 years experience in Boston is probably underpaid these days. I've got around 10 years experience and am making significantly more than that in Atlanta although I am now in management. If I felt like I was good I'd be looking for around $175k total comp in Atlanta. I'd probably want more to live in Boston.


So 20 years exp. I am UK I could get £75k ($95k USD). I take a fair amount less than that by choice. Have as many side contracts as I want / can handle. Have living expenses of less than £12k/yrwhich makes about 70-80% of my salary disposable. Well own my house in 5 years or so. which will further half my expenses. All of my family live within a 3 mile radius. I have max a 20 minute (40 in a bad day) commute when i actually have to go to the office.... since I WFH. I also get 35 days paid holiday per year on top of that. Probably maximum week I am doing currently is 30-35 hours... often companies here if they want more give paid overtime and the people even refuse to do that Looking to drop to a 3 days week or contract work ni next 2 years and work in winter only. Aiming to be gone from the industry in the next 5 years amiing to be retired by 50 at the very latest. Probably on track to do it sooner.... As for lifestyle. Get to go race boats / yachts 3 times a week in the summer. Fly planes, Gliders, Windsurfing and a pile of other stuff (all less than 15 minutes drive or most of this is actually inside 10 minutes walk). The culture here people walk out of work at 5pm. Unless you take american company job....The summer since it doesn't get dark here until 10-11pm May,June,July and of course the evenings are actually useful for living.... I stopped chasing money a long time ago ;) Also. when you apply for a senior/principle job role here theres like 50% you might actually be the only candidate.... cause we simply cannot find people to work and paying them more doesn't sort that problem out either case its really hard to poach good peolpe because good people end up in good companies which give them great work / life balance here.


> I could get £75k ($95k USD). I take a fair amount less than that by choice. Have as many side contracts as I want / can handle. Have living expenses of less than £12k/yrwhich makes about 70-80% of my salary disposable. Well own my house in 5 years or so. which will further half my expenses. that's the real conversation: how much do you keep, and what were you planning to do with the money?


Was in Atlanta a few years ago and $150k is about top 5 percentile according to several recruiters I talked to. Beyond that they were looking at people that had written books and spoke at conferences as baselines. I can see why that makes some sense in terms of expectations but when I changed locations for a maybe 20% CoL increase and doubled my top n percentile for ATL comp I didn’t think it made sense to stay there unless one has reasons other than career to stay (I had none).


I’ve done both games. 20 years here, I’ve settled on if I get paid around market rate, I’ll stay at whatever place gives me the best work life balance, and interesting and engaging projects and coworkers (including my boss). You can pay me all you want but if the work sucks, or the corowkwrs suck, I’m gonna leave. I happily take less to be happier in general. Context here is I make 185 base, with some equity. I’ve made up to 210 base with bonuses and equity to go up to “350-400” (where 100k of that is monopoly pre IPO money). It’s not worth it. The chances of striking it rich at every single startup or company is slim. Im in Seattle for reference. Make what you’re worth and find what it takes to be happy. When you aren’t happy anymore, change. But if you’re hitting all your goals, retirement, life, family, personal, and you don’t make as much as some piece of shit who sucks on Zuckerbergs balls, who cares! They’re the ones gargling the stink of a psycho and you’re off doing what you want




If you are happy and satisfied with your life, have all your needs met, you can save enough to retire, and you have enough cushion to get a new job if your current company crashes, then why change anything? Keep your skills up to date enough so you can bail if something radically changes, but you don't have to mess up a happy life just for a few more dollars. You're in the real position of power at the moment since you don't need the jobs that are being offered, you can make whatever demands you want. Ask for written guarantees about hours worked, when the company can call you out of normal business hours, vacation and sick time... I know someone who has a Burning Man clause in their employment contract, they're guaranteed that time off every year. Just saying that you can afford to be picky and ask for what you want. There are no guarantees that you'll get it, but you might, and still end up with more money.


If you're not in one of the high cost of living cities and you haven't got a 25% raise in the last 2 years you are probably leaving a lot of money on the table. Savings compound. How many fewer years do you need to work if you're saving an extra $20k a year? How's that compare to having a cushy job where you are underpaid for 30 years?


It depends on how much you value being able to enjoy 30 years of life and work vs slogging through every year and potentially missing out on your family time for decades. Money won't buy back time.


I think a lot of us are sensitive to spinning wheels / possibly stagnating without being able to differentiate when that's truly happening vs when your overall position is improving re: things like health & financial security I wanna relate it to video games or even outright war; is the kinda situation where you can just sit there & see gradual improvement, but hard to ignore that urge to make a significant *play* just for the sake of it


I'm in a similar position in Portland OR area. I've got about 14 years of experience (6 in my current position) at ~$170k base. Based on interviews I've had (I interview somewhat often just to keep in practice) and knowing what some others that do my job at the same level, I could get an extra $80-90k if I were to leave. BUT, I get to do work I like for a company that has otherwise been good to me, for a manager I really like, with people I like, and get to work almost exclusively remotely. That said, I've definitely been 'poachable' at times, but I'm amazed at the inability of other companies to take advantage of those times. I'll hit points where I'm "done" with my job/feeling like I should move on every ~8-9 months that'll last a few weeks. I'll sometimes respond to recruiters at that point, and I find 3 things that make them shoot themselves in the foot: 1- Not having interviewer availability. If you've got me saying, "sure, I'll chat with someone", you need to get me interviewed while I am still 'vulnerable' and get me the 'warm feeling' to move to your company. 2- Not making an offer fast enough. For those who successfully do #1 (getting me interviewed quickly), many will take too long to but an offer letter together. If my 'warm feeling' has faded, or my current position has gotten to the point where I haven't had a big 'straw that broke the camels back' annoyance in quite a while, your offer is going to be much less effective. 3- Not letting me work remotely. EVEN IF you survive #1 and #2, if you come to me with a "well, you have to move to California", the number on your offer letter isn't going to matter, its an instant-no. As a counterpoint, my company recently hired a really high-quality, well known dev because we did all 3 of those. AS SOON has I heard he was interested, I got him interviewed in a few days, we got an offer out right away, and we let him work remote-only. Our competitor trying to hire him was still arranging interviews when we had him signing an offer letter. I know my company is really bad at 2 of those 3, but I was able to push our management to do all 3 really quickly, and he's likely the best hire my team has had in a decade.


Funny, thought you were my coworker for a minute. I’m in a similar situation in Portland OR. I agree with all your complaints, but let me add one more. 4. Being unwilling to share the pay range. Most of the time it ends up being a bad number, and wastes those rare moments when I actually feel like changing jobs.


Perhaps the same employer/s :) One thing that is somewhat annoying (and on the topic of the article!) is that when I mentioned to my manager in passing that I was talking to another company, was the response was, "don't do anything hasty, talk to us before you make a decision". If they are willing to match another offer, they should be willing to pay me enough in advance to not consider it!


I've told my "manager" that I know my current equity is quite low based on hire #, so if I leave and point to said equity it shouldn't be a shock. The whole counter offer deal makes me angry too as they knowingly are trying to maximize profits off you when many companies could give their engineers 50% raises without impacting their profits in a meaningful way.




Not as many as the bay, but quite a few more than that! Amazon, Ampere, Apple, Scifive, and Nvidia all hire extensively in the area as well. I'm sure I'm forgetting a few on top of that as well.


If it gets to the point where I have to go get an offer from another company to get a raise, the game changes from "I'd like a raise" to "Beat this offer." I'm not leaving money on the table. Any company, no matter how much you love them and they love you, *will* let you go in a heartbeat if it's deemed necessary. Why I should I be expected to be more loyal than that?


For 50k to learn all new systems and be unproductive for 6mo and roll the dice on people you'll be spending 8h/day with? Hell no. You're good. But what if the price was 400k/year total comp? You could work a few years and then retire and build Legos or whatever you actually enjoy doing with your time. Or continue working and funnel that money into charities, send your kids to MIT, etc. Didn't make that 400k number up.


The extra money may not matter now, but when you retire, especially with compounding interest it becomes much more impactful A lot of people use comfort to justify inertia, it’s usually very doable to find an equivalent (or better) role in terms of work life balance etc


You're being dramatically underpaid. You could be making easily 180k salaried without bonuses or equity or magic peanut sauce. You could make that also with all that.


I’ve been told that. It’s never really been about money to me. Money is kinda whatever to me, but I hear ya.


Congrats. The grass isn't always greener. Company culture or a nasty boss is not a good thing.


I had a similar issue earlier this year. I had been at my place for 9 years and figured out I was severely underpaid. I had decent benefits, unlimited time off, and super flexible work days so I put up with. I found a newer company that was basically had a job rec word for word in line with my resume and they offered me 30k more so I jumped. I've been loving it.


My company is one of them. They went away from subject mater experts to just throwing more underpaid bodies at the problem. Most them bodies are offshore resources too, so they’re even more underpaid. So many have started leaving or looking to leave, and I am one of them.


Good firms do try to keep salaries competitive year on year, but it is a fact of the industry, that you can always get faster raises by changing jobs. Changing jobs is also typically the only way you can advance in your career since you will experience a kind of glass ceiling in your own firm - especially if that firm has good retention rates.


> Changing jobs is also typically the only way you can advance in your career I think this also applies to general knowledge and skills too. The longer you spend at a company the more likely you are to get stuck in a rut. Solving (and creating) the same old problems in the same old ways gets boring. Software development is a creative profession with constantly evolving tools, practices, and expectations. You are not an assembly worker. So, IMHO, it is not just about the money; switching jobs provides necessary variety and exposure to new ideas.


Counterpoint: If you haven't maintained any of your software through the whole lifecycle because you switch jobs every two years, you'll never know how bad you shit stinks. You'll just propagate your bad decisions as a senior in another company.




They'll do that anyway. They want to propagate their own bad decisions.




Not Agile, Scrum. Scrum exists to manage a fleet of contractors/juniors from a consultancy, where you don't know if a specific person will continue to be on the team in the next sprint, when the individual coder ability is unknown, when there's 0% of business domain knowledge from the non-leads. One of the reason d'aitre of Scrum is to manage the Contractor-Client relationship. If you think about it from that PoV, it makes total sense for consultancies, but it's usually a bad fit for any in-house team, unless you're willing to trim it down to an extent when it's just Agile and not Scrum...




I don’t think they meant Assembly, the low level language class, but rather assembly line as in stagnant and repetitive work lol.


A lot of firms use vesting schedules for various forms of equity/options as a significant part of employee compensation, so that leaving will trigger a significant clawback penalty. Some places structure their bonuses in a way that there's a penalty to leaving, too. So there are ways that employers can incentivize longevity, but there's still always going to be the siren call of an instant raise elsewhere.


When an employee quits it may be a problem for his manager, but middle and upper management don't care. It's just a statistic to them. Your manager has no authority to offer you anything. The best he can do is make a case to his manager to offer the employee something substantial. However, any decision like that carries some risk, so it's safest to just say no.


Small companies without multi tier management often try to keep their devs happy because leaving could be devastating for them. But they often have bigger budget issues compared to the big companies. Another problem is that smaller companies expect a lot more from you as well. You're the only one that knows everything, end-to-end, on certain projects so you're always gonna be the go-to guy. Despite the nice pay, I honestly feel overworked.


Leaving my first small company job it blew my mind I worked half as hard for 50% more money.


There's no metric for the cost incurred when losing an experienced engineer so as far as finance is concerned there isn't one. Therefore _not_ giving someone a raise until they leave and are replaced with someone making the higher amount is exactly the same as giving them the raise at that point in time, so the obvious thing to do to maximize savings is wait for them to quit.


There is inertia too. You can rid of all your engineer and you will still sell and rack in as much licensing money for quite a while. 1 year of more in a lot of slow moving field. Maybe up to half a decade if you just keep a basic firefighting team. After that you will crash and burn, but C level will have had at least 1 year of mega bonuses for their genius move.


> After that you will crash and burn, but C level will have had at least 1 year of mega bonuses for their genius move. And if they're smart, they might have moved companies as well, getting a bump in salary.


Probably multiple bumps, regardless of success.




>There's no metric for the cost incurred when losing an experienced engineer so as far as finance is concerned there isn't one. It's not quite that simple. My company doesn't differentiate between different salaried roles, but we do track cumulative estimated cost incurred by salaried turnover. I think that's it's just human nature to take for granted that what you already have. Most managers don't sit around trying to figure out how to keep all of their better software engineers on the team long-term. Yes, they think about it sometimes, but the day to day focus is the output of the team, or iterations on the product. There is also a disconnect between the manager and HR/company policy. HR is going to have no clue that Joey Functions is a rockstar developer protege and should rightfully get a 25% raise each of his first four years with the company. I think the best plan is to have a good compensation team or person who keeps an ear to the ground regarding market rates for developers, and pegging yearly increases to the market rate.


There’s a metric for staff turnover, and the cost associated with getting a new engineer up to speed.


There's no way to measure "impact" without tons of bias or opportunities to game the system, so this formula is going to fall flat on its face. Further, you're certainly going to end up with situations where better engineers make less "impact" by coincidence of their assigned projects despite being an intrinsically more valuable engineer for the company to have. Generally speaking, I agree with paying at or above market to keep the right talent, but I doubt you can create a fair measure of "impact."


Impact also generally linear and heavily depends on the business unit as a whole. An engineer on year 1 can identify a major opportunity and automate something that saves $1m/yr in operation costs and then coast for the next 10 years. Are they still worth a $400k comp package? What about the engineer who doesn’t do well their first year or two, has a change of teams and management, and then excels? The first person or company to figure out a legit answer to how to measure these kinds of things will be the most valuable company in history.


>What happens when the new hotshot junior engineer suddenly starts outperforming the old guard? With an impact-based compensation structure, she would deserve a sizeable raise, but is the company willing to go through with it and risk upsetting the other team members? Plus, not all engineers necessarily increase their level of impact over time. How are these engineers, who still add value every day, compensated in this type of structure? I believe... Trying to calculate how much an engineer is worth to you is a clusterfuck with no reason to back it Just let the market dictate how much they're worth outside and pay above market rate to achieve a low turnover at less of a cost It doesn't matter if the market is rational or if it's influenced by other variables like the ability to sell yourself, in the end the offers they'll get outside will dicate the turnover anyway so just pay above it and don't try to make it fancy with home-made human heuristics that'll probably turn out to be wrong anyway.


Not to mention short term performance isn't a real indication, I can make short term choices that look amazing but reveal additional costs in 6-24 months. We know what tech debt is. It's like a homebuilder that hires a drywaller who can work 2x as fast only to realize they suddenly have significantly more warrantee work. I just try to find people who express a desire for quality and "doing it right" while also being able to meet reasonable(not bullshit) timelines


If you didn't get at least 7% raise this year, you're making less than last year.


Once I didn't get a raise one year, and got a 3.5% the next year. They were surprised I was salty about the amount. It wasn't a 3.5% raise, it was a 1.25% raise over two years.


That's not even a pre-pandemic cost of living adjustment (2%), definitely not a raise.


Yep. I got a small raise at the start of the year, but the insurance price went up. My take home pay is lower this year without factoring in inflation.


Anyone have any idea where the author works? Wasn't able to pick up on it...


because employees alone mean nothing to the company. I think that's the reason. It won't be scalable if they start giving meaning to individuals. I'm not saying it's a good thing, but I think that's why.


Absolutely this. I have been getting solid raises most years in my last two companies. 7 years to more than double my salary. While working for these companies I have not bothered to look for a job or respond to recruiters. Even if a new offer beat my current wage a little, I have to compare it against solid and regular wages. Currently, moving doesn't look a good prospect for me.


I’ve been in this position up until now. I’ve been getting about 15% raises year over year and stock growth on top of that, except I missed a promotion 2 years ago and my growth stalled out. Last year I got that promotion and things went up, but this year I’m only looking at about 10% growth. I have a friend who just got hired at this company at a level below me and his offer is $20K over mine, and he’s getting a fat signing bonus. Between the combination of there being a hot market for new hires and the stall in my career growth, this is the first time in 6 years that I’m starting to think I’m going to need an offer from another company to get my market share.


> Even if a new offer beat my current wage a little, I have to compare it against solid and regular wages. Currently, moving doesn't look a good prospect for me. The question is what to do if it's a lot. A solid margin of safety in terms of a wage bump is a good reason to leave.


>A solid margin of safety in terms of a wage bump is a good reason to leave. Absolutely, though I'm not sure I could beat my current wage by a huge amount - other than working for a high stress silicon valley company, which has other negatives to consider


There's also the getting bored thing


Yeah, I think that line should have a curve to it. Sure it goes up for some years. But then it likely flattens out. Bringing in new blood can be good for any company. And a change of scenery good for many engineers.


Because they want to reduce wages. That's the entire reason. Period. Also, companies absolutely all know this. This isn't something that struggle to wrap their heads around. They are purposefully *NOT* retaining people because they would rather not pay the higher operational costs. It's purely this. Don't *ever* believe a company doesn't know why they have massive turnover. They all know, and they all know the solutions. They won't take the solutions because the people that run the companies are giant fucking assholes that deserve to be left on the street to never work ever again.


Also, importantly, if the people running companies don't act like assholes they got dropped by the shareholders. That's bc the shareholders that don't drop the non assholes make less cash than the ones that make sure companies are run by assholes, meaning the ones ensuring assholes run companies can buy more stocks, and spread their asshole hiring influence further and further afield.


They believe software development is a commodity.


HR & bean-counters make most of the decisions, not those in the know.


The real question is what they are going to do about [Goodhart's law](https://en.wikipedia.org/wiki/Goodhart%27s_law). Unless they somehow manage to align the formula with their business values (which to me sounds somewhere between multiple PhDs and outright impossible) it's just another hoop to jump through, another system to game, another bullshit metric that gets in the way of actual work. What are they going to do when the formula disagrees with their own valuation? Larry does a great job holding the team together, everyone loves Larry, especially his manager. Unfortunately Larry doesn't meet his formula-approved ~~performance~~"impact" targets, so, what, Larry is let go? Nobody wants him to leave, but alas, computer says no. I'm not sure that's a place I'd like to work at.


HR gets paid bonuses for recruiting new employees. At most companies nobody gets paid bonuses for retaining employees.


So I'm a hiring manager, hopefully I can shed some light on one of the things not mentioned in the article. Budget. Yes, I know what you're thinking, budgets should be flexible, and that, generally speaking, good developers earn a lot more than you pay them. I agree with you. Wholeheartedly. But when you work for a large cap company, with pretty set budgets for roles, as a manager you can make a case -- but ultimately as the hiring manager you don't get the final say. If I have a highly skilled developer who is getting an offer for 40% more from a FAANG company, even when I worked at a FAANG competitor we would let them go without a counteroffer. In general most folks thought that if someone was interviewing elsewhere they were a "poor culture fit" (meanwhile that company was the most backstabbing, emotionally draining job I've ever had). So when you would try to go to bat for someone, it was nearly impossible to get them a competitive counter offer. Beyond that, the budget wasn't terribly flexible, I might be able to squeeze out ~20k extra for personnel a year, but in some cases I was asked to take that out of my events budget. This means that any team lunches, or events during outings are either coming out of pocket or not happening. Sucks. Beyond that, what we'd often do is let someone leave, then hire someone else at a higher rate of pay -- this sounds counter intuitive, but often worked out to being budget positive or budget neutral in the near term. Person was paid at rate, person who replaced them is paid at a year rate. So long as the hire time between and is about 50 days, between offboarding and onboarding, we're budget neutral. Longer and we're in the green. What you can't convince middle-of-the-road directors and managers of, is the opportunity cost of losing a fully ramped developer who is already engaged in the project and tech stack. It's about ~6 months of salary in my opinion, to fully ramp someone. They can have material contributions before that point, but they don't contribute at the same rate and frequency until they're fully digested how all the pieces fit. So yeah -- tl;dr: I can't go over budget, no matter what. But if that person leaves I can be short-staffed for a period, let a few timelines slip, hire a new person, and save money and be regarded as a hero for shipping a lower quality product with more associated risks.


Another thing: If an employee announces he is going to leave, he most likely has already planned things out and has decided to leave. Trying to keep him around can be counter productive since if he does, you might just have a disgruntled employee not producing their best with a high chance that they might be looking at another company in the short term.


Something overlooked here is developers outgrowing the level that a company hires at. Lots of companies pay lower and as a result, get less experienced or less qualified developers. Some of those will develop and improve their skills and leave for higher paying jobs. Then that company turns around and hires another less qualified or inexperienced developer. They never end up paying a higher wage.


"Institutional Knowledge" is a baffling concept for all levels of management.


Tech (or any) companies try and treat their programmers as a 'fungible' resource that's easily replaceable. Except they're not. There's knowledge of the problem space for your particular company that walks out of the door, and the new guy has to learn all that, so you've potentially lost 3-6 months of usefulness.


Because replacing you is a turn-key process and the disruption to productivity can be blamed on your choosing to leave, while justifying getting you an out-of-band salary increase requires actual argument and approval by multiple layers of management who can only think about how they're going to end be paying significantly more for no quantifiable increase in productivity.


You're not engineers if you hear management refer to your team as "resources". I honestly get out of any company that refers to people as such.


I sometimes respond to someone saying that word with "The resources don't like it when you call them resources." But usually I'll make it a point to emphasize the word people in my sentence.


Whenever I hear something like "we don't have enough resources for this project", I immediately wonder if we're waiting on a shipment of lumber or iron ore. The whole "resources = people" thing just never sticks in my mind for some reason.


It's a chicken game. If they start paying more, they will have to adjust their equity. So they try to minimize the salary by not losing too many engineers.


One thing this article and way of thinking ignores is that sometimes a person is worth more to one company than to another. A surgeon is worth much more to a hospital than to a trucking company. That's an extreme example, but it illustrates the point that business needs help determine the value of a developer to a company, not just that person's knowledge and skills. An employee might be doing wonderful, impactful work but in an area that isn't very profitable or "strategic" for the company. In that case, it might not make sense to match what some other company for which his skills are critical is willing to pay.


This article raises an important point, but about 80% of it reads like an advertisement for his company rather than giving any sort of an answer. To the extent that the answer is given it is, "we'll define **some sort** of a way to pay people well, together with the Head of People that's yet to be found" (emphasis mine), which doesn't exactly help.


Re: article - Hmmm. Good luck with that. In a market "as hot as this"; Engineers will still probably get a better pay rise and new opportunities before HR can complete a pay review. Unless HR are doing them monthly, and everyone is getting "impact scored" all the time. (Double edged sword? Red flags?) Whatever interview method used to attract new talent, companies end up paying "at least 10% above their current salary" as an incentive to move. Why? Because there's a shortage of engineers, and there are innumerable (practically limitless) interesting ideas to pursue that might turn out to be profitable. So a company has to be "kind of perfect" for the person to want to stay. Interesting work, good managers, good team mates, good culture fit, good benefits, good pay, (stock options?), clear work from home policy; to name a few. But the article is absolutely correct; you can take a team of smart people and bring them in on a legacy system; and without the proper onboarding process, documentation, or motivation - you can end up shelling money out on people just to figure out what kind of arcane software system the company has invented for themselves - and that knowledge is all but lost in a puff of smoke if they decide to leave for greener pastures. This topic often gives me pause for thought; I think the market is correct: people are happy to stay in their job - until a point, and they will seek a new job, provided that job is "worth moving to". It's like the energy required for a state change; people need to factor in working hours, cost transport changes, contracts, dealing with recruiters, type of work, type of company, training prospects, long term growth, disruption... the paycheck may start as a carrot, but it ends up being a stick that people beat themselves with when they look back at the market. Thinking of it another way- the only way to drive down salaries is to have more young people who are desperate to work to train them up; you just need to look at the demographics of a nation to figure out if that's possible. I say this as a contrast to the trend; fewer people creates more demand on a shrinking pool. Less engineers graduating from university, or programmers from boot camps means high wages for the companies who need them. 10 people can automate the work of 100 or 1000 people if applied correctly; freeing the other people up to do other things. Software is eating the world. This is a good thing that is being funded; but almost every business in existence needs software to stay competitive... so where does it end? I think maybe it doesn't, and so software salaries will continue to rise until more valuable jobs appear on the market. /rantythoughts


I think at the top where major decisions and budgets are.made, engineers really are just a number. The guys at the top don't know Jimmy is doing double the commits of the rest of his team just like they don't care Chris has been coasting all of covid. It's a shame, but I know if I want bigger pay raises I need to look again. I actually like where I work too.


I think all companies know this. Only some pay to retain engineers. Those are the companies you want to work for.


The only time I was offered a considerable raise (>10%) was when I had another offer. If companies can get away with giving 3-4% raises every year without most devs leaving they will.


Management in revolving door companies feel more secure in their position when their employees do not.


Business has zero clue how quality software is made, nor do they care. Things are done to minimum acceptable functionality SLA's. With all things that require specific skills, you get what you pay for.