return to table of content

What it was like working for Gitlab

silisili
91 replies
9h47m

Location based salaries are discriminatory

I used to feel this way, but largely grown out of it. In the end, you're asking for SF salaries, and those in India are asking for NL salaries(or SF salaries). You'd largely find a race to the bottom, I think.

The simple fact is you made a good living for your area, and they made a good living for theirs. If you want more, move. If you won't move, there's likely a reason why.

Everyone wants a SF salary with an Indiana or even India cost of living. For obvious reasons, that can't work.

hiAndrewQuinn
48 replies
9h22m

From the other angle: There exist companies that do not do location based pay. If you're hired, you get a US level salary, whether you're in San Francisco or Poland or Indonesia.

These positions are phenomenally competitive. You have swung open the doors to the world, and said "Give me what you got!", and you reap the benefits by having a much, much larger pool of applications and talent to sift through, with a lot of truly exceptional people in there - mostly very intelligent, very driven people from poorer countries.

That's how supply and demand works. If you are offer to pay people more, you usually end up hiring a higher quality candidate.

ako
15 replies
9h18m

You also know that companies are looking to optimize margin, so those US level salaries are only temporarily. Given enough good people in India, or other low-income countries, that pay level will drop significantly.

jojobas
8 replies
9h6m

Good enough people from India move elsewhere in no time. You still get what you pay for.

northern-lights
3 replies
9h0m

Not necessarily. There are costs and obstacles to moving (for example moving from India to US is extremely difficult these days).

jojobas
2 replies
6h16m

There sure are, but there's Australia, Canada, Europe and Middle East.

Results of offshoring to Bangalore is a stereotype, but it wasn't born from nothing.

andrewaylett
1 replies
3h28m

No -- it's born of attempts to cut costs.

I've worked with teams from Bangalore who were staff of the bank I was contracting for -- they were amazing, but also not appreciably (if at all) cheaper than employing someone in London or New York.

Several well-known banks had large offices, and competition for talent was high. No race for the bottom there.

It doesn't particularly matter where you employ people, if you're trying to save costs by paying people less then you're going to have a bad time.

ako
0 replies
3m

Good engineers will accept lower payment if their costs are lower. Similar to how amazon is operating, by lowering costs, minimizing margin, they can win over customers and win the market.

ako
3 replies
7h59m

Why would they move away from family and friends if they could get equal pay in India, with more spending power?

jojobas
2 replies
6h19m

Because living in India sucks even if you're rich.

ako
1 replies
5h49m

I recently visited some teams in India, they indicated quite a few coworkers moved back to India to be closer to family and friends. Not everyone is dreaming about moving to the US. And yes, I agree that I couldn’t see myself living in India, with all the pollution and overpopulation…

jojobas
0 replies
5h29m

That has to be a small minority. As for missing family, chain migration is still a thing.

Nearly nobody is ever going back, even those who can't land a proper job just stay and drive ubers.

the_arun
3 replies
8h55m

What makes you think US level salaries are temporary? Isn’t this the case for last 40 yrs? Why it will change now? Is it due to advance in remote work or more supply?

ako
1 replies
7h56m

Salaries have been under big pressure from Asia.

pooper
0 replies
7h44m

Also from Europe, Canada, and Latin America.

lazyasciiart
0 replies
7h41m

Isn’t this the case for last 40 yrs?

Is it? The only place I know off the top of my head is maybe ten years old.

hiAndrewQuinn
1 replies
8h57m

Sure, that's of course what we would expect. However - and I don't know about you - if my options were between getting paid $200 a month as a farmer with my dad, or earning $8000 a month as a software engineer in my room, I would probably still take the $8000 option, even if it only seemed like it would be around for 3 months.

I may even be grateful for the chance, instead of angry that it wasn't a deal that was going to last in perpetuity. I admit I may be in the minority here.

cybrox
0 replies
8h13m

If you're just in time, yes.

Everyone after you is out of luck and can develop software for $200/m then.

josebama
9 replies
8h53m

A consequence of that is that local companies, that have local economy level income, can't compete on salary with those foreign companies. So they can't get the top-tier workforce they used to have access to. Ever increasing the economic disparity between countries.

They allow brain drain to happen, without the barriers of having to move countries.

hiAndrewQuinn
3 replies
8h44m

You might be right, if we assume that everyone who takes these high paying remote jobs also makes sure to never ever spend the money they earn locally, either.

However, if I was earning an order of magnitude more money than I currently am, I might want to pay a little extra to go to the really good barber, or to eat at the really nice restaurant at the riverbank. Or, hell, I might just employ a cleaning service every week, to save myself a few hours' time vacuuming my apartment. These necessarily local services will also see their revenues rise. To me that seems to be a more important effect on the local economy at large.

bobby_table
2 replies
8h11m

But how would you feel about working as a barber, chef or cleaner, when you could earn two orders of magnitude more making Internet thingamajings for people on the other side of the world?

pavlov
1 replies
7h18m

New York never has a critical shortage of barbers, chefs or cleaners even though for many decades it’s been possible to earn 100x as a Wall Street bond trader or quant.

A healthy growth economy can tolerate income differences. But the balance is certainly precarious, as the example of New York or London shows. It’s constantly on the edge of driving out the remaining barbers and chefs because they can’t afford rents.

__float
0 replies
3h22m

They could build more apartments.

pzduniak
2 replies
8h37m

I'm pretty sure someone making 2-4x their local salary for a remote company and paying taxes is healthier for the economy than working your ass off (or not) for a local startup that wants to end up getting acquired OR doing the same remote work with 2-3 layers of management extracting the difference in pay. At least in Poland I can't think of any single company I'd want to work for.

zokier
0 replies
8h21m

There is also the factor of the country receiving hard foreign currency, which I understand is generally quite desireable. This is less relevant for EU vs US compensation, but for more developing ("3rd world") nations could be significant.

angra_mainyu
0 replies
3h18m

This. I did the same while living in Eastern Europe + working remote for a US startup.

The amount of money I poured into the local economy is probably an order of magnitude higher (maybe even 2) than if I had worked for a local company.

mordae
0 replies
8h46m

But the money stay in the country and increase the chance that the employee eventually starts their own business, possibly using the cheaper workforce as an advantage.

mitthrowaway2
0 replies
9m

If they don't have to move countries, it's not really brain drain at all. It's exactly the opposite in fact.

If they did have to move, then they would, and you'd have brain drain. But because they can remain in their communities (while earning the globally-competitive income that they would otherwise have to move for), they now pay taxes to their local government, buy from local businesses, mentor local youth, and so on. When they've earned enough money from their job, they may quit and start a startup in their own community, or become an angel investor supporting startups in their area, rather than yet another bay-area based fund. These are all good things!

nitwit005
7 replies
8h48m

Assuming you actually can hire the best people, and somehow do so in an affordable manner when half the planet applies, that's a great strategy.

But I'd expect a very low number of firms to succeed at that.

hiAndrewQuinn
6 replies
8h39m

Now see that's an interesting problem space to be in. Keen eye.

To me it seems like a really exciting place to apply recent innovations in LLMs. If LLMs can chew through thousand page legal binders like toilet paper, there's no reason they can't chew through a thousand 1-page resumes and spit out "These are the ten most promising ones based off of our statistical analysis." Firms can specialize in the production, hosting and fine tuning of these LLMs, and even play both sides of the market by allowing candidates to see how good their resume looks for a given job description.

I think this is much likely to become a lot more common in the latter half of the 2020s.

__loam
1 replies
7h57m

Yes lets make applying to jobs even more of an algorithmic hellscape.

bigstrat2003
0 replies
1h33m

Whether or not it is pleasant for the applicants, it'll happen if it provides a benefit for the companies. They don't care about the applicant experience because they have no incentive to.

valzam
0 replies
8h6m

And then you try to look at the top 3 candidates and realise the LLM hallucianted them all

notpachet
0 replies
3h15m

The flipside of this is that there will be an asymmetric advantage available to firms that are capable of finding excellent candidates that fall into the ML blind spots.

marcinzm
0 replies
6h29m

Resumes are candidate controlled which inherently makes them useless once social rules on lying too much break down.

Draiken
0 replies
6h30m

This is the dystopian future that is likely already happening. Slowly but surely we will lose control over our own labor. As the name implies, we're just human resources.

IshKebab
3 replies
8h43m

Yeah those companies don't exist because they would be wasting money. Salary isn't "location based", it's "competitive salary based". It just happens that competitive salaries strongly depend on location.

If you were to forget about location and just say "we'll negotiate all salaries" then you would end with exactly the same result because people in NL are willing to work for much lower salaries than people in SF.

I don't get why so many smart programmers don't understand this basic fact of economics. Eh maybe they do understand it and are just jealous of insane SF salaries (I certainly am!).

I would be wary of demanding equal pay by location anyway because you'll end up with all jobs moving to India.

nickjj
0 replies
5h9m

Yeah those companies don't exist because they would be wasting money.

Basecamp has been around for 20+ years and they publicly mention that they hire based on SF rates, not even SF but the top 10% of SF[0] for positions around the world.

[0]: https://signalvnoise.com/svn3/minimum-pay-at-basecamp-is-now...

SOLAR_FIELDS
0 replies
7h54m

Those companies do exist. I can confirm specifically that at least when I had an offer from Supabase they paid everyone, internationally, regardless of location, the same pay bands. Being USA based it was one of the reasons that I turned down the offer because I was able to get a much higher salary elsewhere but it would have been extremely competitive had I taken the role and moved to some place like Vietnam.

I wish I could have taken the Supabase role because it was definitely my top pick otherwise. One look at the output and caliber of people they hire also indicates that they have little issue finding talent.

FWIW this was a couple of years ago and I have no idea whether they are still doing this equal pay band thing or not. But they were doing it for awhile at least

Draiken
0 replies
6h4m

The fact is that location is irrelevant for some roles. If you are looking for top talent, you'll pay top talent value. If you constrain your hiring to a single location, you're simply reducing your own pool of candidates.

Today, most labor arrangements are more and more like companies. If you were to select top companies to contract for some job that doesn't really care about location, you wouldn't be choosing companies based on that. You'd choose based on how good they are.

It's the difference between trying to buy the cheapest versus buying the best. Of course if you're always looking for the cheapest, you'll always move towards overseas jobs. But if you're looking for the best, you can get the best from all over the world by offering a single solid compensation package.

It's all a transaction, isn't it? At the end of the day my labor is worth however much I can get for it.

Sure, you could squeeze even more profit by paying overseas workers less, but then you create all sorts of imbalances that can and will hurt your business in the long run.

I always joke that if you want to hire me (I am not from the US) and pay 50-60% less just because I live here, why wouldn't I work 50-60% less?

You're getting the 1% of a lower income country, for an average local developer salary. If you want the 1% of SF you'll have to pay a lot more, even if they are equivalent in the value they provide. The company still wins, and as a result you get happier employees.

You can always cheap out, but it's never without consequences.

goodpoint
2 replies
8h53m

Where are all those companies? TFA mentions "oxide.computer" but they actually hire people only in US with very rare exceptions.

steveklabnik
0 replies
7h3m

To be clear: we don’t only hire in the US. We have employees in at least the US, Canada, and Europe at the moment.

We do want some overlap in working hours with the US, so it is true that we cannot realistically hire anywhere just yet, but not being in the US is not a dealbreaker.

purrcat259
0 replies
8h45m

Hotjar used to do this, with a heavy bias for EMEA timezone overlap.

vanviegen
1 replies
8h40m

Indeed. I don't understand why a remote company would want to pay top dollar for a mediocre developer living in the US, while refusing to pay the same for an exceptional developer living somewhere else.

xboxnolifes
0 replies
8h32m

Because of marginal returns on applicant motivation. A $200,000 position sounds great to a person expecting $150,000. $200,000 also sounds amazing to someone expecting $40,000. But, the same person expecting $40,000 will also be amazed by a $100,000 position, and certainly not half as amazed as the $200,000 one.

marcinzm
0 replies
6h25m

The issue I see is that software engineering is a team sport. Having a bunch of intelligent driven people doesn't mean they will together act like an intelligent driven group. Work cultures differ greatly between countries including in some subtle unconscious ways. Even Western Europe versus the USA have a very different dynamic in terms of how ICs and managers interact with one another.

jacquesm
0 replies
6h38m

If that means you also get US level working conditions and job security that can be a net negative.

ghaff
0 replies
12m

A smaller company can do it. The post links to a post by Bryan at Oxide Computer. The salary scheme for the generally senior people they hire is quite egalitarian. It's also pretty modest by senior-level Bay Area (and even many other locations) standards.

concordDance
0 replies
3h45m

you reap the benefits by having a much, much larger pool of applications and talent to sift through

Interviewing/hiring is incredibly noisy though. If SF engineers have a much higher average skill than the rest of the world then you might still end up with better people if you just hire from SF rather than the world in general, even if the latter has a much wider pool with more top people in absolute numbers.

bluesign
0 replies
8h39m

This may work if you are only hiring senior people, but imagine hiring some mid level or junior employee. if US junior salary is Poland senior salary, would you willing to hire the senior dev from Poland to junior position ?

foofie
14 replies
9h3m

you're asking for SF salaries, and those in India are asking for NL salaries(or SF salaries)

No. You got it all wrong.

You're asking for equal pay for equal work. If all your team members are paid in full but you, in spite of doing the exact same work, are paid a fraction of what they are paid, then something is terribly off.

Your contribution to your team does not depend on where you're currently located. How much time you waste on commute does not change the expectation placed on your output. If your office location is prohibitively expensive that means your company needs to sort their mess and work on a location that's more affordable. It makes no sense that you need to subsidize your employer's bad office location.

intothemild
6 replies
8h22m

The problem with this line of thinking is that cost of living is the same everywhere. It is not.

tock
4 replies
8h6m

Why does it matter? Salaries should depend on the value you deliver. I don't think companies limit their profits depending on the location. Apple devices are often more expensive outside the US.

mejutoco
1 replies
6h59m

While I can empathize with this, this is a moral judgement. Price is not determined by fairness, but by offer and demand (and other factors). Otherwise teachers might earn more than football players. I think one could argue they should.

tock
0 replies
5h13m

I agree. It's just supply and demand. I just disagree with people saying salaries are somehow pegged to living standards. No it isn't. Companies don't care about your living standards. They pay what the market commands thats all.

intothemild
1 replies
5h53m

Whilst we all want SF wages, those wages are because housing and cost of living in SF are exceptionally high compared to say Bali.

So you want to earn 200,000 USD. Whilst living in a part of the world where that effectively places you in the top 1% of earners.

You're only looking at this from that angle. What about the person who's living in SF, and scrapes by paycheck to paycheck. Whilst you live in a much cheaper area to live in, and you have a very different financial situation. Your both paid the same wage.. because "fairness".

You might say, "JUST MOVE". But do you think that's a fair thing to tell someone?

Sure people move to places like SF, but people do that for more than money, they do it for a variety of reasons. And one of them is that there's a lot of demand in that area for your talents. So if you wanted to change jobs, grow your career, etc.. you can. But that area has a higher cost of living.

You sacrifice some of those things when you move to the small country town, there's no tech hub. No meetups, nothing.

So do you think it's still fair to say to that person "Hey I know you're living hard... But at least you can spend that little money you have left on public transport getting to a meetup!". Whilst the person living in the middle of nowhere can afford first class.

tock
0 replies
5h0m

I get what you are trying to say. I'm one of those people who makes that kind of money in a cheap country. I'm just saying its fair from a value delivered perspective. Paying you less doesn't mean the company donates the money saved to a charity. It just goes to the companies balance sheet. I've had plenty of arguments with company exec's about this:

1. its not fair you get to live like a king! -> would you move here to live like "a king"? Oh you don't want to deal with the pollution and the bureaucracy and lack of safety. Ok. Ah so there is a cost I am paying by living in a bad country.

2. paying you SF salaries would be unfair to people living around you -> ok so you would be ok paying that extra amount directly to a charity right? Oh ok you aren't.

I'm saying it's only fair for a employee to think they should be paid proportional to the value delivered. Companies exist to make more money. This causes a clash. In my last company the CEO specifically wouldn't hire staff engineers from cheap countries because he didn't want to give the other engineers the idea that they too can command higher wages.

Just pay people the same amount and let them decide how to live their lives. They are adults.

foofie
0 replies
5h25m

The problem with this line of thinking is that cost of living is the same everywhere. It is not.

I don't understand what point you think you're making. My disposable income is not my employer's business, and I definitely do not live below my means to subsidize my employer's business.

You wanted me to do my work in exchange for my salary. Pay me. Don't think for a minute you are entitled to go through my grocery bill to see if you impose pay cuts.

DeathArrow
6 replies
7h47m

You're asking for equal pay for equal work.

Equal pay for equal work doesn't mean the same pay. It means that an employee from Bay Area, one from Netherlands and one from India are able to buy the same amount of goods on their local markets from their wage.

lazyasciiart
4 replies
7h32m

Remember that all of those local markets sell iPhones at a higher cost in USD than the Bay Area. Exactly which goods should they be able to buy the same amount of?

intothemild
1 replies
5h45m

Remember that all of those local markets sell iPhones at a higher cost in USD than the Bay Area.

You're literally arguing that every area has different economics. But also failing to also understand that every area has different economics.

iPhones don't keep you warm at night.

lazyasciiart
0 replies
43m

I’m literally not.

marcinzm
0 replies
6h24m

A roof over their heads for one.

Biganon
0 replies
6h6m

Rent, obviously

Of course a Bay Area employee needs to be paid more, their rent is insanely higher than the rent of employees in the NL

yawgmoth
0 replies
5h37m

But money is portable, and Local market means a different thing than it did pre-pandemic.

The argument that local cost of living is the only factor falls apart when people are moving from high CoL markets to low CoL markets with their advantaged savings. Especially within a nation, or times of large movement (again, pandemic - where folks with higher CoL wages were better positioned to acquire prime real estate in lower CoL markets).

gbil
9 replies
9h42m

Big discussion, let me touch another point

It doesn't matter whether you're paying somebody in the Bay Area $100 000 per year, or somebody in the Philippines, because the cost for you as a business is the same.

The cost for you as business is NOT the same. Start from the taxes part, that 100k is what the employee gets but the cost for the business is higher depending on the country/area because they also pay tax on top, social benefits etc. Also need to have in many cases a local business, doesn't matter if that is virtual etc, since they need to adhere to local laws thus having resources supporting that etc.

So while I'm on the employee side here as I'm also working on a multinational coorp with global role yet paid with local standards, there is more than meets the eye

mjr00
5 replies
9h29m

yep. People vastly underestimate how difficult the logistics of "pay an employee for services" can be, particularly when you don't have a legal corporate presence in the country where the employee resides. There are services that handle this for you and they charge a 30-40% premium on top of the employee's salary. And sometimes this is still worth it, because many countries charge an absolutely obscene incorporation fee for foreign-owned businesses.

bmitc
2 replies
8h13m

People vastly underestimate how difficult the logistics of "pay an employee for services" can be

That's the company's problem.

skrebbel
0 replies
7h50m

It’s not. If I have to pay some service or agency a lot of money to be able to employ you, there’s less money left to pay you. Employers at distributed companies don’t look at your take-home salary, they look at the total cost to employ you. Fees and taxes differ wildly per country, there’s no other way to compare. So if a large % of that total cost goes to middle men, then that makes you a more costly employee at no benefit to either you or the company.

If I’m considering two people for a job but one is in a place where paying them well means I spend a huge amount on fees (or “employer-side taxes” for that matter, looking at you Austria), I might well choose the other.

MattPalmer1086
0 replies
7h49m

Yep, and they choose not to have it unless there's some compelling reason to. We've got staff in many countries, but it's not a blanket "work from wherever you like".

skrebbel
0 replies
7h53m

Fwiw companies like Remote and Deel charge a fixed fee of substantially less than 30-40%. IIRC we pay about 600 euros per employee per month to Remote. That’s a lot of money that I’d rather give to the employees themselves, but it’s much much less than 30-40%.

mejutoco
0 replies
7h10m

Having a freelancer registered in another country paid is not as complicated as people make it to be (pay an employee for services). As contractors.

The complication is the company prefers to work in one/a few jurisdictions only and have "proper" employees. It simplifies a lot for the company.

sitharus
2 replies
9h13m

so why not set a “total remuneration package” as it’s known where I live. It’s the total value, inclusive of compulsory payroll deductions and taxes, and set the salary to match that. The cost to the company is the same, but your take-home depends on where you live.

em-bee
1 replies
9h7m

in many areas salaries must be specified as the take-home part (including the taxes you pay as employee, but not including the part that the employers pay, which is not part of your remuneration), because doing otherwise would be confusing and could be considered deceptive.

Solvency
0 replies
49m

Why is this downvoted? What's wrong about it?

em-bee
2 replies
9h11m

in general i agree, but the problem with location based salaries is that they are working for locals, but not for expats. expats everywhere have higher living costs than locals, in part because they will get more expensive housing that is more up to the standard they are used to, and they also may have kids that they can't or don't want to send to a local school, and they will buy more imported food that they are used from home.

when i looked at their salariy calculator i figured that i could not live on the salary they would offer for my location. school costs alone for each child are as much as i pay for rent.

lazyasciiart
1 replies
7h22m

Why is that a problem?

em-bee
0 replies
6h49m

it's a problem because it means that many expats can't work for gitlab because they can't afford to live on that salary.

if i am working for gitlab in my home country, i can't move into the home country of my wife because my salary would be reduced below what we need to live there

dilipdasilva
1 replies
4h41m

Salaries are based on the market economy of supply and demand. Salaries for a specific role are different in one location over another because that is what the market is in each location.

If you want developer salaries to be the same in all locations for the same level of work for reasons of fairness and anti-discrimination, you should ask why salaries of developers are higher or lower than other roles. Developers get paid highly because of supply and demand. Why not advocate for all workers, regardless of role, be paid the same - this would also be fair and anti-discriminatory. It seems we want to benefit from the market economy on one side and then want fairness on the other side. The logical conclusion of this kind of reasoning is communism where all workers at a company are paid the same, regardless of role. We know how that worked out.

If all developers, regardless of location, were paid the same, companies would much rather hire all their developers in a single location. Why bother hiring in locations far away? Jobs would have never flowed out of high paying locations to lower paying locations.

The Bay Area has the highest salaries because Silicon Valley has had many years to develop and the vast majority of tech companies are based in the Bay Area. Many companies are started in the Bay Area because people who work together in one company often break off and start another company. Many people at these successful companies have become wealthy and this has driven up home prices. This has made the Bay Area one of the most expensive places to live. Other workers cannot afford to live in the Bay Area and so there is a shortage of labor. This drives up the cost of every thing, including restaurants, groceries, and personal services. If the Bay Area does not add substantial housing, it will continue to see companies move to other metros.

In the US, salaries are different based on metro and state and are based on the market economy. Companies move to offices to particular metros if they is a healthy supply of workers and supply is greater than demand so that it is more cost effective. This location competition is healthy.

The role of any government, whether it is metro, state or country, is to create thriving economies so people want to move to that location. This means investing in critical mass in particular industries so many companies in that industry want to locate there. It also means ensuring other costs are low. In the US, health care insurance cost between $24k and $36k/year for anyone with a family. This is higher than the full salary in other countries. If the US does not figure out how to solve its health care costs, it will continue to see jobs leave for lower cost locations.

andrewaylett
0 replies
2h47m

Supply and demand, yes, and when jobs are tied to locations the demand is concentrated. So supply needs to move to where the demand is, or face a lack of demand and lower prices. If the demand is willing to disregard geography, their supply will be that much greater.

With fully-remote working, the demand isn't as concentrated, so supply need not be as concentrated either.

As someone not currently living in the Bay Area, or London, or another tech hub, I'm quite happy not to be paying the cost of living there. And honestly I don't think it's fair that people who live there should be better compensated just because they decide to live somewhere expensive. But I understand why it happens, because when companies hire specifically in a tech hub there are lots of people willing to work with them but only if their pay is higher. It's a vicious circle for employers, a virtuous circle for employees, and only sustainable for as long as productivity remains above cost. It's not built on a stable economic foundation.

I don't want to accept lower pay for the same job, which may mean that I don't work for those companies. That's the market at work :). On the other hand, if a company wants to employ folk to be physically present in London, they're not going to want to employ me. While if a company is willing to pay the same to everyone, they'll get fewer people in London and more people outside London, and they might even be the same people just dropping their commute :).

There's enough global demand for Software Engineering to drag everyone up. It is universally the case that if you pay peanuts you'll get monkeys, but paying an equal wage for equal work benefits the company and wider society and I don't particularly care if that's lower than I might get if I was willing to work in London (or the Bay Area), so long as I'm not required to work in London (or the Bay Area).

xiaq
0 replies
9h15m

The approach taken by Igalia (a co-op) is quite interesting: https://wingolog.org/archives/2013/06/25/time-for-money. Basically they target equal pay but adjust it for cost of living, rather than cost of hiring.

tkiolp4
0 replies
7h19m

By that logic, the only one who wins is the company. I would like to believe that most of us, employees, want what’s best for us, employees.

If company X was paying N for a SF engineer, and suddenly it finds out that it can pay N/2 for an engineer that’s as good as the SF one (but lives, let’s say, in Mexico)… well, jackpot for company X.

stavros
0 replies
9h9m

If I work for you, and you're willing to double my salary to subsidize my moving to an area that has wildly more opportunities for me (which is precisely why the salary is higher there), don't mind if I do move there.

You just need to ask yourself if offering incentives to get your employees to move to hot job markets is in your benefit.

northern-lights
0 replies
9h3m

Same here. The reality is that what company chooses to pay is the minimal amount they can get a candidate to accept for that location.

If the candidate had other better offers, then they can either reject the offer or propose a higher counter-offer. If the company received a counter-offer and chose to accept it, then this amount becomes the new minimal amount.

Over a period of time, if there are enough counter-offers (or rejections), this continues to increase. Since, the two (or however many) locations don't necessarily have the same demand or supply, it's inevitable that some location will end up with much higher compensation than others. It's the nature of free market and why some companies engage/d in hiring collusion (see https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L...)

nickjj
0 replies
5h15m

Everyone wants a SF salary with an Indiana or even India cost of living. For obvious reasons, that can't work.

Why should someone living in Indiana make less money than someone living in NYC for a remote tech job?

Both are located in the US separated by a 2 hour flight. Both are in the same timezone too. For a remote company where you have employees spread around the US, there's no difference to anything here.

manmal
0 replies
9h8m

If you won't move, there's likely a reason why

Kids would have to leave school and all their friends behind, wife hasn’t finished education here - there’s those reasons as well.

intellectronica
0 replies
7h39m

There are two ways to evaluate salaries / compensation packages: 1. What is your price in the market? 2. How much money do you need to be able to focus on your work and not worry about money. Most companies use a mix of both approaches, depending on the role and the individual. For most employees, the second perspective makes for a better experience. As long as you get enough each month to make the money problem a non-issue, you get to focus on the work itself, which can be a very positive experience. Some people (or the same people at different phases of their lives) want to optimise for getting the highest price they can get in the market. That's a valid choice, but one that in many cases results in a suboptimal work experience.

chrisco255
0 replies
8h57m

This suggests that cost of living in SF is the cause of high salaries but in fact the only reason SF/Bay Area has high cost of living is because of the high concentration of highly capital efficient businesses with strong skilled labor demand coupled with the complete unwillingness to build high rise density most places in the Valley area. I know quite a few people who make SF level salaries working remote in random states across the country. Of course it can work. And SF should not get too cocky. Detroit used to be the Motor City, Music City, and a cultural and technological force in the world, but then its core competencies got disrupted by cheaper, more efficient labor elsewhere.

bmitc
0 replies
8h16m

For obvious reasons, that can't work.

Why is that? It isn't obvious to me. It seems like an excuse companies use to pay people less, especially if the company is based in a high-paying city.

Scarblac
0 replies
9h28m

Yes, the result would be that they wouldn't have any employees in the Netherlands, let alone in the Bay area.

MikusR
0 replies
7h30m

If they also don't have regional pricing then it's discriminatory.

DeathArrow
0 replies
8h9m

Everyone wants a SF salary with an Indiana or even India cost of living. For obvious reasons, that can't work.

For some lucky people that does work.

deng
71 replies
6h31m

Think about it: if a company pays a person less because of the color of their skin or their gender, the company would be in big trouble. But somehow it's OK to pay a person less based on their location?

I'd suggest the author thinks yet a bit more about this. "color of the skin", "gender", "location of living", I'm sure the author can figure out what differentiates the first two from the latter. For a start, one could think about which of these things one is able to change. Or you might ask the question: which of these things have actually something to do with my job? And yes, location matters: the company usually needs to create a subsidiary in the country of the employee, get familiar with their judicial and tax system, then there's also the issue of time zones, travel cost to company meetings, etc.

Don't get me wrong: one can surely discuss whether differentiating pay based on location is OK or not. However, comparing this to discrimination because of skin color or gender will not help this discussion at all, as in effect the author is comparing GitLab to a racist and sexist organization, which will end any discussion fairly quickly.

heresie-dabord
17 replies
3h4m

From TFA:

my salary was around €120 000 per year [...] For The Netherlands this is a good salary, and you'll have a hard time finding companies that offer better and let you work from home full time.

For his country, he was well paid and worked from home 100% as well.

But if I had instead lived in the Bay Area, I would've earned at least twice that amount, possibly even more. Not because I am somehow able to do my job better in the Bay Area, or because of any other valid reason for that matter, but because I would be living in the Bay Area instead of in The Netherlands.

He says it was "not fair" that he wasn't paid the same salary as people in a different country.

There are no Victim Points to be scored here.

The author has a poor understanding of economics.

dangus
6 replies
2h26m

Not paying location-based salary is arguably more unfair.

If you pay the global median salary to everyone, people in high cost areas are screwed and you’ll never be able to recruit there.

If you pay everyone in your company the highest salary, people in low cost areas live like kings while their peers in high cost areas live a more modest lifestyle.

As a company you’re not out to solve global inequity, you’re out to hire good talent effectively and efficiently. Like leaving a 40% tip at a restaurant, overpaying the going rate on salary doesn’t really get you anything but feel goods at a certain point.

atomicnumber3
3 replies
1h54m

What about having a family? If you pay everyone the same, those living alone or with a partner will live like kings while those with children will live much more modestly. Oh wait, we get 2k in tax credits per kid. I forgot that one is all good.

My point is, people are going to have different lifestyles that cost different amounts and give them different benefits. Companies should fuck off pretending they care about fairness or cost of living. Just call it what it is - competition-based pay. You pay someone in SF more because you are forced to by market conditions, and if you could, you would pay them less, with zero concern for their rent or mortgage. And since you CAN pay someone in Kansas City much less, they do.

We've already seen the prevalence of remote work change the equation. Many places now pay SF 110% and everyone else in the US 100%. The COL difference between SF and KC is not that 10 percentage points. Nor could you compensate someone for the discomforts - both political and meteorological- of having to live in Missouri, who God himself has abandoned.

rad_gruchalski
2 replies
1h46m

Oh wait, we get 2k in tax credits per kid

The guy who doesn’t have kids paid it indirectly in his social contributions. The next guy next to him too. And the next guy. And so on.

Fire-Dragon-DoL
1 replies
1h27m

I think their point was that 2k is a joke considering how expensive a child is

rad_gruchalski
0 replies
24m

Should it be more? Surely something one can think of when planning a child (or more)?

kmac_
0 replies
2h6m

Actually, a company's attitude toward this problem has to be balanced. I live in a country where most international companies pay less than the US and even the EU average. The effect is quite easy to predict: they are not attractive to senior candidates (i.e., Nokia) and suffer from higher employee attrition (not right now, as the job market is pretty dead). I don't want to mention the effect on employee morale. Is it discrimination, as the author says? When you do exactly the same job in the same company, same department, same team, with the same output — then definitely it's discrimination. Does it encourage various xenophobic behaviors coming from better-earning employees - very rarely, but yes. Is it legal? — Yes.

adolph
0 replies
2h13m

People living in high cost areas have chosen that.

It’s kind of like parking. If employees don’t pay for parking then an employer is subsidizing car driving over other options.

username332211
4 replies
2h32m

The author has a poor understanding of economics.

Does he or does the company? If they had decent understanding of economics, they should have shut down their Bay Area operations?

comprev
2 replies
2h2m

Maybe because they have the budget to poach other Bay Area engineers?

immibis
1 replies
1h45m

Then why don't they poach similar engineers from the Netherlands and pay them half as much?

Aurornis
0 replies
1h4m

Did this argument just come full circle back to literally what GitLab is doing by paying engineers in the Netherlands less?

Regardless, it's silly to propose that engineers are interchangeable cogs in a machine and you can find perfectly identical talent anywhere. If that was true, companies would ignore all of these locations and skip straight to the cheapest country they could find.

But network effects matter, and hiring out of the Bay Area taps you into a different set of experience and networks than almost anywhere else in the world. I'm not suggesting that every Bay Area engineer is better than every Netherlands engineer, but the Bay Area talent pool really is unique and well connected in a way that's hard to find elsewhere.

Aurornis
0 replies
1h5m

Why would they? If they're getting more value out of the Bay Area employees than it costs them, why would they do it?

Employees aren't interchangeable cogs. It's funny how HN will complain about outsourcing and offshoring as doomed endeavors when they imagine their own jobs going to someone in a lower cost of living location. Any company that fires an expensive employee to replace them with a cheaper employee in a different location is making a huge mistake! Employees aren't interchangeable cogs!

Then as soon as the roles are reversed we're supposed to believe that the people in the more expensive location are easily replaceable. Any company that pays people differently is making a huge mistake! Employees are interchangeable cogs!

ctrw
1 replies
2h13m

Women get paid 70% of what men do. So any woman who wants to be paid the same as a man has a poor understand of economics.

seattle_spring
0 replies
46m

Debunked time and time again. The oft-quoted "70%" stat is referring to all men vs all women. Within the same job, the pay is much closer to 95%. Any difference is still worth understanding and closing, but there are plenty of pretty reasonable explanations for why a 5% pay disparity may exist between men and women.

armada651
1 replies
1h54m

The author has a poor understanding of economics.

Because as we all know the laws of economics are fair and just. Truly a business man who strictly follows the laws of economics would always compensate people fairly for their value delivered to the company.

In all seriousness, how does this make economic sense? The company is incentivizing that people move to areas with a high cost of living, but why exactly? What economic benefit does that bring to the company?

The only reason that's ever been explained to me is that the cost of competing for talent is higher in those areas than others. However someone's location is a poor indicator for talent potential, so why would you compete in high cost areas?

nemothekid
0 replies
51m

However someone's location is a poor indicator for talent potential?

No it's not? If this were true, then economic hubs wouldn't exist. If someone is talented in field it's likely they will move to an economic hub that has jobs for their talents. If I wanted to open a trading firm I'd likely find the most capable candidates in Chicago, because thats where most of the jobs are today. There are certainly capable hires in Idaho, but how much time should a company spend looking for a needles in haystacks?

k__
0 replies
1h40m

How come it's okay for a company to say they don't give me a raise for increased costs of living, but it's okay for a company to pay less, because I live in an area with lower costs of living?

tmsh
9 replies
4h28m

The main reason Silicon Valley or where-founded-high-cost-of-living companies hire in low cost of living locations is due to the value they get in paying less for compensation but getting proportionally more value than the lower compensation. Requiring that compensation be the same everywhere would simply incentivize companies to only hire locally since they’d improve communication (even if fully remote) due to offsites, same timezone etc. Esp., in an economy where there is a large supply of people wanting to be hired in HCOL locations.

That’s not to say this couldn’t change in the future (sometimes it’s good to ignore the current “how” and incentives / reality). But it’s useful to be realistic. There’s also something to be said for companies taking the risk and hiring in other countries. This increases knowledge (not to say the company is “better” but it probably has some reasons for why the local talent joins), sows the seeds for future companies there etc.

ozr
8 replies
2h40m

The (good) companies I've been at are location agnostic on pay, or close to it. It's not about getting a discount, it's about expanding the talent pool. We want the best we can get, not the best within 25 miles of a hub.

vitus
6 replies
2h21m

I see where you're coming from, but in practice offering location-agnostic salaries means you're not competitive in areas that command higher salaries (notably, large tech hubs like the Bay Area, Seattle, New York). If anything, you're trading the talent pool near those hubs (and let's be honest, the rest of the US) for talent in other countries.

That's a trade-off you might be willing to make, but I hope you understand that not every company is willing to write off the entire talent pool of the US.

(As a point of reference, the only two countries that Google pays comparably to even the cheapest parts of the US are Switzerland and Israel.)

toomuchtodo
2 replies
2h12m

Is there data showing the talent in those tech hubs is better than what you can find elsewhere? If not, what are you overpaying for? Landlord revenue?

vitus
1 replies
1h39m

You have bigger talent pools in the tech hubs, at the very least. And recent college graduates from top-tier institutions are most likely to either stay put (depending on the source, I saw 40-60%) or move to a hub, so you have a lot of untapped potential.

Talent being "better" is too subjective to really quantify, though.

Something like 15% of devs worldwide are in the US, so if you don't want to play ball, you're losing a nontrivial chunk of the total talent pool (even without accounting for timezone affinity or English fluency).

If you think paying market rate for a Bay Area dev is overpaying, are you exclusively hiring devs in Argentina (with the rapidly-devaluing peso)? You can get 10 devs for the price of one person based in SF! Even paying Amsterdam's market rate is drastically overpaying in comparison to the areas with the lowest cost of labor.

toomuchtodo
0 replies
1h26m

My experience is from a fully remote unicorn startup that hires globally. Not Gitlab. Have continued equity exposure and strongly believe in the remote first model as a differentiator. There is exceptional talent globally, but you must be intentional about finding it.

immibis
1 replies
1h42m

If you have the budget to hire someone from the Bay Area with a Bay Area salary, then you also have the budget to hire someone from Bumfuck Nowhere, with a Bay Area salary.

I agree with the other commentator who said: It's not stupid to pay a location-based salary, but please don't pretend it has anything to do with fairness. It's not about being fair - it's about the company trying to save money by getting a discount on employees when that discount is available.

vitus
0 replies
1h30m

I should emphasize that I'm not trying to comment on fairness, one way or another.

I'm pointing out that location-agnostic salaries are often trading one segment of the global talent pool for another, since what I've seen in practice is more like "everyone gets paid 80% of a Bay Area salary".

nucleardog
0 replies
1h6m

You don’t need to lose access to the entire US talent pool.

The company I work for paid high-mid US salaries before going remote. It has continued paying high-mid US salaries after going remote, just expanded to hiring from more locations.

So before we had access to the talent pool of one metro area in the US. Now we have access to the talent pool of all of the US besides a few very HCOL locations (which we didn’t have access to before anyway), and also most of the rest of the world. Our costs are the same as before, but hiring is easier and we can often get a higher caliber employee to fill an opening.

As the guy you replied to said—it was about expanding the talent pool, not about saving money.

Aurornis
0 replies
58m

We want the best we can get,

The hiring market is a market, though.

You're bidding on talent.

If you have an infinite budget you can just outbid everyone, everywhere and get whoever you want. Companies like like Netflix do something like this.

If you don't have an infinite budget, you have to start making compromises. You can try to pay everyone according to the highest possible local salary you might compete against, but now you're arbitrarily paying more than you need to everywhere else. Could be fine if you have unlimited budget, but most companies don't.

So you could try to set a median pay that's higher than the LCOL targets but lower than Bay Area salaries. Now you're attractive to some talent, but other people won't consider your company because it pays less than their alternatives.

Location-agnostic pay is one of those things that sounds great when your company has limitless money (or feels like they do, as in ZIRP), but most companies at scale realize that they're either missing out on certain talent pools or spending unnecessarily to acquire people.

In the case of GitLab, the author was making a great compensation for their location. If the author had zero knowledge that other employees were getting paid more, would they have even cared about their own compensation?

navane
6 replies
5h44m

And, which one has a historic asymmetric power balance.

We discriminate pay on job role, on job level, on performance. We discriminate on length (tank crew), eyesight (pilots). That is not Discrimination however, because it lacks a historic asymmetric power balance.

wenebego
5 replies
5h17m

What about western countries using cheap foreign labor? Seems like an asymmetric power balance to me

Tijdreiziger
1 replies
2h29m

A while ago there was a thread about cheap African labor, and some Africans showed up in the thread and explained that what we (westerners) consider ‘cheap’ is actually still a lot more than the local salaries, so it gives them a lot more social mobility.

surajrmal
0 replies
1h13m

No one pays based on cost of living. They pay based on what people it takes to hire a certain role in a given market. There is no point in making companies look good because they pay exceedingly well compared to the cost of living in some areas if the opposite is true in others.

Obviously there is some correlation with pay vs cost of living as it helps people determine what they are willing to accept, but it is not the primary mechanism companies are using.

Also companies who pay the same regardless of where you live are still not paying based on cost of living.

slickrick216
0 replies
3h28m

Western countries do that to each other and within themselves. Maybe it’s not the west or countries it’s people.

navane
0 replies
2h35m

That is a valid point, but the article compares Netherlands wages to US wages, these countries do not have a history of exploiting each other.

deng
0 replies
5h5m

That's actually a point worth discussing. Because here's one thing that should be obvious, but apparently many people are unaware of: if you work for a large, multi-national company, you are almost certainly affected by location-based pay. GitLab is not an outlier here, but well within the norm for a company that has subsidiaries in different countries.

The main difference with GitLab is that a) they are completely remote, b) they are called "GitLab" in every country instead of creating subsidiaries with different names, and c) they have made the "mistake" of making the payment differences entirely transparent. They were absolutely not forced to do that, but they did it nevertheless, and they should be applauded for that.

drubio
5 replies
2h0m

Conflating the three is easy, because instead of paying for delivered value, the company is doing arbitrage on location ( like it could do with gender, race or anything else)

All companies will take advantage of maximizing their profit or reducing cost, but it's a slippery slope once a subjective metric to determine value is used.

I for one live in a "low" CoL, but my AWS bill is just the same as a person in NY, SF or Geneva, should I also expect a discount because "my income is lower"? Or is it only fair to be billed equally, because the value all of us get is the.same ?

Turn the tables, if a dev in India, Romania or Mexico is delivering the same value as one in the US or UK should (s)he be paid any less ? Why ?

Aurornis
4 replies
1h52m

because instead of paying for delivered value,

This argument falls apart when you consider that some projects have zero or negative value. Developers who work on these projects still get paid and we obviously don’t have to write a check when we make a mistake that costs the company money. Nobody actually likes “delivered value” compensation except under hypothetical circumstances where they imagine it can only increase their pay.

The hiring market is a market. Supply and demand drives compensation.

Delivered value isn’t one of those forces driving supply and demand. It sets the maximum an employer can pay someone and still get an ROI, but that’s it.

Turn the tables, if a dev in India, Romania or Mexico is delivering the same value as one in the US or UK should (s)he be paid any less ? Why ?

Because it’s a job market and you’re bidding for candidates against their other options.

If you’re house shopping and you find an identical 3 bed, 3000 sq. ft. house in all of those markets, would you expect to bid the same for it? Of course not.

The sooner we accept the realities of job markets and supply and demand, the sooner this all makes sense.

yjftsjthsd-h
2 replies
1h19m

This argument falls apart when you consider that some projects have zero or negative value.

...Then why is the company running that project?

Aurornis
1 replies
1h9m

Are you really asking why companies take risks on new projects that might not work out? Or expecting that companies can perfectly predict which projects will succeed?

Look at it this way: What if the developers were only paid after the product broke even and starts "delivering value". You think you're going to get a lot of developers signing up to work on a new project that might only pay them if they stick with it for a few years and it succeeds due to reasons that include things out of their control (like sales cycles, market moves, etc.)?

topaz0
0 replies
47m

Replace "delivered value" with "expected delivered value" and the argument goes through mutatis mutandis. Of course there are uncertainties in the value of unrealized work, but the company is paying because they think the expected value of the work is higher than what they are paying in wages.

adolph
0 replies
1h3m

This argument falls apart when you consider that some projects have zero or negative value.

Null hypothesis would be that on average the null/negative value projects would be evenly distributed.

dijit
5 replies
6h20m

Thats a somewhat uncharitable interpretation.

As you are almost certainly aware, the majority of racial problems in the US boil down to the very simple fact that black people are on average of low socio-economic standing; and if there is one thing the US system is geared against its any person of low socioeconomic standing.

Put succinctly:

You might consider that its ok to pay differently based on if you’re in Los Angeles or Bryan, Ohio- but would you feel the same if pay was different depending on if you lived in Inglewood vs Santa Monica?

weebull
2 replies
5h19m

Inglewood and Santa Monica are close enough to require the same level of income in order to afford a certain standard of living. Sure the standards of living may not overlap much, but they are on the same scale.

That's not true of California and Ohio in general.

dijit
1 replies
4h56m

Regardless of Ohio or California: you're saying that companies should pay less based on the income of their neighbourhood and you don't agree that it will disproportionately affect people of colour.

Interesting perspective, I don’t think I agree though.

weebull
0 replies
4h14m

Not income of their neighbourhood, but the cost of living in their city/state. It needs to be a big enough region that a good job gives social mobility, but introducing California wages into Ohio would cause massive inflation there, driving normal people into poverty. At the same time nobody could live in LA on Ohio wages.

bbarnett
0 replies
6h13m

Thats a somewhat uncharitable interpretation.

No, it isn't. And you are trying to tie racial issues to pay issues via correlative methods, instead of causative.

Jaygles
0 replies
3h1m

The racial disparity situation in America (and all over the world) is complex enough a topic that it cannot be boiled down to such a simple explanation. I encourage you to research the various systemic challenges people of color have faced since they were forcibly relocated here such as redlining[0], loan discrimination[1] and examples of literal war crimes committed against black communities that have been swept under the rug for reasons[2].

[0] - https://www.marc.org/news/economy/history-racial-discriminat...

[1] - https://www.investopedia.com/the-history-of-lending-discrimi...

[2] - https://www.theguardian.com/us-news/2020/may/10/move-1985-bo...

intelVISA
4 replies
3h34m

There are corps who pay SF salary globally and reap the rewards, GitLab isn't really able to compete at that level imo.

mardifoufs
2 replies
3h22m

Can you name a few who are reaping rewards from doing that?

dijit
1 replies
3h19m

DuckduckGo, Accelbyte and Oxide.Computer are the ones I know of.

surajrmal
0 replies
1h29m

All of which pay low for the bay area.

mistymountains
0 replies
1h29m

My (biotech, mostly remote) company does this. They may not love it but they realize they have to hire from SF, Boston, NYC etc to get the best ML talent and people expect market salaries / don’t want to up and move if they don’t have to.

cedws
3 replies
2h22m

I'd suggest the author thinks yet a bit more about this. "color of the skin", "gender", "location of living", I'm sure the author can figure out what differentiates the first two from the latter.

I suppose what you're getting at is that you can't change your race or skin colour, but you can change your location. That isn't really the case if you're Ukrainian, or just from a country with a weak passport.

siva7
2 replies
2h15m

I guess OP was wrong in that some people really can't figure out what differentiates the first two from the latter. You can change your location even from a country with a weak passport but it won't be easy (like it won't be easy to get accepted into a top-tier university), but you still can't change color of skin no matter how hard you try.

pawelmurias
0 replies
2h4m

You can change the color of your skin a little bit by controlling sun exposure.

cedws
0 replies
1h25m

Michael Jackson did it.

boo-ga-ga
2 replies
51m

I think author gets many things wrong.

As for location, the motivation is stated here, and in my opinion, it really makes sense: https://handbook.gitlab.com/handbook/total-rewards/compensat... Imagine they would pay Bay Area salaries everywhere including Philippines or Ukraine. People there would be in "golden handcuffs" and burn out instead of changing job when it's time to go. This would produce terrible results for both the company and people. And of course, if they chose to pay some kind of world-median salaries, then they wouldn't hire people in California or London at all.

There are other controversial things said about product managers being unneeded, and that the company shouldn't have more than 100 developer for a product.

I think it's pretty clear that the author is a great autonomous engineer who would be happy and very successful in a (relatively) small startup. Maybe if not for the tax rule changes waiting, he would have left the company earlier, and would write a happy article about his experience there.

This gets us back to the location-based rates again by the way:). Imagine how difficult it would be for the author to leave the company if in addition to stocks, he would have had $300k compensation in Amsterdam.

imiric
0 replies
11m

Imagine they would pay Bay Area salaries everywhere including Philippines or Ukraine. People there would be in "golden handcuffs" and burn out instead of changing job when it's time to go.

You're saying that as if companies retaining employees is a bad thing. Stock options are already a form of widely used "golden handcuffs". If people want to keep working somewhere, compensation should only be one decisive factor among many others.

And of course, if they chose to pay some kind of world-median salaries, then they wouldn't hire people in California or London at all.

Why not? People in London or California would have to compete by the same criteria as people in Ukraine or the Philippines. This is only a good thing, as it opens up the talent pool to a global market.

The point of fair compensation is not about giving everyone the _same_ salary. It's about removing the location aspect from affecting compensation, and making it more of a merit-based system.

Especially for a remote-first company like Gitlab, where people are free to work from everywhere. It's ridiculous that employees are encouraged to live in countries with high compensation just to take advantage of this system, and are penalized against working from countries they actually want to live in.

Not to mention that it makes the lifestyle of a digital nomad much more complicated. What if I want to live 3 months in London, and 3 months in the Philippines? That kind of lifestyle would involve messy contractual changes and salary adjustments.

This system makes no sense, and is a remnant of traditional corporate structures. Of course companies love it, because they can get the same quality workforce by hiring internationally for much cheaper. Offshoring is an old corporate tactic, and needs to be abolished. It's shameful and hypocritical that remote-first companies like Gitlab still cling to it.

chrsig
0 replies
24m

People there would be in "golden handcuffs" and burn out instead of changing job when it's time to go

Good ol' "we can't pay you that much, because what if we wanted to stop paying you that much. It'd be bad for you if we handed you this pile of money, you might hurt yourself. We're helping you by keeping it to ourselves, trust us."

alberth
2 replies
3h45m

WFH / Remote

This is a direct consequence of people wanting WFM but not understanding the implications.

Going into an office gives employees pay leverage due to cost of living in that locale (assuming they live in a top pay market, SF/NYC/etc).

But if you have an entire Remote company & culture, now - companies can hire in any locale and pay lowest common denominator (even if that locale is half way around the world).

Remote work turns everyone into effectively an independent contractor competing against all other talent from all around the world.

In office means you’re mainly competing against other people in your locale.

chasd00
0 replies
2h10m

fortunately, wfh is widespread enough now that if a company doesn't want to pay you then you can take your skills elsewhere. If the talent pool is worldwide now then so are the employment opportunities.

angra_mainyu
0 replies
3h21m

Interestingly enough, none of the places I worked remotely for ever factored in CoL.

A senior dev got paid the same, be it in South Korea, Brazil, Romania or New York City.

angarg12
1 replies
1h24m

I've worked in 5 different countries in my life, and one lesson you learn quickly is that it's impossible to compare salaries between locations at face value.

For example, now I live in the US and although my salary is about twice what it was in England, my lifestyle remains about the same, worse in some aspects, and better in others. I'm almost certain OP lifestyle would have taken a hit living in Bay Area, even with a higher comp.

And this is simply comparing income, not accounting for many other variables (social benefits, taxes, culture...). In fact I'll probably take a big hit in comp to move back to Europe so that I can live a more comfortable lifestyle.

verst
0 replies
58m

I agree completely. This is what I always tell my family in Europe: Sure, my salary on the US West Coast may be high, but the lifestyle this affords me (while being reasonably future oriented in preparing for retirement, family planning etc) is almost certainly worse. (Not to mention cultural differences in attitudes towards work.) You can't assess salaries as someone who would temporarily work somewhere else and then export that money back to their home country. You have to view the salaries in the context of someone who will spend their life there.

RHSeeger
1 replies
47m

But somehow it's OK to pay a person less based on their location?

At the end of the day, it winds up being a choice between

- Pay someone based on their location - People in lower COL areas complain, but are (in theory) being paid an amount with the same buying power as someone in a higher COL area (being paid me) [1]

- Pay the same regardless of location - People lower COL areas are making more buying power, but people in higher COL won't even work for you; because it's not realistic to pay the higher COL amount to everyone [2]

There's no solution that makes everyone happy.

[1] Not really true, since it doesn't account for a lot of factors; such as retirement savings, etc.

[2] Not strictly true but, if you pay the higher COL amount to everyone, then you can hire fewer people for the same amount of money.

mitthrowaway2
0 replies
20m

I guess the question is, do you need people in high-COL areas to work for you? There's no shortage of developers in Arizona / Europe / Canada / etc, so why would companies like Gitlab spend so much money on bay-area devs? A corporation could save a lot of money by only hiring developers elsewhere who deliver similar work. And cutting labor costs does seem to be the operating mode that a lot of software companies are in at the moment.

rpastuszak
0 replies
4h50m

And yes, location matters: the company usually needs to create a subsidiary in the country of the employee, get familiar with their judicial and tax system, then there's also the issue of time zones, travel cost to company meetings, etc.

remote.com is a good counterexample here: https://remotecom.notion.site/Total-Rewards-Glossary-ec96c10...

location-based pay is (generally) a product of how much the employer can get away with rather than the operational cost etc...

ipaddr
0 replies
4h1m

In a world of free immigration that may be true but many are locked into a location because of where they were born

drewcoo
0 replies
2h39m

Where a person lives is indicative of their culture. And their unwillingness to move shows deep ties to family and friends. There is a clear difference in mental/emotional makeup with those willing to relocate at the drop of a hat.

Just because these traits are not protected by US law does not mean that they should not be valued. They are also traits of human diversity and discriminating based on those traits is still discrimination, just not discrimination against US-protected classes.

bruce343434
0 replies
2h8m

the company usually needs to create a subsidiary in the country of the employee, get familiar with their judicial and tax system, then there's also the issue of time zones, travel cost to company meetings, etc.

This is why women who want to get pregnant don't get hired in the USA (extra costs associated with postnatal (ETA: maternity) leave). And yet that's not okay. So your basic rule of thumb is not quite comprehensive.

angra_mainyu
0 replies
3h23m

And yes, location matters: the company usually needs to create a subsidiary in the country of the employee, get familiar with their judicial and tax system, then there's also the issue of time zones, travel cost to company meetings, etc.

B2B contracts are a thing. It's very common for many devs that work remotely for other companies.

There's also companies that offer something like "Payroll as a Service".

Still B2B is superior in every way, and can often net you much more money than just being an employee due to being able to leverage tax-optimizations.

cousin_it
39 replies
8h52m

So, he joined as employee #28 reporting directly to the CEO, then gradually more managers were slotted in above him, then one of the managers put him on a PEP, then he got the hint and left. I wanna say this story is pretty standard, and probably a big part of the reason why people in big companies often don't do great things.

Heck, even if you start a project within a company and it gets successful, the company can just slot in people above you, so you become employee #n in a project that you started, and then these people can say you underperform and so on.

spense
25 replies
8h43m

are you suggesting a better way?

nip
19 replies
8h35m

Management is mostly needed for two things [*]:

- Organising the work and steering it in the right direction

- Ensuring that people work well together, help them grow, deal with "people problems"

If and when both of the above is achieved without a person holding the title "Manager", you don't need them.

This can be achieved by hiring 51%ers for example [1] and by actively monitoring the health of your organisation.

[1] https://news.ycombinator.com/item?id=39333921

[1-1] https://www.amazon.com/Setting-Table-Transforming-Hospitalit...

[*] YMMV: the hardest problem in any organisation is the "people" aspect, there's no silver bullet.

EDIT: Added the link to my other comment about 51%ers

higeorge13
10 replies
8h30m

51%ers?

nip
7 replies
8h18m

I hope I'm not violating any copyrights – page 143 of Setting the Table from Danny Meyer [1]

To me, a 51 percenter has five core emotional skills. I’ve learned that we need to hire employees with these skills if we’re to be champions at the team sport of hospitality.They are:

1. Optimistic warmth (genuine kindness, thoughtfulness, and a sense that the glass is always at least half full)

2. Intelligence (not just “smarts” but rather an insatiable curiosity to learn for the sake of learning)

3. Work ethic (a natural tendency to do something as well as it can possibly be done)

4. Empathy (an awareness of, care for, and connection to how others feel and how your actions make others feel)

5. Self-awareness and integrity (an understanding of what makes you tick and a natural inclination to be accountable for doing the right thing with honesty and superb judgment)

[1] https://www.amazon.com/Setting-Table-Transforming-Hospitalit...

mavamaarten
3 replies
7h55m

Sounds like a combination of open doors and corporate mumbo jumbo to me.

nip
1 replies
7h35m

I'm sorry you feel that way

This description helped me put words on the type of people I enjoy working with

eddyg
0 replies
5h20m

Exactly! I’ve never been able to express a succinct list of why some teams and/or companies feel better than others, but “51%ers” explains it perfectly.

DANmode
0 replies
6h55m

Not a manager, right?

lazyasciiart
1 replies
7h43m

For future reference, you are certainly not violating US copyright law, because quoting a few sentences from a book falls under fair use. https://en.wikipedia.org/wiki/Fair_use

nip
0 replies
7h34m

Thank you!

That's why I love HN so much: a helpful answer with a source to boot!

nightlyherb
0 replies
6h19m

I was curious why the author decided to call them "51 percenters." A google search of the term suggests that the skills of this group of employees are divided by 51% hospitality and 49% technical excellence. Please feel free to correct me if there is anything wrong in my interpretation.

mkl
1 replies
6h44m

https://duckduckgo.com/?t=ffab&q=51+percenter&ia=web

Someone "whose skills are divided 51-49 between emotional hospitality and technical excellence" [1]. Seems quite bizarre to me to define it so precisely. Even if skills were measurable in such a way, how many people will be exactly 51% emotional hospitality, and why is 52% or 50% not suitable?

[1] https://www.nrn.com/corporate/meyer-51-percenters-have-five-...

chasd00
0 replies
1h29m

i think the implication is if a 51%'er has to decide between technical excellence and emotional hospitality then, all other things equal, they will use emotional hospitality since that's the majority of their skills (51%). It sounds like preferring to hold a hand vs rejecting incompetence. I don't really agree, i get not being jerk is important but i would flip it to 51% technical excellence 49% emotional hospitality.

The_Colonel
2 replies
7h0m

That's what I like about "agile roles" like Product Owner or Scrum Master, they take a slice of traditional manager's responsibilities, but they don't have any reporting authority over other workers. My EM has like 30 direct reports and it works fine because he doesn't really have anything to do with our day to day work.

xorcist
0 replies
5h37m

Those semi-managerial roles are the biggest problem with that model, in my opinion. Sure, it works as long as everything is peachy. But as soon as there are any real conflicts of interest, it will show who is the real manager. And it's not the product owner or scrum master.

With authority comes responsibility for your actions. Without responsibility, no authority. The product manager is a manager in name only, and product owner even less so.

That doesn't mean you can't have several direct reports. The classic matrix organization for example. But it means semi-managers without real responsibility have no real mandate for doing a good job at the slightest hint of trouble.

higeorge13
0 replies
6h16m

30 direct reports? And doesn’t have to do anything with your day to day job?

So what is his job then?

soneca
1 replies
8h15m

What is a 51%er?

nip
0 replies
8h14m

I updated my comment once I was home (and able to get the exact definition from the book):

https://news.ycombinator.com/item?id=39333921

isbvhodnvemrwvn
1 replies
8h28m

Do you have any practical experience with companies running as it's described in this motivational book?

Many of those books are selling well because they are well written and say exactly what reader thinks might work, but if you ask anyone else who worked with the author, the reality can be quite different.

nip
0 replies
8h22m

Do you have any practical experience with companies running as it's described in this motivational book?

I do not have experience running it at a company level, but at a team level (I have been an engineering lead in two companies for the last 6 years).

From all the books I've read (I read a lot), this is the one that was most "spot-on" about treating other humans and making them feel valued and therefore building a team with strong bonds.

Many of those books are selling well because they are well written and say exactly what reader thinks might work, but if you ask anyone else who worked with the author, the reality can be quite different.

Absolutely agree.

In my experience I resonate most with any books when I have already, unbeknownst to me, been applying what they preach (which has been the case with Setting the table that I'm currently in the process of finishing).

I believe that it requires a lot of introspection to be able to apply new knowledge (ie, if you haven't thought about it or experienced it before reading about it)

EDIT: formatting

eddyg
0 replies
5h25m

Thanks so much for the “51%ers” reference!

That list of “skills” is spot on. I also especially like his use of the term “skunking” to describe how somebody’s personal opinions/problems/issues impact the rest of the team. “51%ers” are exactly the kind of people I want to work with.

itronitron
4 replies
6h50m

A better approach is to have separate career tracks for 'people' managers and 'project' managers.

People managers do the performance evaluations and various HR administrative tasks (signing time cards, hiring, firing, etc.) but they rely on feedback from their group which are both individual contributors and project managers.

Project managers lead the projects and have to select/attract the right combination of individual contributors to their project if they want it to succeed.

A project that 'gets more management' will usually have to justify the addition of PMs from a cost-benefit perspective. And a project that is overburdened with management types will usually see the ICs migrate to other projects in order to improve their impact.

All this happens organically, so individual contributors are empowered instead of being disenfranchised through organizational changes.

marcinzm
3 replies
6h35m

That sounds like basically matrix management which has many well documented issues. The biggest one in my experience is that the people managers need to be themselves judged on some rubric. If that rubric is success of projects then it tangentially aligns with business goals. If it's something else or they don't have power over projects then they are encouraged to play constant politics.

itronitron
2 replies
6h20m

The general rubric should be that their group is performing well. Depending on the organization that could mean a number of different things.

> If it's something else or they don't have power over projects then they are encouraged to play constant politics.

Why would they need to play constant politics if they don't have power over projects? Not everyone is motivated by the same things.

marcinzm
1 replies
5h17m

Why would they need to play constant politics if they don't have power over projects? Not everyone is motivated by the same things.

They do have power over the projects. Being able to PIP someone is power over everything that person does including which projects they work on. Including which projects no one works on. Except it's not their direct power which means to leverage it they need to play politics. Adding layers doesn't remove that power but simply increases the amount of politics they play to make up for it.

itronitron
0 replies
2h42m

The goal with the matrix management is to distribute the risk. If your people manager puts you on a PIP then at least your project managers will have some ability to push back on that.

But there is no good reason for the People manager to care anything about what projects have people working on them. If they start to care about which projects are successful instead of all projects are successful then they're not a good fit for the job. And yes I have experienced that, as well as it's opposite.

mawadev
3 replies
8h26m

I have that at the current company I work at. Some manager started a successful project with me and the management is too greedy and busy trying to replace me and the manager by bringing in politics, social dilemma and putting layers of management between everyone. Truly a sad state to be in. I learned my lesson as to why you should never truly care about what you do at work. Feels like the project will rather go belly up and disintegrate because of that.

slickrick216
0 replies
3h23m

You should care about the work you do. Just remember who you are doing it for. They own the work they being the company. If the company wants to reward incompetent kleptocrats then I salute them as long as I get PAID the second they stops happening they can with the greatest of respect get f’d. then you just take your trade and apply it somewhere else having learned expensive lessons they paid for about what worked.

loloquwowndueo
0 replies
6h25m

Why haven’t you moved on?

flir
0 replies
6h20m

Not my circus, not my monkeys.

Words to live by.

Aurornis
3 replies
2h0m

Heck, even if you start a project within a company and it gets successful, the company can just slot in people above you, so you become employee #n in a project that you started, and then these people can say you underperform and so on.m

The trouble with these stories is that they’re n=1 anecdotes and we only get one side of the story.

There’s an implicit claim in many comments here that we need to assume that the employee was actually a higher performer, didn’t need managers, didn’t deserve a PEP and so on. That’s understandable given that we tend to put ourselves in the shoes of the person writing a piece and being anti-corporate is always popular on HN.

However, those aren’t safe assumptions in cases like this. I’ve worked at a couple early stage startups that acquired early employees who couldn’t (or wouldn’t) grow with their role and the company. It’s common to keep early employees around out of respect for their past work, a belief that they hold difficult to replace historical knowledge, or simply because they’re well connected to founders and other early employees who have grown into leadership positions.

But in reality, simply being an early employee and being involved with early important projects doesn’t necessarily mean that person is the best person for the job or even a good fit for continuing to do it. Some of the early stage employees I worked with were great at cobbling something together from scraps and keeping it functional with a collection of cron jobs and manual interventions, but their operating style doesn’t work at a bigger company at all. If they can’t adapt and change or they become disgruntled about having to work on things the way you have to at a bigger company, they start to become more detriment than help. That’s just one example of many different potential failure modes of early employees as companies grow that we don’t like to talk about.

I wanna say this story is pretty standard, and probably a big part of the reason why people in big companies often don't do great things.

It’s “standard” in the sense that every early company has a number of early employees who don’t grow with it, but it’s not the only or even a common fate. GitLab has plenty of employees who have been there for a long time, but you’re not hearing about them from disgruntled blog posts. Consider the selection bias when reading this.

As for the claim that they can’t do “great things”: I’ve used GitLab for a very long time and I disagree. The product continues to evolve. It’s not a stagnant product at all.

metricspaces
1 replies
1h20m

‘He worked remote’ thought popped into my head. He wasn’t there to “grow into leadership role” with the rest of the early employees. I do agree with your read of the situation.

btw, that restaurant in Amsterdam is apparently the go to place for startups. I am certain I sat in one of those chairs (was this on 2nd floor facing the canal?) with another fabled startup.

Aurornis
0 replies
57m

‘He worked remote’ thought popped into my head. He wasn’t there to “grow into leadership role” with the rest of the early employees.

GitLab is fully remote. Everyone works remote, including leadership.

kevin_nisbet
0 replies
1h7m

I largely agree, especially with the sentiment that there are two sides to any story.

I think one angle I'll nitpick though is this doesn't have to be related to whether or not the employee was a high performer or had particular leadership needs or whether they're adaptable to the current maturity level of the org. There can and likely are many other elements such as whether the manager/employee even get along, or agree on direction, strategy, problems, etc.

And the difficulty is, these types of issues can often show up as performance issues. In lots of cases, is the performance issue the employees fault or the leaders.

In my anecdotal experience where a job went from the best role I ever had to one of the worst happened over a very short week or two with the change in a manager. And I think to the point you're making, when I resigned I outright said... each of us is going to blame the other for my departure. The hard truth is the answer is likely if either of us had been different people I'd still be in that role doing work I really enjoyed, but in that particular leader/follower relationship we simply didn't get along well at all.

If I ever did a what it was like or why I left post, I'd probably have plenty of arguments for my side, because I think to your point, I'll be the hero in my own story.

throwboatyface
2 replies
1h3m

My read is that he was one of those early employees that is a huge pain to manage. They want to do what they think is fun and interesting and they have strong opinions about shit that is ultimately inconsequential. It's a nightmare to manage an IC who is friends with the CEO and doesn't think you're making the right choices. But ultimately they don't accept accountability for any decisions, they just move bop around and cause problems.

One tell-tale sign is endpoint security and using his own device. It's the kind of permissive cultural thing that does not scale because of compliance issues and developer productivity overhead. But it's very hard to wrench these long-time devs away from their preferred Linux distribution which requires conditional build stuff everywhere to support. Use a work computer for work, let them monitor the updates and stuff, as long as they're not using the webcam to record you who cares?

The database backup story - my guy you were on the database team. Backing up the databases is job 1. You can't just passive-voice away "oh there were no backups". But of course he's more interested in fighting about sharding architecture than actually keeping the site running day-to-day.

His big takeaway is that Gitlab didn't spend enough time on performance for their hosted offering which was a huge money loser. Just because he thinks performance stuff is fun to do, if the hosted offering is a money pit of course they're not throwing more resources at it. You have to make an actual business case for why your thing is more important and makes money more than another project. You don't just engineer in a vacuum for the fun of it.

returningfory2
0 replies
18m

Your read lines up with another point in the article that I found to be stated in strangely absolute terms:

you need to be able to deploy your code fast, i.e. within at most an hour of pushing the changes to whatever branch/tag/thing you deploy from.

This sweeps under the rug all of the potential issues with fast deploys. I guess it depends on the product. I work on a managed database service, and one category of potential bug is that we accidentally delete or corrupt customer data. We have to be much more careful and can't just deploy what was submitted to mainline in the last hour without doing significant regression and performance testing.

But anyway essentially the main reason they give for fast deploys is:

being able to see your changes live is nice because you actually get to see and make use of your work.

I think this is true. But, it lines up with this negative interpretation of this article. The author seems to prioritize themselves over the health of the product they're working on.

LtWorf
0 replies
25m

Who makes more career? The guy bullshitting about architecture or the guy ensuring stuff works that nobody notices even what he's doing?

coffeebeqn
0 replies
2h4m

I thought it was a great write up of the lifecycle of a successful startup. If you stick around you get to see a lot of change. Some positive some negative. Of course at 1000+ people you can’t have everyone reporting to the CEO

Aeolun
0 replies
6h40m

I recognize the feeling of shouting into the void trying to get people to care about something.

You’ll be telling, showing, raw stats, massaged stats, appeals to authority, what have you, but if the only thing the directors care about is features, it’s all for nothing.

After 3 years it finally became a problem because they noticed that releases kept failing, but I don’t think it had anything to do with me so much as someone typing ‘how to stop my releases failing’ into Google.

I don’t know how to solve that, as I’m going through the same thing again now (with a different subject).

ganarajpr
34 replies
9h50m

Companies attempting to pay an engineer according to location, in my opinion, is another kind of discrimination. You are supposed to pay an employee based on his/her abilities, not her location.

We have rules in govts that companies should not discriminate against employees based on sex, religion, sexual orientation etc etc.. But it is fair to discriminate the salary of an employee based on location? For ex: I know a few friends who have moved from Europe to Asia with the same role and are getting paid less compared to what they were getting paid in Europe. Its the same role, its the same person, but getting paid less just because of location ?

hawk_
13 replies
9h45m

Discrimination is around things that an individual can't choose (religion being the weird elephant in the room). Fair or not, this isn't discrimination.

oldkinglog
3 replies
9h34m

In the UK, the Equality Act (2010) protects: age, disability, gender reassignment, marriage or civil partnership (in employment only), pregnancy and maternity, race, religion or belief, sex, sexual orientation.

Pregnancy, maternity, marriage, civil partnerships and gender re-assignment are usually chosen by individuals, not forced upon them.

Scarblac
1 replies
9h24m

Disagree on gender re-assignment, people don't choose to have gender dysphoria just like they don't choose sexual orientation.

oldkinglog
0 replies
8h22m

I didn't mean to imply that people choose to have gender dysphoria, sorry if it came off that way.

usr1106
0 replies
9h11m

Pregnancy and maternity are desired by the society as a whole. So they might receive some positive discrimination.

(Stress on might and some, probably still not enough in may rich countries to stop native population from shrinking.)

badosu
3 replies
9h33m

Ability to live anywhere in the world is a choice?

neoberg
2 replies
9h21m

yes if you're a citizen of one of the US, CA, EU

isbvhodnvemrwvn
0 replies
8h8m

You can't just live in the US as a reason living in the EU.

badosu
0 replies
8h50m

TIL

simonbarker87
1 replies
9h35m

Many people can’t choose where they live either. Getting a visa to the US is a ludicrous process and even if they wanted to they maybe tied by family obligations.

hawk_
0 replies
6h55m

But people don't choose to be rich or poor exactly either. As a general rule, discrimination is around things for which there's no choice. Having a choice over where they live or whether they are rich doesn't mean it's easy or practical. But that can't make it grounds for discrimination, even if unfair.

thewakalix
0 replies
9h37m

I don't think that rule holds in general. For another example besides religion, you can choose whether or not to marry interracially.

goodpoint
0 replies
8h46m

Since when people chose where to be born?

ganarajpr
0 replies
5h14m

So, you think a software engineer in India can just "choose" to come and work in the US ?

randomdata
5 replies
9h12m

> You are supposed to pay an employee based on his/her abilities, not her location.

You are supposed to pay them the minimum amount it takes to get them to show up to work. When someone moves to a less competitive market, where getting another job is harder, then they are more likely to show up for lesser pay.

And remember that a country may have a less competitive market, even if the workers are remote and not seemly bound by a local market, because governments often love to put up huge roadblocks when it comes to international hiring. If you are being paid less than you were in another country doing the same job for the same employer, this is almost certainly why you have agreed to take a pay cut.

verve_rat
2 replies
6h51m

Females generally get paid less for the same work that males do. If someone transitions male -> female should they get a pay cut?

randomdata
1 replies
2h55m

That’s up to them. It’s the worker who chooses how much it takes to show up. I suppose if they want to truly play the part of being female they may want to accept less.

bigstrat2003
0 replies
1h3m

Also, the gender pay gap is a myth so there's no reason to consider it in the first place.

stavros
1 replies
8h56m

Exactly. This isn't a "cost of living" adjustment, it's a "we're lucky you have fewer options, so we don't have to pay as much" adjustment.

If I get hired in such a company, I'm moving to SF or Zurich the next day.

myaccountonhn
0 replies
5h18m

How would you move there without a visa?

ako
3 replies
9h11m

You could also argue that difference in pay is less discriminatory. You are paying employees to have the same quality of life, same type of housing, same opportunity to provide for family, send your kids to the same type of schooling. These things cost differently in different countries, so require different income.

drewcoo
1 replies
1h49m

While I'm sure it's very kind of companies to care about my quality of life and the type of my housing, it's honestly none of their business. Even if they tell me I'm "family."

Fair pay to me, at least, means paying for results. Not paying for hours spent toiling. Not paying for where I am on the planet. Not paying for how I get the results, just for the results.

Instead, there are all of these gamey factors inserted into the mix. They're emotional. They're manipulative. Yuck!

ako
0 replies
1h23m

That’s not how free markets/capitalism is supposed to work. Companies are expected to just shop around for the lowest price on the capabilities they need. Are you suggesting we should adopt something else then capitalism/free markets?

DandyDev
0 replies
8h14m

Exactly this! Location-based pay is not so much about cost of living as it is about buying power. In the end, money is just a place holder for real value which comes in the form of goods and services. And the real value of the same amount of dollars wildly differs per location. So if you want to pay fairly and not discriminate, you have to try and make sure people can roughly buy the same things in their differing locations for the money you give them.

ta8645
1 replies
9h44m

You are supposed to pay an employee based on his/her abilities, not her location.

I don't believe that is a legal requirement, anywhere. Remuneration is based on many factors, which can include the cost of living. A company will not be able to hire someone in New York City, for the same price as someone in a less expensive jurisdiction.

This isn't discrimination, it's simple economic reality.

samsonradu
0 replies
9h27m

It s based on suply and demand indeed. The legal requirements might affect minimum pay.

mjr00
1 replies
9h37m

A worker in country X or country Y are very different for companies' balance sheets. For instance, my company is Canadian, and we are eligible for significant tax credits through SR&ED[0] for software developers. If a software developer moved their permanent residence to outside Canada, even if we could magically pin exchange rates to pay them the CAD equivalent in local currency, it would be a significantly different financial impact on the company as they aren't eligible for that program. I'm not an expert, but I imagine there are many equivalent programs in every country, state, and even municipality.

It works both ways, anyway. If those friends had moved from Thailand to Switzerland, would it be discrimination to pay them more?

[0] https://www.canada.ca/en/revenue-agency/services/scientific-...

supafastcoder
0 replies
9h24m

A worker in country X or country Y are very different for companies' balance sheets

Yes, but quite often, workers are in the same country (or even same state!) and still get paid differently based on CoL.

patcon
0 replies
9h45m

I disagree. I believe a company should pay based on ability of employees to have comfort and wellness, not some universal measure of value (which I believe to be impossible). What you are advocating for inadvertently breaks community and exacerbates gentrification and destruction of social fabric via inequality. Location matters.

neoberg
0 replies
9h33m

I agree with this in theory but I can't see how it will work in practice. There isn't a global "value of ability" to base the pay on. It's valued differently in every location.

jblox
0 replies
9h45m

Yeah I absolutely hate that. I get why they do it from a business point of view but as an engineer, I'm instantly put off when I see something along the lines of "up to $x (depending on location)".

hw
0 replies
9h40m

Companies attempting to pay an engineer according to location, in my opinion, is another kind of discrimination. You are supposed to pay an employee based on his/her abilities, not her location.

So you’re saying, we should be paying engineers in Europe and in the US the same as an engineer in LATAM or India or Asia that has the same level of experience and skill.

The only way to be non discriminatory is to have a standardized formula of compensation that takes into account cost of living (rent, food, healthcare, taxes etc) where the final take home pay in locations around the world are equivalent - which I believe should be the case at most companies

filleokus
0 replies
9h2m

You are supposed to pay an employee based on his/her abilities, not her location.

I don't think this make any sense on so many levels. First, "abilities" are not a good way to think about wages. If you hire a neurosurgeon to do your gardening, you won't pay them more than a run of the mill gardener.

Rather, you as the employer compete against other employers on different markets in a fairly classical supply and demand situation. The "abilities" of an compliance expert with tech skills did not change much when GDPR was introduced, but as all EU companies scrambled to figure out the regulation (and the DPO role was popularised by fiat), the compensation went way up.

If the employee can participate in e.g the SF labour market, you have to pay a competitive salary in that market, if not you don't have to. As long as there are barriers, e.g a on-location worker in SF has more opportunities for whatever reason, the location premium makes sense.

To take your example in the opposite direction. Let's say a east-european company want to expand into the US and open up a sales engineering office in SF, and want their best sales engineers to go work their, it would be completely insane to not raise their wage. "We pay people after ability here you have 40k USD, have fun finding housing".

ako
0 replies
9h28m

Why are you supposed to pay based on abilities? Where is that stated?

As a company you need certain abilities, and you pay whatever the market decides these abilities are worth, and nothing more. Depending on location, the market will set a different price on these abilities, so you pay different.

jurgenaut23
19 replies
9h39m

Location based salaries are discriminatory

The article is nice and well articulated, but I'd argue exactly the opposite on this point. The author seems to confuse equality and equity. He takes the Netherlands and Bay Area as an example and don't make a compelling argument as to how and why paying differently those employees is akin to discrimination based on race.

Were you to pay the same salary in Netherlands and Bay Area, you would effectively either (i) pay absurdly high salaries to your dutch engineers, similar to what the prime minister earns or (ii) pay absurdly low salaries to your Bay Area engineers (to the point that you'd basically have none of them).

globular-toast
7 replies
9h28m

Who cares if you don't have Bay Area engineers? Their ability isn't based on where they live, is it? If they want to lower their costs of living so they can compete they can "just move".

trallnag
4 replies
9h19m

Maybe the best engineers want to live in SF?

piva00
1 replies
9h11m

Define best engineers first. I seriously doubt that hiring in SF will give you the best engineers, it might have one of the best ratios of good:bad engineers compared to many other places but it's not a given whatsoever that hiring one living in SF will be a slum dunk. I worked with many terrible engineers from SF over the past 20 years.

Which makes the point: why would a company pay such a premium on hiring from a single location if, in the end, it can only get the best engineers from there if it pays an even higher premium than the ridiculous salaries from the place? It doesn't make much financial sense, seems to be mostly based on "feelings" during hiring, like yours.

goodpoint
0 replies
8h34m

seems to be mostly based on "feelings" during hiring

Silicon Valley has a local bubble economy. If overpaid engineers spend their money for overpriced health insurance, rent, mortgage or juiceros the boat stays afloat.

But if the SV companies start sending money abroad the bubble would deflate...

goodpoint
0 replies
8h49m

Not for a second.

Hendrikto
0 replies
9h2m

Maybe. But I don‘t think so. Many moved away during the pandemic, when they had the chance.

Most engineers seem to life in SF out of necessity, more than anything else. After all, that is where most jobs are.

ako
0 replies
9h21m

The world is moving towards more closed borders, so moving is getting harder. But in the end we’ll all need to move to low-income countries like Yemen, Togo, and Ethiopia, to lower our costs, and be most competitive for employers?

XiS
0 replies
9h22m

That argument goes both ways of course

dmurray
4 replies
7h51m

The Dutch Prime Minister gets paid €186k annually [0]. He has 13 years of tenure in this role and 22 years total in the politics industry [1].

I'd hope a high performing, vastly experienced engineer in NL could aspire to that, though they might not get the same benefits or future opportunities.

[0] https://en.wikipedia.org/wiki/Prime_Minister_of_the_Netherla...

[1] https://en.m.wikipedia.org/wiki/Mark_Rutte

lozenge
2 replies
6h24m

Is that a universal rule that experienced engineers salaries should be similar to heads of state? I'm not grasping the connection...

andrewaylett
0 replies
2h34m

It's fairly universal that politicians are underpaid relative to the level of responsibility they hold.

I'd quite like my country (UK) to be run by folk who are competent, rather than by only those who can afford to run for office without being paid for it. Yes, MPs get a lot more than the median income. But many people who are well-qualified to be MPs are also well-qualified to hold roles that pay at least as well if not more, and without needing to run for election to get the job.

FeistySkink
0 replies
3h36m

Taking the CoL in NL, particularly the Randstad area, that salary is not outrageous. Especially, if you're a new expat on a single income, without any social net, and with any hopes of owning property, within a reasonable commute distance from your work.

kzrdude
0 replies
7h2m

A prime minister usually has quite good offers after the political career. Rutte has been trying to get the leader role for NATO, for example, which is probably a step up in salary (?)

XiS
2 replies
9h20m

What about (iii) pay a salary that would be in between absurdly high and absurdly low?

vouwfietsman
1 replies
9h12m

Bottom line you want the best people, which are spread around the globe, but within each country is a different price point for what you pay the best people. Bidding too high is wasteful to your resources, too low makes it impossible to compete in higher pay areas, and middle ground is the worst of both worlds: loose out on high pay areas, be wasteful in low pay areas.

I hope future generations will better understand that accumulating wealth should not be the goal of life.

ksplicer
0 replies
7h11m

Maybe future generations will not have to worry as much about accumulating wealth when countries work harder to ensure a high quality of life in the middle class. I doubt that will happen for the west until they figure out how to relieve all the pressure the housing market is putting on their citizens.

stavros
0 replies
8h59m

Location-based pay means the company pays more for areas where the supply is priced higher. It's not about cost of living, because the company won't pay me more if I prefer a Ferrari over a Fiat.

Location-based pay pays people more if they're in a market where they have other options, so they don't go to those other options.

In essence, if you have location-based pay, you're incentivizing your employees to move to an area where they'll have vastly more employment options than to stay with you.

slekker
0 replies
8h45m

Another point is taxes, sometimes even though gross is lower, the net is higher (i.e. Belgium and Estonia)

TheBigRoomXXL
0 replies
8h53m

Indeed.

Also buying power is just not the same based on your location. A hundred dollars in the US and in the Netherlands will literally not buy the same things.

gnfargbl
15 replies
7h34m

I find the bit about employees being permitted to use their own computers almost astounding. However small an organization is, it should be insisting on providing a company-owned machine and having all company business be conducted on that machine.

This has massive benefits to the company in terms of control of corporate IP, huge benefits to the employee in terms of separation of work time and personal time, and it doesn't even cost that much to do.

4hg4ufxhy
5 replies
7h10m

All popular operating systems support multiple users. There is no worklife balance benefit whatsoever for the user to require a separate machine. It is only inconvienient.

jacquesm
3 replies
6h40m

Until your employee walks out the door with a clone of your company private repository on their hardware. Good luck untangling the legal mess.

Aeolun
2 replies
6h35m

I have a few 10-15 year old repositories backed up somewhere, but surprise surprise, nobody (including myself) cares.

It’s theoretically possible for someone to do something bad with them, but it’s just not realistic for 99.999% of the population. I guess it becomes an issue when you have 100k employees.

xorcist
0 replies
5h27m

That is still clearly intellectual property after 15 years. There could be trade secrets in there. And the slightest suspicion of which is a good reason to sue you, should anyone every need a reason to. It could be an personal conflict spun out of control or an incompetent manager needing someone to blame for a failed business or whatever.

If there are any customer data or logs in there, then you could be personally liable under data protection laws. They might not even have an expire date, depending on what kind of data it is.

Better safe than sorry, unless you think you have something to gain from keeping that data around.

jacquesm
0 replies
6h32m

I would care. 10-15 year old is probably no longer an issue but technically they're a liability and if they were much younger (which at some point they were) they would be a much larger liability as well as an issue if you ever went to work for a competitor and this came to light (like it just did...). It's not to your advantage to have copies of your former employer's IP and possibly even data laying around. Hostile audits are a thing too, again, on 10 to 15 year old code probably not because that code either has changed considerably or it may have been abandoned.

acdha
0 replies
4h54m

Some things to consider:

1. What happens when you have a legal dispute and all of your personal data is now caught up in the legal discovery process? Repeat for layoffs, etc. where you have no warning to make backups in advance. Don’t forget to think about what happens if you look for another job and your record of that is on their system.

2. How painful will the conversation be when someone’s personal activity leads to them getting malware, and now you have to treat that as a company breach, rotate everything they have access to, contact every user whose PII was in test data or bug reports, etc.?

3. Say you work on something on your spare time, but some suit insists that it’s company property since it was developed on company equipment. How much fun will it be arguing that you only worked in your spare time?

4. Where is the convenience, really? It’s probably not actually the case that you are getting paid to swap interchangeably between work and home, or that you work on the exact same things (if so, good luck convincing the lawyers that they don’t own your work), so you’re probably using that convenience to contribute unpaid overtime to your employer. Having a hard boundary between those is usually mutually beneficial.

hnarn
3 replies
7h29m

Not to mention the inability to enforce full disk encryption and (hopefully) avoid leakage when someone quits.

It’s obviously not a silver bullet but at least then leakage must be hostile action or incompetence by transferring sensitive data outside of authorized channels.

littlestymaar
2 replies
6h58m

the inability to enforce full disk encryption

Here's what my previous company did: “please jump on a videoconference call, now please share your screen, and go to the disk encryption settings to show me it's enabled, thank you”

You get the same benefit as with stronger enforcement since as you said disk encryption won't protect you from hostile actions anyway.

hnarn
1 replies
6h2m

You get the same benefit

I strongly disagree, because if the employee isn’t handing in their device when they exit that data is still out there.

As I said, this is not a silver bullet, but for the data to still “be out there” the employee must at some point transfer the data out of the company device, which should be a policy violation.

Also, I honestly personally think a company not providing hardware is a huge red flag, I’ve never encountered it in 15 years (but maybe it’s less common in Europe, I don’t know).

littlestymaar
0 replies
5h46m

Unless your company provide automatic backup management with straightforward recovery for your employees (which I've never seen, including at customers), your most cautious employees will backup their device in order not to lose their work, and then there's always data “somewhere out there”.

Again, the way you deal with employees having company's IP remaining on their computer is to set up a call and ask them to remove it. Good faith employees will do it, bad faith ones would have copied it on their drive before handing out the computer in the first place.

pbasista
0 replies
5h36m

huge benefits to the employee in terms of separation of work time and personal time

While I agree that separate work and personal computers might help in this regard, in my opinion it only helps a little.

I believe that behavior related to separating work time and personal time is influenced primarily by one's own habits, abilities and, in the end, decisions.

littlestymaar
0 replies
7h1m

Giving the choice is what benefits the employees more: sure if you want more separation that's nice to have the option, but I prefer by far use my own computer when I'm WFH because it's a beefy desktop. In any case being forced to use a company mandated operating system is a nuisance for productivity… (be it Windows, where productivity is just bad, or MacOs where I need to relearn everything starting from the most basic key bindings …).

Also, companies have no control over corporate IP that land on an employee-controlled PC anyway.

kevin_nisbet
0 replies
59m

I'm not a lawyer so take the comment with a grain of salt, but employee's should likely insist on using company devices as well. If the company were to be sued it may open up the personal devices to all sorts of subpoena for the contents of the device.

hiAndrewQuinn
0 replies
7h9m

Semi-related, I would recommend to anyone who is a Linux native to try to find some kind of "minimum viable setup" that is really really easy for you to run out of VirtualBox or Parallels or something for this reason. No matter where you go, you know you can have a suite of tools which work just as you want them to there. Being able to tear it down and rebuild it quickly is also a great way to deal with debugging certain kinds of problems of the "it runs/doesn't run on my machine" category.

How you do this is of course up to you. At one end of the spectrum is just relying on your memory. At the other end is using NixOS https://nixos.org/ to get fully reproducible builds anywhere you go. Between these are a vast field of options. I know a guy who maintains an Ansible file set to `host: localhost` which installs everything he wants from that file. For me, I just stick with the latest Ubuntu version and maintain a few shell scripts [1] that install 80% of what I like to have on a new install.

If you like the scientific approach, you can install something like https://atuin.sh/ and do some statistics on what programs you actually run most frequently based on your long term shell history.

[1]: https://github.com/hiAndrewQuinn/shell-bling-ubuntu

Aeolun
0 replies
6h37m

Honestly, the company will never care as much about my machine as I do. It’s always an uphill battle to get anything more than whatever they think the default spec should be, so I’d consider it a feature if I could use my own machine.

karolist
12 replies
9h30m

My conclusion after reading this is never give it your all unless it's your own company. Burnout after working for someone else in tech should not happen at all. The post overall has negative undertones so it feels like the burnout was really bad after all this time, I hope the author recovers and finds joy and peace working on their own projects.

imafish
5 replies
8h57m

Also, from my understanding, the burnout did not seem to stem from the actual work but more from interpersonal relations and disagreements. I am certain that is not uncommon

CipherThrowaway
2 replies
7h43m

This is what burnout is. Burnout is not caused by working, but by stress. The root cause of this stress is personal and interpersonal factors. People can burn out on very small workloads if the ratio of interpersonal toxicity to hours of work is high enough.

Sometimes it looks like people are burning out because of extreme workloads. In these situations, I've always asked "why is the workload so extreme to begin with?" This gets you to the real source of stress.

karolist
0 replies
7h35m

It's amazing how many issues in life are caused by the act of thinking of these possible issues, than the issues themselves. My friend had horrible issues sleeping, he tried many things before going to psychiatrist. The conclusion was quick and accurate - your issues sleeping are caused by your fear of not falling asleep, basically anxiety. Anti-anxiety meds fixed it immediately.

jacquesm
0 replies
6h39m

The root is mostly stress on things that you have no control over.

redrove
0 replies
8h42m

Rarely was my burnout caused by actual work. It’s usually caused by management being asshats.

aiisdoomed
0 replies
6h16m

Wu Tang has the best lines to describe corporate workers:

“You're just worms in the worst part of the apple that's rotten You squirm and you turn from the right, still plottin All slimy cause you stay grimy, petty crimey”

While some have no alternative others enjoy that kind of game and are part of the problem. Best stay away from such jobs, and undermine corporate at every turn.

ngc248
3 replies
8h14m

Do just enough day to day. Show heroic effort here and there. Don't get too attached to your project, service, code etc. Always understand the undercurrents so that you can keep abreast of things.

karolist
1 replies
7h40m

Yes. To add, always try to escape, have a side project, dabble in opensource, wake up early and use your best brain capacity for that then go to work. I know it's hard but if you're just what you do at work then future employment prospects are lower than otherwise.

ngc248
0 replies
1h18m

Exactly, every company and org has a meta that you need to understand. If you understand the meta and you can/want to play the game, then play else start searching.

garbanz0
0 replies
43m

This is a great way to articulate it. People operate in extremes, caring too much or little

itronitron
0 replies
6h34m

It's important to know what 'your all' is for the company. I learned early on that working more than 40 hours a week writing code results in my introducing bugs into the code base. So doing more is counter productive.

Choosing to not care is much harder as we have all had years of education conditioning us that we need to achieve more and to be the best.

hnarn
0 replies
7h25m

never give it your all unless it's your own company

It’s the classic “last founder or first employee” problem. If you are an employee at a startup, have no illusions: if “they”[1] don’t give a shit about you now, you can be sure “they” will not give a shit about you later.

[1]: the company is and always be an inanimate and abstract object, your boss and colleagues will change

rockyj
11 replies
9h46m

Ruby's entire programming model was based on the premise that language speed does not matter since most of the time you are waiting on IO / Network. Well now, both on Node.js and JVM we have programming models which say that - while I wait for IO / Network let me do some other work or service more requests (Async / Webflux / Coroutines).

IMHO - using Ruby/Rails in 2024 can be wasteful, but of-couse for the right situation it can be a good choice. (Just) For example an enterprise app where you know the number of users will be limited, or when you know the development speed is paramount or where you want to build a quick proptype to test the market out. Rails is a great framework and the productivity is unmatched, but with time a 2-3 years old Rails project is always tricky to maintain.

sosodev
5 replies
9h14m

Meh, it's fine for 99% of use cases. Rails only becomes a pain in my experience if you have random, huge swings in traffic or a ton of active users with websocket stuff (mostly solved by anycable). But very few products are going to reach those limits and if they do those problems can be solved too.

Stripe, GitHub, and Shopify are the shining examples of Rails scaling in all kinds of ways without problem.

aniforprez
1 replies
8h40m

Haven't GitHub been moving out of rails into go based micro services? Even their frontend I think is now just react

wlll
0 replies
6h25m

I believe Github still use Rails for their main application. Spinning services out into microservices, even ones that are other languages, isn't really a sign that Rails isn't working for them, it's just what happens when companies scale. The company I work for is a Rails backend (React frontend) and we have some services split out into Go based microservices (eg. Twilio webhook handling has been offloaded to Go in Lambda), but it's still very much a Rails app.

Even their frontend I think is now just react

It remains to be seen how successful this is and what the reasons were for the change. Personally I don't like it, it's less reliable and slower than before.

ywain
0 replies
9h5m

Stripe does use Ruby, but not Rails.

notpachet
0 replies
3h11m

Stripe, GitHub, and Shopify are the shining examples of Rails scaling in all kinds of ways without problem.

As a former Shopify dev, I can tell you that "without problem" is highly inaccurate. We had lots of Rails scaling problems.

jb3689
0 replies
1h14m

Stripe doesn't use Rails. Stripe's application of Ruby is far removed from your typical Rails app. A lot of custom stuff was built into Ruby to make the multi-million line codebase work as well as it does.

DeathArrow
2 replies
7h44m

the productivity is unmatched

I would like to challenge that.

wlll
1 replies
6h25m

Go ahead…

mdaniel
0 replies
25m

Static typing is not webscale, amirite? https://news.ycombinator.com/item?id=39159481

I guess it depends on how one defines "productivity:" is it spitting out code as fast as your keyboard works, or is is not having features do weirdo things because who can reasonably say what the code does at any given time?

I have more than once tried to contribute fixes to GitLab's codebase, and every time I open the thing in RubyMine it hurpdurps having no earthly idea where symbols come from or what completions are legal in any given context. I trust JetBrains analysis deeply, so if they can't deduce what's going on, then it must take an impressive amount of glucose to memorize every single surface area one needs to implement a feature. That or, hear me out, maybe "it works on my machine" is a close to correct as the language is going to get without explicit type hints as a pseudo static typing

wlll
0 replies
5h57m

Ruby's entire programming model was based on the premise that language speed does not matter since most of the time you are waiting on IO / Network.

Couple of points. 1) You probably mean Ruby on Rails and not Ruby and 2) that's not true of either. Ruby or Rails "entire programming model" was not based on thoughts around I/O at all, a huge about of the driving force behind Rails was DHHs ideas about developer happiness, which is intrinsically linked with speed of development.

Discussions about I/O /do/ happen in the Rails community because it's important when you're running a web server which is a lot of the use Ruby/Rails is involved in, but it's not the sole (or even a major) focus of the decisions made for the language or framework.

Well now, both on Node.js and JVM we have programming models which say that - while I wait for IO / Network let me do some other work or service more requests (Async / Webflux / Coroutines).

Right, but if the goal is to maximise CPU usage of your web servers then you can completely do that using Rails, and have historically been able to do so by spinning up multiple processes in the same way you'd spin up multiple threads in, say, the JVM. Not as convenient perhaps, but a model that's been in use since at least the 90s when I started out. Luckily it turns out that web requests can generally be run in isolation so IPC isn't usually an issue (the same reason why multiple physical web servers is simple, just as multiple processes is).

IMHO - using Ruby/Rails in 2024 can be wasteful, but of-couse for the right situation it can be a good choice. (Just) For example an enterprise app where you know the number of users will be limited, or when you know the development speed is paramount or where you want to build a quick proptype to test the market out. Rails is a great framework and the productivity is unmatched, but with time a 2-3 years old Rails project is always tricky to maintain.

Wasteful as a generalisation is blunt. Of course it can be wasteful, but so can writing your app in rust, it just depends where the pressures are. I'd suggest that not launching is a far bigger concern to most people at an early stage, and even mid to late stages developer speed is one of the most difficult things to scale.

Personally I'm the CTO of a company that uses Rails (backend, React frontend) and developer speed is /hugely/ important to us. We're always constrained by engineering resources and the speed of Rails development continues to be a huge win for us. We do have scaling issues, but 99% of the time they're not Rails issues, they're in the database.

hw
0 replies
9h23m

Ruby now has Fibers and other constructs for async like Ractor.

Rails is a great framework and the productivity is unmatched, but with time a 2-3 years old Rails project is always tricky to maintain.

It isn’t any less tricky than a Django or Express project. With any codebase discipline and regular tending to the garden of code is important to prevent weeds from growing.

If anything that Ruby (and Rails) has going against it is still the raw language performance and higher memory requirements/usage than its counterparts, which makes it less desirable for workloads that require low latency or small memory footprint

eadmund
8 replies
7h37m

A mistake GitLab made, and continued to make when I left, was not caring enough about scalability. Yes, directors would say it was important and improvements were certainly made, but it was never as much of a priority as other goals. At the heart of this problem lies the way GitLab makes money: it primarily earns money from customers self-hosting GitLab Enterprise Edition, not GitLab.com. In fact, GitLab.com always cost much more money than it brought in.

Is that really a mistake, then? As a first approximation, company has to invest in the thing which makes money, not the thing which loses money. Now, higher-order thinking might suggest that a more-performant gitlab.com might bring in more customers, build a stronger reputation and so forth. Still, if the company’s real business is selling self-hosted software, it makes sense to focus development resources on self-hosted software.

zero_
3 replies
7h6m

But to be honest I do see the point of the author. Either stop "half-assing" GitLab.com or remove the product (GitLab.com) entirely (and focus only on self-hosting customers (GitLab Enterprise Edition)) might be a better decision in the long run.

But I am sure no one on management level wants to do this decision. So you half-ass a product.

This kind of situation can be frustrating for people working on the product itself (at least when they care). And each new developer that joins the product will probably suggest: "Oh we should care more about scalability." And each senior will be: "yeah yeah, i know..."

jacquesm
2 replies
6h36m

Gitlab.com is a marketing instrument and if you 'remove the product entirely' then the enterprise edition will sell only a small fraction of what it sells today.

zero_
1 replies
5h2m

I do not know if your statement holds true. But you shouldn't half-ass a marketing instrument either IMHO.

jacquesm
0 replies
4h44m

That I agree with. There are some weird incentives at work though: a commercial user of Gitlab.com might see their frustration with Gitlab.com as the reason to go for an enterprise license rather than to switch to the competition.

insensible
1 replies
7h8m

Yes, it’s a mistake to design your company’s output in a way that results in shipping a defective product.

foobarbazboff
0 replies
6h23m

Is it a defective product, or is it a fully-featured demo that is just good enough to show companies what they could have if they host the software themselves? "You get all these features, plus all the speed and security that comes with running this in your own corporate environment"

Why buy the cow when you can get the milk for free?

fred_is_fred
0 replies
1h58m

I’d guess because many IT departments figure that on-premise=secure and provides them the illusion that they can prevent source code from leaking this way.

dijit
0 replies
6h1m

If Gitlab.com is a money losing product why is it the same price as the self-hosted option.

I literally bought licenses from gitlab before realising that the seat cost is the same if I let them host it or we do it. So why take the infrastructure cost?

woadwarrior01
7 replies
8h40m

Terrible managers are the bane of our industry. OTOH, many startups owe their existence to their founders having had to deal with terrible managers in their previous jobs. The story of the traitorous eight and Fairchild semiconductors comes to mind. In my own life, if it weren't for getting a non-technical but political and vindictive manager in my last job, I probably wouldn't have had the motivation to start my own startup. In hindsight, I wish I'd been assigned a manager as bad as the last one I had, earlier in my career. :)

mawadev
6 replies
8h28m

I wish you could flag companies that have toxic management without compromising your privacy or getting outright censored. It would also be great to find companies that truly need your skills, so you can hop more easily without the HR overhead.

pooper
3 replies
7h45m

Microsoft has toxic management but it also has M1 who are just trying to navigate the maze and do the right thing. It is never straightforward like this.

pain2022
1 replies
7h40m

What is M1?

pooper
0 replies
7h38m

Lowest level manager

notpachet
0 replies
3h20m

You either quit young, or live long enough to see yourself become M2.

higeorge13
1 replies
7h43m

Besides toxicity, i believe the main issue of some bad management is uselessness. Perhaps it leads to toxic situations, but the root cause is that they don’t add value to anything in the org.

woadwarrior01
0 replies
6h35m

It’s worse than not adding any value to the org. These people actively undermine value in the org by depleting their direct reports’ morale. OTOH, any organisation that tolerates and turns a blind eye towards such subterfuge, perhaps deserves it.

skrebbel
5 replies
8h5m

Loved this read.

One part didn’t resonate with me though:

In practice this lead to GitLab building many features over the years that just weren't useful: a serverless platform nobody asked for and that was ultimately killed off, support for managing Kubernetes clusters that didn't work for three weeks without anybody noticing, a chatops solution we had to build on top of our CI offering (thus introducing significant latency) instead of using existing solutions, or a requirements management feature that only supported creating and viewing data (not even updating or deleting); these are just a few examples from recent years.

If my company ever grows to be as successful as Gitlab, I’m going to much more worried about innovation grinding to a halt than about people trying stuff that doesn’t work, or trying stuff the wrong way. It’s so much easier to shoot an idea down than to believe in it long enough for it to have a chance. I strongly agree with the author about making engineers be the decision makers on how to build out an engineering product, but I’m not convinced that this list of failed ideas is a bad sign at all.

aragilar
1 replies
7h29m

I think it's less innovation and more failing to understand the requirements (i.e. only implementing half of what's needed, and then moving to the next thing). E.g. adding labels to gmail, but no way to have filters, so you have to manually apply them.

Aeolun
0 replies
6h23m

Yeah, some of Gitlab’s features are hilariously half assed. Of the ‘one crud form but missing the delete and update part’ level.

pgeorgi
0 replies
7h40m

It's a matter of focus: Having some time to tinker and try out stuff that might just fail is great. If it consumes so much development time that the must-haves deteoriate, you let down your customers.

fireflash38
0 replies
5h14m

If the failed ideas aren't then purged, then they become problems. And maybe they cause problems when implementing them too.

ehmc
0 replies
5h51m

This part of the article resonated with me, as I used to work as a tech lead for a very similar startup to Gitlab. We were always pushed to "ship MVP's" and "move fast and break things" by product and design, which always resulted in a half-broken features getting pushed to production and left there once the sprint was over. This also led to a constant inexorable growth of tech debt, that made me feel like we'd never be able to get things remotely stable in our corner of the product. I've since come to the conclusion that it's much better to build small, flexible, feature-complete systems that can be used for multiple iterations of ideas.

DeathArrow
5 replies
8h29m

For example, sharding is useful if writes heavily outnumber reads

If you distribute your data carefully and don't need to do joins across shards, I fail to see how sharding doesn't help with reads.

evanelias
2 replies
2h28m

Totally agree. Overall the author's arguments against sharding seem short-sighted, at best.

All large successful user-generated content applications eventually need to shard, and most of them are read-heavy just like gitlab.com. The two primary motivators for sharding in this case are database size and blast radius, rather than needing to scale writes.

For database size, even if your DB still can fit on one beefy server, operational activities like backup/restore and new replica cloning take an increasingly long time. This in turn becomes a major risk to the business -- for example he even discusses how long the restore took when he had to restore the prod DB from the staging DB.

For blast radius, it's the ability to have outages (e.g. hardware failure) only affect a small subset of users. Or for a more extreme situation, the massive difference between "I accidentally dropped the database" and "I accidentally dropped a database".

Sharding does indeed add terrible complexity to the application as well as operations. But in any case, eventually the data size motivator becomes unavoidable for user generated content: you eventually must shard, and the longer you wait, the more difficult it will become.

dalyons
1 replies
1h46m

Remember most of the business is on prem installs . Introducing the huge complexity of sharding to the codebase would have benefited these installs approximately zero.

evanelias
0 replies
50m

The existence and uptime of gitlab.com is essential to the company's customer acquisition. If gitlab.com goes offline for an extended period of time (due to database size issues or anything else), it's a huge hit to the reputation of their brand. This will directly affect their bottom line even if it isn't the main direct source of their revenue.

And again, what's the alternative? If you offer a successful user-generated content platform, eventually you must shard. User-generated content only grows over time, it never shrinks, and at some point you exceed the maximum amount of storage that can be attached to a single server. And long before that point, you encounter horrendous operational headaches, such as full backups taking longer than 24 hours to make (let alone restore from).

It's also conceivably possible that their largest on-prem customers would be interested in sharding their self-hosted installations, so theoretically this could be a valuable high-cost enterprise feature.

isbvhodnvemrwvn
0 replies
8h20m

It adds a huge amount of complexity due to those limitations, and unlike writes, you can handle reads off of read replicas, as they did.

ahofmann
0 replies
7h34m

Read replicas are better suited for this situation and way less complicated. And you said it yourself: you need to be careful and you loose the ability to do joins.

sph
4 replies
9h29m

Great retrospective, and apart from the personal burnout story, could be titled "what happens to a startup when managers start to run the show"

DandyDev
2 replies
8h8m

I read this meme so often on HN, so I genuinely want to know: how do you organize work and get people to act on a common vision if there are no managers?

I think people mistake “manager” as being people without tech skills. I think a tech company should have managers to create alignment and those managers should spend part of their time “managing” and part of their time still honing their tech skills.

sph
0 replies
4h58m

The issue is you literally cannot be an engineer if you don't know how to build things.

On the other hand, there are plenty of managers that do not know how to manage people, that do not even know what is expected of them. Should they optimize for cost? For productivity? For employee happiness?

Competent managers are a minority. They tend to rise quickly, leaving the inept ones to run the day-to-day.

gtirloni
0 replies
7h35m

In my experience, people will use "managers" as a proxy for complaining about all the other things they don't like.

Of course clueless managers and extreme bureaucracy will destroy a company, but I very often see engineers that just want to do X and ignore everything around it as if they were working in a isolated environment. It's often the managers calling these engineers back to reality, which creates tension.

hassmo
0 replies
9h0m

As opposed to what, engineers running the show?

hnarn
4 replies
7h32m

This then lead to the discovery that we didn't have any backups as a result of the system not working for a long time, as well as the system meant to notify us of any backup errors not working either.

Reminder that validating backups for critical systems is everyones[1] job in organizations where there’s not a literal backup team working on it full time.

This is probably one of the worst experiences a developer or sysadmin can have, but in no situation can it just be one persons fault.

If multiple lines of defense have failed (backup validation, monitoring etc.) and nobody noticed, it’s simply a question of when.

[1]: all technical personnel that can be remotely considered stakeholders in the backups not failing

Aeolun
2 replies
6h25m

I really enjoy RDS for not having to worry about this. Point-in-time rollbacks for the past 24 hours, and if we accidentally drop the whole database we can restore it from the periodical snapshots.

hnarn
0 replies
5h59m

ZFS snapshots are really nice too, if ZFS is an option.

andrewaylett
0 replies
2h42m

You should probably still try it occasionally :).

For one of my team's services, we don't just back up the data: we then also restore it into a parallel environment. If the backup fails, the restore fails, and then the environment fails, and while our monitoring might miss some instances of spurious success, it's less likely that the whole chain will look like it's working if the actual backup is not actually working.

wlll
0 replies
5h51m

I noticed that we weren't validating backups at a company I used to work at so I did a /really/ simple hack where I checked that the backups were within a certain number of bytes in size of the previous dump.

Literally a couple of weeks later after putting this live (I think it was a Nagios check) it alerted that the backups had gone down from many 10s of GB to a few k in size. I can't remember what had gone wrong now, it was years ago, but we /did/ catch the issue.

Obviously this isn't a comprehensive check, I later wrote a tool that pulled backups down, restored them, and did some sanity checks on the data, but the quick hack worked as an interim.

samlambert
3 replies
2h1m

This post is interesting overall. But saying the org needs to care about scalability and then not understanding sharding is an interesting vibe.

dalyons
2 replies
1h56m

I think the author understands sharding very well. And the operational complexities of it and thus why it should be a last resort.

samlambert
1 replies
1h51m

1. it's not as complex as stated. 2. sharding scales read heavy workloads just as well as write heavy.

dalyons
0 replies
1h1m

ok lets look at it. Start with the absolute best case for sharding - a perfectly segregated data model, say either by user or customer id. No shared data, no joins between tenents. Some relatively straightforward framework code to redirect queries between N shards. cool. Operationally now you need N database clusters (at least a primary and a replica per cluster). You need to manage and monitor all those, figure cluster local and shard promotion schemes, figure shard based backups and restores. Probably figure out shard rebalancing. None of it rocket science, but a lot to get right, test and maintain.

Now do all that operational stuff in a way that works with on prem installs (gitlabs primary customer type).

And then add in the fact that practically noones data model is that cleanly shardable, so add support for cross shard joins, and global tables.

Its pretty easy to see how a couple of read replicas (that are near zero cost operationally if you're using a cloud db) are a VASTLY simpler solution.

csallen
3 replies
8h56m

> No matter how you try to spin this, it's by all accounts an act of discrimination to pay one person less than another purely based on where they live..

Companies aren't gods charged with dispensing fair wages to us mortals. They are participants in the capitalist market.

And in that market, all prices are a matter of negotiation.

In any transaction, the buyer wants to pay as little as possible, and the seller wants to earn as much as possible. This isn't evil or greedy. It's a basic incentive that comes from the fact that people/companies/literally everyone prefers to have more money than less money.

Thus, your company wants to pay you as little money as possible, and you want them to pay you as much as possible. The same is true when the roles are reversed and you're the one in the buyer position. For example, when you're shopping, you want to pay as low a price as possible, and the seller wants to charge as high a price as possible.

Again, all prices are a matter of negotiation..

Power in a negotiation comes down to your BATNA, i.e. your best alternative if negotiation fails. Put simply, whoever cares the least has the most power.

In a capitalist market, that BATNA for the buyer is the next cheapest option. The next furniture store that's selling this couch for cheaper. The next adequately qualified software engineer in the Bay Area who's selling their services for cheaper. And the BATNA for the seller is obviously the next most generous spender. The customer who's willing to pay a little more. The company that's willing to pay higher salaries.

If it sounds like I'm conflating two concepts by comparing customers with employers, and businesses with employees, it's because you've been brainwashed into thinking these things are different. They're not.

When money changes hands, whoever receives it is the business. Whoever pays it is the customer.

That means, in the relationship between you and your employer, you are the business selling a service, and they are a customer paying for your service. Your salary is just a price. Your resume was an advertisement. Posting it everywhere was marketing. Interviewing was your sales pitch. As an employee, you are a business. (Someone just came along and renamed all the terms to confuse you.)

Which raises the question: Why on earth would your customer voluntarily pay a higher price than they need to? If all the stores in your area are cheap, why would they pay you more for your services than your neighbor is asking for?

When you travel to a country cheaper than yours, do you pay every restaurant, store, and taxi driver the same way you would at home?

No, you don't. Because that would be foolish. You pay local rates, which are less.

That's the same thing companies are doing when they pay lower salaries in cheaper areas.

zokier
2 replies
7h42m

If businesses were perfectly rational economic actors then all bay area/sv devs would be out of jobs.

When you travel to a country cheaper than yours, do you pay every restaurant, store, and taxi driver the same way you would at home?

No, you don't. Because that would be foolish. You pay local rates, which are less.

But if you could magically teleport to store or restaurant anywhere in the world, would you pay high prices to go to SV restaurant or store? No, that would also be foolish.

So local prices make sense of physical businesses because people pay premium for convenient access, for not needing to fly half-way across the world to do your groceries or whatever. But that same does not apply to full-remote developers; the work(/value) is getting delivered to the business all the same regardless where the employee happens to be physically sitting.

qznc
1 replies
5h59m

If the work/value delivered would be the same, then all software development would have migrated to Vietnam already. For some reason, companies think it is important that some developers are physically in Silicon Valley and they pay a lot to get that.

Is it about language and timezone barriers? No, because there are plenty of alternatives in the US as well.

zokier
0 replies
4h32m

If physical location is significant then it's not full remote position.

Beyond that, this is not just about sv vs rest of world, but about doing per-location adjustment based on local economic conditions. And it is pretty difficult to argue that the value of a developer to business is in anyway linked to their cost of living

DeathArrow
2 replies
8h14m

Reading this was quite refreshing, as I realized I am not the worst developer out there.

ahofmann
1 replies
7h39m

Do you think that the author is a bad developer? Why?

DeathArrow
0 replies
7h37m

No, I don't think the author is a bad developer. I was thinking more at the general situation at Gitlab.

DeathArrow
2 replies
8h15m

Location based salaries are discriminatory

How is that true? If a company pays $30k monthly in Bay Area and $10k in Netherlands, what should the unique, non discriminatory wage should be? $30k or $10k?

raccoonDivider
0 replies
7h56m

Always wondered that. It means everyone's salary is determined by the highest-cost of living area you want to hire from. Doesn't really make any sense seen that way.

michaelt
0 replies
8h6m

Some people believe that every employee's productivity and contribution to value can be precisely quantified, and fairly split between employer and employee.

I've always been sceptical of this myself - how do you value that code review where I stopped a junior engineer's XSS getting into production? Incredible value? Or 10 minutes of work?

zzzeek
1 replies
2h13m

"Many of the performance problems solved during my first few years at GitLab were N+1 query problems."

"Other frameworks have learned from this over the years and provide better alternatives. The usual approach is that instead of being able to arbitrarily query associated data, you have to pass in the data ahead of time. The benefit here is that if you were to forget passing the data in, you'd run into some sort of error rather than the code querying the data for you on a per-row basis, introducing performance problems along the way."

can someone...translate this for me into human? If I want to query for some data I have to ....first pass the data in? Where did I get the data? I can't parse this paragraph at all. Rubyists....

d_k_f
0 replies
25m

They're likely taking about being able to query for additional data from the view layer. Rails makes this very easy since you often simply pass along query results to the view, which are "database connected" ActiveRecord instances. This way you can easily build the infamous "iterate over Posts and show their Users" N+1 example.

According to them, other frameworks require you to fetch all required data before passing it to the view layer, thus preventing this issue from coming up on the first place.

usr1106
1 replies
9h30m

Regarding gitlab performance:

I moved from using bitbucket, first own servers and later SaaS to gitlab.com SaaS in early 2018.

I cannot say anything else than gitlab performance and UI being much better. I was permanently complaining about bitbucket, but very happy with gitlab most of the time. They had rather frequent partial outages, but resolution was always quick.

Maybe starting 1 year ago I noticed gitlab.com reponse times going down. It's not that things hang or are super slow, but they seem to consistently take 2 seconds more than what they used to. (The number is a complete guess, I have no measurements either before or after.) It's still usable, but no longer the pleasant experience it used to be.

usr1106
0 replies
9h19m

And following up to myself:

Being able to work from where I happen to live and I have thought about whether I would like to work for them.

That it's a good product would certainly be a motivation. However, frequent incidents being resolved fast must be incredibly stressful for the staff. I prefer to stay where we make heavy releases only a few times a year for regulatory reasons. (Even though stress levels can raise until the last MR for the release has been merged.)

tnolet
1 replies
7h40m

Interesting that the OP puts “caring about performance” so high where he admits that it had very little impact on business results.

If the data shows it does not matter for success of the company, why care so much and stress it is important?

qznc
0 replies
6h12m

My guess for a reason would be that developers rarely care for business results. The technical challenge of scalability looks more like fun than fixing yet another enterprise permission issue.

nitwit005
1 replies
8h44m

This then lead to the discovery that we didn't have any backups as a result of the system not working for a long time, as well as the system meant to notify us of any backup errors not working either.

This seems to be entirely normal for startups. I've asked about it during interviews.

gtirloni
0 replies
7h29m

> This seems to be entirely normal for startups

I have trouble understanding this.

Do these startups consciously decide not to have backups (for time/money reasons perhaps)? It makes no sense to me.

I've worked at some startups and most senior engineers know what's necessary to keep production systems running reliably. That includes monitoring and backups.

Could it be that this is entirely normal for startup with less experienced engineers doing things for the first time?

jatins
1 replies
7h52m

Story of bad management aside, this was also a highlight for me on the risks of early stage startup even when the startup goes big

In my case the amount of taxes would be so high I wouldn't be able to afford it, forcing me to wait until GitLab went public

I have seen a bunch of cases where people really want to leave the company but can't due to short exercise windows and taxes that come along with exercise.

One of the companies I know had to partner with a lender just so that their employees could exercise stocks. So now if the company IPOs you owe the lender a load compounding at 15%

Thankfully many newer companies seem to be going towards 10 year exercise windows, but they are still a minority

kevin_nisbet
0 replies
12m

Thankfully many newer companies seem to be going towards 10 year exercise windows, but they are still a minority

I'm actually a bit on the fence for the 10 year exercise window, as I'm not sure it's always a benefit. As I understand it, startup exits timelines are on an upward trend, so in 10 years will the average exit still be below 10 years, and even then are you working for a company that meets the average timeline. Then, from a taxation perspective, if you do want to exercise before the 10 year expiry, if it's cost prohibitive now, it should be bankrupting after a few more investment rounds and increases to the 409A valuation.

So I'm curious if there is a side effect here that the 10 year exercise window actually leads to many more shares becoming even more cost prohibitive to exercise right before the company reaches a liquidity event and as such not exercised (if you're in the early stage employee group).

y2hhcmxlcw
0 replies
4h18m

I can truly relate to poor management. I'm unsure though if the author is referring at times to poor engineering/HR managers, or poor product managers. At my company they call the latter Product Owners but it's the same thing I believe. I deal so often with both being terrible. I've had terrible Engineering Managers, who simply don't understand the tech, and in the worst case they think they do but don't. Add in some office politics and they can make life truly unbearable. Same for Product Managers but it's a whole other array of chaos. I've had a tough time with poor managers, and so I can really relate to that aspect of this.

What I wonder though reading between the lines is if Gitlab has reached a point where they suffer from poor Product Managers/Product Owners. I see that in later stage startups and especially large orgs. One would hope Gitlab, by nature of its product space, would never suffer from that, so if they are that's disheartening. I'm unsure what at this point would really differentiate Gitlab from Github unless it's devex, and to have good devex they'd need engineering centric product vision, I hope Gitlab is not losing that by hiring an army of "Business Analysts" or MBA's. On the positive, in some respects I like hearing that HN comments drive the vision at Gitlab :)

tovarisch
0 replies
8h10m

Everywhere I’ve worked there’s always been one burnout engineer like this who doesn’t really know what anyone else does or why but is absolutely convinced that everyone else except for him is an irredeemable moron.

toomanyrichies
0 replies
5m

Or as the Dutch saying goes: "Lekker gewerkt, pik!" (good luck translating that).

Google Translate says this just means "Nice work, dude!" Out of curiosity, is there some culturally-specific subtext which is missing from that translation?

tjpnz
0 replies
8h46m

I've seen some recent data on the salaries they're offering in my area. I like Gitlab but wouldn't be prepared to make those kinds of sacrifices to apply there.

skc
0 replies
5h53m

Also interesting that he publishes his new projects on github.

rwmj
0 replies
2h46m

> I think the idea of product managers needs to go in favour of giving team leads more power and having them interact more with users. To me, that's ultimately what a "product manager" should do: help build the product at a technical level, but also act as a liaison between the team and its users.

Yes! In my experience product managers bring very little to the table, and the most enlightening discussions I have are when I'm allowed to talk directly to customers. Very often I find out about pain points with software (often ones which are easily and quickly fixed) by talking to customers, which I'd never heard of before through product management.

mschuster91
0 replies
3h10m

No matter how you try to spin this, it's by all accounts an act of discrimination to pay one person less than another purely based on where they live. Think about it: if a company pays a person less because of the color of their skin or their gender, the company would be in big trouble. But somehow it's OK to pay a person less based on their location?

Yes, yes it absolutely is. My favorite example is a train conductor in the deepest netherworld of Saxony and a train conductor in Munich.

Both perform the absolutely same work, both in complexity and time, and yet with the usual "everyone gets paid the same" collective agreement, either the train conductor in Munich can't even rent a 1br apartment, or the train conductor in Munich barely scrapes by while his colleague in Saxony lives in a mansion.

Wage schedules in any multihomed organization have to be CoL based, there's no way around that.

moribvndvs
0 replies
3h1m

A SaaS and self-hosting don't go well together

About two months ago, I was commenting on my struggles working at a place that offered cloud and self-hosted solutions where it was not going well. I was mostly convinced that the problem was organizational, but thinking more about it, it’s more complicated than that.

To be clear, I don’t think it’s impossible to do both. If your application is very simple and self contained, then of course; we use such services every day in a variety of environments. However, you have to design the software from the ground up for simplicity, and to carefully dogfood your self-hosted experience via your cloud offering to ensure both models are aligned. And of course, complex system architecture is a significant obstacle; assuming your customers are going to wrangle dozens of microservices, multiple database and distributed caches, etc. is not reasonable for most organizations.

So, if you strictly and carefully design your product to be self-hosted-first, I think these two models can coexist… up to a point. If you’re fortunate enough that your cloud offering becomes huge, you might reach a point where the simplicity of self-hosted-first becomes a restriction that turns into a liability. At that point, you can simply make a decision: who butters your bread? That sucks for your customers who lose in that decision.

If I select self hosted, it’s often because I am concerned about lack of agency, control, and partitioning, or I need to flatten my costs, or I have an external requirement that is incompatible with the cloud offering. Is it not a risk, then, to hitch my wagon to a company that offers both, and at some point may make a decision to rescind or water down their self-hosted solution? If it’s closed-source or open-core, then I would say so. From that perspective, I think it would be better to go with a vendor that just picks a lane, and avoid those that use watered down self-hosted to funnel customers into more expensive cloud offerings (in other words, open-core model is a big red flag for me). I suppose this is maybe getting into whether you should rely on proprietary software whatsoever for vital parts of your business, but let’s not get into that. Like I said, I think the question is complicated.

mkl95
0 replies
9h4m

I recently spent a few minutes applying to a Gitlab position, only to get a link to some Gitlab wiki explaining the list of EU countries they hire at is limited, and mine isn't among them. I wish whoever posted the ad had spent a few seconds copying and pasting that list from their wiki.

mastax
0 replies
2h38m

That's not an exaggeration by the way: the only service running at the time was a New Relic trial account that only allowed monitoring of one, maybe two servers out of the (I think) total of 15-20 servers we had at the time.

I don’t feel so bad about my monitoring setup now.

languagehacker
0 replies
3h21m

Lots to disagree about here, but I'd prefer to treat the moral of this story as, not all the same people will thrive in a small company after it's hit a growth inflection point. This is okay! Without some of those folks who are willing to go broad and wear a lot of hats, companies can't get to where they need to be to start growing in the first place.

The responsibility of leadership and managers in this situation involves creating venues where early, impactful employees can be adequately rewarded without becoming impediments to their personal growth or the growth trajectory of the company. Imagine how much less burnout the author would have felt if the stock situation didn't keep him locked into the company far beyond when he didn't feel welcome.

I've worked at enough places where early contributors white-knuckled their way through changing values until the first possible liquidity event, or just left a big financial upside on the table because they couldn't make the numbers and their sanity work at the same time. These "growing pains" result in burnout, poor quality and communication from individuals we've previously trusted as veterans, and a tumultuous culture with conflict between the old guard and new layers of management.

I believe we can minimize the friction on both sides by significantly increasing the exercise period for stock options, prioritizing hiring growth in duplicative roles for individuals showing early signs of culture clash and disengagement, and empathetic coaching that names the problem (terminal burnout) and includes resources for teams or companies that better fit that person's disposition.

kunley
0 replies
7h42m

Very interesting to read as a former employee of a company being Gitlab's customer, self-hosting EE production and solving everyday problems, with their support also, during the described years

jumploops
0 replies
9h23m

The time it takes to deploy code is vital to the success of an organization

I've found this to be one of the most important metrics (if not the most important) for maintaining developer velocity as a startup scales.

Context switching is one of the most expensive operations in a developer's day-to-day work, and also one of the most ignored.

Managers love to build team schedules around their personal schedules, but this is often disruptive to ICs' "maker schedules."

Many orgs identify this and focus on the scheduling cost w.r.t. context switching, but the build-to-deploy time is equally (if not more) important for developer ICs.

intellectronica
0 replies
7h48m

This is an interesting read and I am grateful for the author sharing their experience.

One thing that I could pick up is that the author is somewhat bitter about their experience, but isn't really taking responsibility for their own contribution to getting into the situation.

At most companies that are not evil and not exceptionally dysfunctional (and I presume GitLab is neither) getting to a state where one is put on a PEP/PIP is preceded by a longer period where they had indications that they are not performing in accordance with what is expected of them. Also, at most larger companies consistently "meeting expectations" is not hard, if you're in a role you're skilled for (which it sounds like the author was) and willing to receive the explicit and implicit signals from your environment, especially the hierarchy above you, and adjust.

Being able to make these adjustments and work effectively as part of a complex environment is an important part of working at a larger company. Not taking responsibility for the need to learn how this system works and adjust accordingly is counter-productive. It sounds like the author realised that rather late. Perhaps they could have had a better experience if they figured that out earlier.

higeorge13
0 replies
8h31m

I wish the ‘More people doesn't equal better results’ would be put into every manager door and desk. I would also add more results to the quote to make it even more accurate.

hankchinaski
0 replies
2h56m

Location based salaries are discriminatory

While I understand the feeling, I would be pressed to say that this is purely driven by market dynamics. Companies that hire in a certain market have no incentive to overpay compared to the local market rates.

Software engineering has now become commoditised. This holds true for remote companies. Wages are a function of local supply/demand and labour costs in that location.

If you want to follow the same logic, you would expect to pay a coffee $10 in Brazil as you would pay in NYC. Following the same logic a coffee shop in Rio de Janeiro would say “location based pricing is discriminatory”.

Markets don’t work that way

christkv
0 replies
5h27m

I never had a problem with location causing differences in pay. However that it extends to options grants always seemed to me as utterly incomprehensible. Why should you living in the Bay Area mean you get a massively bigger lottery ticket than somebody in Europe or India.

Waterluvian
0 replies
3h51m

The paid by location argument is a challenge for me. On one hand I really like meritocracy. Be paid what the job is worth. Or rather, what the market bears. But then the tone changes the moment the market expands internationally. Lots of people ready to do the job for far less.

Sometimes I sense a hypocrisy. A demand for things to be fair… but only within this artificially delineated geography.

On the other hand, nothing will make it not feel freakishly weird when HR needs to “approve” you, a 100% remote worker, moving somewhere, as a mechanism for cutting your salary.

PeterStuer
0 replies
4h29m

"Location based salaries are discriminatory"

You have to understand companies will pay you the minimum possible to get you to join/stay.

DeathArrow
0 replies
8h24m

In spite of all this, I'm not sure what alternative I would recommend instead of the combination of Ruby and Ruby on Rails. Languages such as Go, Rust or Node.js might be more efficient than Ruby, but none have a framework as capable as Ruby on Rails.

Go would be a sensible choice.

Both .NET and Java have very good frameworks and are good choices for large scale development.

Rails is nice for small to medium websites, but for large microservice based apps will present some issues.

DeathArrow
0 replies
8h27m

A SaaS and self-hosting don't go well together

There are countless counterexamples.