Gitlab's Guide to All-Remote
about.gitlab.com
about.gitlab.com
This is a big problem for many development teams. Sometimes you just want to open a blank whiteboard and scribble some boxes and brainstorm or troubleshoot some things. The whiteboard is an inseparable part of nearly every meeting.
And no, remote "canvas" whiteboards don't work. They end up looking like this: https://cdn.drawception.com/images/panels/2015/3-3/jLndYAfNf.... Is there anything good that really solves this problem?
What problem is the whiteboard solving?
Drawing freely with a mouse is something that can be done but also you have tools like draw.io if you need to draw something.
I'm honestly more surprised that this isn't a universally known concept on HN. Scribbling on scraps of paper is something most people in western countries have done since pre-school.
My point was more why does it need to be a physical thing. Like a whiteboard.
we, for example, use hackmd.io and draw.io/figma for quickly drawing. It is also easier with this to archive this and change or copy later.
The larger the organization, the less one person can hold the entirety of the solution in their head.
Even now that I’m not remote all we use the whiteboard for is bulleted lists which easily can be done with notion or google docs
Yes, you could probably accomplish the same thing by writing up a proposal spec document (which you'll need to do eventually) but the downside of doing that during the drafting stage is that it lengthens the feedback loop and not everyone will read such a document thoroughly and leave a thorough review. In-person whiteboarding is usually much faster and everyone in the room is almost always on the same page.
Both people thought their whiteboarding was indispensible. Neither person's actually were, even the guy who was quite effective at drawing his ideas.
I think it depends on the communication skills of the team.
Anyone who plays some form of "Win, Lose or Draw" or "Pictionary" will quickly realize that most people aren't as good at visual communication as they think they are.
Myself, I've been in too many whiteboarding sessions where the whiteboarder either spent too much time trying to "live bake" their idea on the whiteboard or simply produced an incoherent mess.
If you just want to capture a list of ideas, google docs will let people collaboratively edit a document or you could just have one person share their screen and capture verbal ideas.
If you want to diagram things, pen and paper + a camera can be just as effective if not more effective than a whiteboard. Often it's better to have the whole team do a sketching exercise and share their results which isn't really effective on a single whiteboard.
More importantly, whiteboards are never going to be effective for remote organizations for the same reason hallway conversations / voice chat aren't effective. It builds knowledge silos as only the people who were there understand the context of the whiteboard even if you photograph it.
A less sophisticated variant that works well for a lot of cases is draw.io (personal preference; other diagramming tools might work just as well). It doesn't give you real-time collaboration of the same board and also no freeform drawing, but a lot of the things you want to articulate in meetings are diagrams anyway. Whenever you want to articulate an idea, you just open the page, and screenshare that.
We absolutely are. I think I spent over a decade hoping for an extremely-low-latency pen-based note taking solution to show up to replace my use of pen and hardcover notebooks. If anything, I was romanticizing the notion of replacing a simple, inexpensive tool with expensive technology.
We're pretty close to that now with the iPad Pros, but since I've been remote for several years now, I've given up on that idea of a stylus based tablet solution altogether. These days, my preference is to use a live-conversion Markdown editor. If I was still in the Apple ecosystem, I guess I'd pay for a Bear subscription, but I'm on Windows, so I've made do with Dropbox Paper (I didn't expect to like it, but it's been surprisingly good for my use case).
That said, I usually take typed notes (and maybe shoot a few photos with my phone). I can type faster and more legibly than I write and it's easier to turn these notes into a report/article/etc. (Of course, I can always record the whole thing too if I want.)
Bear looks interesting. I haven't looked at my options for a while.
Cintiqs, iPads, and other tablets don't require this adaptation, though. I've also been kind of amazed how well people can write using mice when forced to (from watching MOOC classes).
I bought a Huion drawing tablet (H610) which was relatively cheap and works well enough for most cases. No screen on the tablet itself, but you quickly get used to drawing while looking at the screen (there is a sort of halo surrounding where the pointer should be, so you're not using it blind). I can see it working quite nicely for whiteboarding.
https://gsuite.google.com/intl/en/products/jamboard/
I can access it under drive.google.com > New > More, on my gsuite account
It's a canvas solution, but if you have a stylus with a table then you can get pretty good outcome: https://s1.whiteboardfox.com/s/27e946824d29abc2.png
You can also 'replay' your whiteboard session: https://whiteboardfox.com/1428618-3583-6927?replay&speed=4.0
Hackerrank (I work here) has included this in the remote/pair programming service. You can run it by going to https://www.hackerrank.com/products/codepair and clicking "Start session", and sharing with the ther user.
I believe it's built into Teams now too.
Real-time collaboration with text is so essential that this weekend I worked on a proof of concept with a friend to bring it to Gitlab issues https://gitlab.com/gitlab-org/gitlab/-/issues/21473#note_301...
I market it to teachers for use as a remote classroom, so it's nice to be able to help out a bit. Though I'm a bit conflicted about marketing it too much right at the moment. The last thing I want to do is profit from the current situation.
In fact, whiteboards, imo, are not particular good for this as they require everyone to be present in one place at one time to participate, you can add links, you can't capture side comments, there is no edit history, etc...
We use Google Docs heavily to capture rough ideas, blast them out, get comments and input, and iterate. If we decided that we would benefit from the input of someone that we did not anticipate, it's trivial to send them a link and ask them to comment when they have a chance. Those docs often get thrown away after they served their purpose, in the same way that a whiteboard gets erased.
Rather go try the code that I have ideas for, instead of talking back and forth. Most things I can be verbally told what they want and then I just go attempt it.
Not everyone thinks visually. I'm also baffled when people ask for network layout diagrams or want to show me them. I just don't care about seeing that stuff in a diagram - it very seldom gives me information I feel I'm not getting somewhere else.
I've trained myself to do the whiteboard talk now because it seems to help some people. So if I'm communicating a design idea or whatever I'll often draw a diagram while I'm explaining it.
You need a stylus so it doesn’t look like trash.
With 15 years of career in web development, I've never really seen or thought about using a whiteboard in a meeting. I don't know if it would help but I've managed to get by this far without it.
I've often pushed for having a personal white board just do dump out my own ideas for both personal and group settings. For lectures, we've just pointed a camera at the whiteboard. This is problematic because many whiteboards are shiny and you have to get most web cameras pretty far away to frame the whole thing. I've seen some experimental software that will detect markers and composite it over the image (for when people stand in front of the whiteboard--another common issue) or just increase the contrast of the writing.
I think it's a mix of new tools and new software instead of just new software using the same mouse+keyboard+Internet.
>>
3. Writing down and recording knowledge over verbal explanations.
4. Written down processes over on-the-job training.
5. Public sharing of information over need-to-know access.
6. Opening up every document for editing by anyone over top-down control of documents.
7. Asynchronous communication over synchronous communication.
These remote work principles have the direct, or side effect of breaking organizations that are "moral mazes," and hyper political bureaucracies.
The reason organizations suck is because managers just talk instead of producing data, which is basically conspiring to steal value instead of creating it for the organization.
I see this today, where I make an email request, and the person follows up with a phone call, then misrepresents what was agreed to on the phone to others. At one site, I literally stopped answering my phone for anyone I didn't directly work for, because I knew those people were just using the verbal channel to create uncertainty about what was said and leverage the resulting confusion.
The WIFO rule solves a lot of org problems. (write it, or f-off).
I know this misses your point, but both at work and outside I've gotten into the practice of emailing immediately after a phone call with a summary of the phone call. It's kind of a lawyerly thing to do, but it's a contemporaneous documentation of the phone call you can point to later.
To me, this implies a further disadvantage: extremely high latency when compared with in-person collaboration. That can be fine for some things. But there's all sorts of work where I really value live discussion.
I know that some remote-first companies tend to group related work by timezone, so that teams can be both distributed and low latency. I take it Gitlab isn't one of those?
I feel like while that's generally true, it depends. Not only because you might underestimate my ability to sleep with my eyes open. I've seen quite a few projects where in-person meetings were either badly planned, went overboard in terms of frequency / number of participants, or people were simply inattentive for other reasons. There's lots of scenarios where communication devolves to the point of asynchronous communication despite meeting face to face. Quite a few meeting forms type up notes or minutes for a reason. Many meetings in my experience are just superfluous "I felt like talking" scenarios, which is fine but it certainly does not make for a great communication strategy.
I'd say it depends on who would meet, for many groups other forms of communication like e-mail/IRC/slack work just fine for a majority of issues without introducing much friction. But sure, for others it might break down completely.
Probably depends on the team, individuals being able to self-organize and their experience. While some companies may see timezone distributed teams as disadvantage, I believe it is an opportunity to have a continuity of work and getting things done faster than if you had a single 6-8h time slot.
If somebody is going to pick up coding right where I left off, I need to transfer a lot of state from my head to theirs. At best, this takes a lot of time. But what's more likely is that things get In software our true enemy isn't time, it's error. It takes seconds to create a bug, but often takes hours or days to remove it. It takes minutes to misunderstand the purpose of a feature, but days or weeks to rework the code to match actual need.
I think if we want to get more people at the coalface, the right solution isn't working in shifts. (If it were, we would already be working in shifts without regard to timezone, just like factories do.) Instead, it's to increase collaboration, which requires much more synchronous communication. E.g., techniques like collective code ownership, pair programming, frequent pair rotation, cross-functional teams, small units of work, continuous delivery, and very frequent releases (daily or more often).
Since very few people work like that, I think it's reasonable to assume that faster results are not in fact a priority for most businesses. So the "distributed timezones are an advantage" to me sounds like an after-the-fact justification, not an actual solution to a problem.
This is not an implication by all means.
Low-skilled not very well incentivized junior team (let's call it so in absence of better terms) needs more/most "in-person collaboration". Team of experts to whom the goals and the overall vision have been conveyed, who knows how to put it to practice, will give the shortest latency in async flows.
Don't take it as a personal attack, but people valuing high live discussions, are frequently those on the receiving end of it.
What you're describing is a push model. Somebody on high creates a vision and assigns goals. Workers are just seen turning that into outputs. It's a common way to work, especially in "known problem/known solution" projects, but it has its flaws. See Cutler on "feature factories", for example. Or Blank's "Four Steps to the Epiphany".
But what if the solution or perhaps the problem is unknown? Push systems don't work. Instead, I favor cross-functional teams that pursue outcomes (as opposed to outputs). In that context, the vision is a living thing, created collaboratively, as is the plan. Problems are explored, and solutions discovered. The speed at which a team can learn and test solutions is limited by communications latency.
And of course experts aren't born that way. Even if you're in a "known problem/known solution" space, sustainable companies need to find ways to turn novices into experts. Again, that's about learning, which does not work well in high-latency environments.
But even when you work in the same building you still have to find a time slot that fits for a meeting. Of course, you can also drop by the other's office and hope to find them ready for a chat, but there's no guarantee.
And for remote companies I imagine that people actually have more time slots open for (video)chats, because people don't have to allocate extra time to travel between meeting rooms.
Of course, the dynamics of a live discussion are somewhat different from a digital discussion. But I think the availability/latency issue is a misconception.
That is definitely not the only way to work. A cross-functional team sitting together and focused on outcomes can be much more organic than that. Think of the writer's room for a show, for example. That can sound weird, but Devin's "Artful Making" does a good job explaining the parallels between knowledge work and how theater/TV/movie people work.
First, it's high latency, not extremely high latency. Second, it has huge advantages: 1.) While latency (in terms of how quickly you finish task) will increase, your bandwidth will increase too. Everyone get more done. 2.) With asynchronous communication, you are not interrupted by communication, you can do it in bulk.
In case there is something urgent, you always can do a call, or synchronous chat.
It has to increase to make up for the round trips you can't afford: you try to communicate more information in one batch. Whether this is good or bad really depends. On one hand, I think it just forces communication to be better, on the other hand you might waste time communicating things that you'd immediately find to be unnecessary if you were interacting live with the other party.
As to high vs extremely high, I'm not sure arguing over relative terms is useful. But just so it's clear what I mean:
If I'm working in a team room with colleagues, my average latency between request and response is, say 15 seconds. But in globally distributed remote work situations, a much longer lag is not uncommon. E.g., when I was working with European colleagues, it was typical to get a response the next working day. That's about 5000 times longer, which seems pretty extreme to me.
Organizations can have a personal preference for co-located work, but, I think the marketplace will select those organizations out. I think this will unfold over single digit number of years.
From what I have observed, most of the resistance to remote work is really driven from the top; by less adaptable leaders.
But I agree that remote (and the practices it encourages) are currently a competitive advantage.
Organizations approaching remote have a helpful speedbump that encourages them to take an intentional look at the way they disseminate information. Being fully remote is an accountability structure that helps ensure that everyone is following those practices.
There's nothing that would prevent a well-run colocated company from capturing those particular advantages, but such a company would probably slowly drift remote as companies like Buffer (and GitLab!) have as they grow and look for new talent.
Other HN members have pointed out previously, that it looks like a landing page where you need to leave your e-mail address. You don't. You can download the PDF from here directly.
How do you adapt that to the scrum process which has a burndown chart based in the time spent on tickets.
We measure efficiency by measuring the MR rate, the number of merge requests in a month devided by the number of engineers. To game the number you have to split work up in smaller Parts which helps cycle time, coordination, predictability, and quality, for example smaller changes are easier to review.
I am used to the web ex approach for collaboration but again this is limited by bandwidth issues. if anything hopefully this shows people how many meetings are just unnecessary
At our company [1], we've been receiving an incredible amount of inbound. People really need tools that don't get in the way —we're a video-first async comm platform— and I'm happy our team is being able to help these companies switching to WFH.
The team and I are happy to help anyone with setting a basic process of communication for companies moving to WFH during these weeks. Just write to me at jp@standups.io and we'll be happy to jump in a call and see how we can help.
I have delayed sleep phase disorder (sleep-in late; fixed by camping / sunlight) and live in a van in (roughly) CO, so the perfect job for me is working remote with a team in San Francisco. I currently work in-office with a fairly major start-up.
Seems rational unless I'm actually trying to do the 'selling myself / interview' part.
This 60+ pages book is the result of months of research and interviews with successful remote companies (it’s usually a part of our paid product). We collected tips on pretty much everything, from onboarding to communication best-practices, to tools you should consider.
The content is sent to the Kindle via the email service: https://www.amazon.com/gp/sendtokindle/email
Depending on your Kindle settings, you may have to set the FROM address in the push-to-kindle page.
https://addons.mozilla.org/en-US/firefox/search/?platform=wi...
Interestingly, the link from Amazon, clicked through your link, is dead
https://addons.mozilla.org/en-US/firefox/addon/sendtokindle/
seems poorly rated when it was available 3 years ago
"I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn't like it really, because it had the smell of a toy language (it still has). The object-oriented language seemed very promising. I knew Python then. But I didn't like it, because I didn't think it was a true object-oriented language – OO features appeared to be add-on to the language. As a language maniac and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for but couldn't find one. So I decided to make it." - Matasamoto.
[1] - https://remoteleaf.com
What I don't agree with is the pay scale they use based on your location. If you have the same skills, you should be paid the same.
I live in Poland, where the gap between IT and non-IT is staggering. Teaching programming easily nets me 5 times as much money as a regular public school teacher would get. Same goes for regular development work: developer salaries here are 4-6x the average salary. Are we making that much of a bigger impact on society?
Any time I visit a hairdresser, a car mechanic or anyone from the services sector and I wonder why things are expensive, I compare their hourly rates to mine. The hairdresser may be getting something like 20% of the money I'd make in that time – and they have to support the salon for some of that as well (also, they're just someone else's employee, so they get maybe half of that in the end). No longer does it seem expensive at all, and it goes for any service I can imagine.
Make these people better compensated... and I'd no longer be rich. We'd all be pretty much the same. Perhaps that's where the fear you see in some other comments here stemming from – "but this will lower the salaries for the top X%!". Yes. We'd have to admit that we're not special in terms of our contribution to society – just lucky enough to be in a booming industry. Or perhaps a growing bubble.
And sure – my work has the potential to produce a lot of value. I recently wrote software that will (indirectly) enable a large warehouse operator to essentially fire their entire workforce and replace them with robots. Last I checked, the individuals currently in that workforce make something like $5 an hour, and the business owner is proud enough to put that on their job ads. When the automation machine is finished, these people will be unemployed. How will they be making their living? Nobody in the process cares. So how has my work improved the society? In the end I'll still be stuffing myself with delivery sushi and roaring a big car on the highway – thanks to the growing supply of more and more cheap labour.
I've now digressed very far from the original discussion. But being aware of this is an endless source of frustration for me, and every discussion about "what is fair compensation" awakens it :|
Do you really feel "rich" as a hired employee? Eating sushi and owning a car is "rich" for you?
Relatively rich, yes. I don't think any other kind of rich exists – there's always a bigger fish :) Were we on a different website with a different audience we may be having this conversation about private jets – or a dinner at a restaurant. Perhaps "rich" was the poor choice of the word (no pun intended), but I think the meaning is preserved.
And yes, you're right: it's not because of me, I'm just a bigger cog in the same machine, and similarly exploited, just for a bigger share. It is because of the capitalists – but I believe that's what the discussion is about here. Gitlab deciding that it's not worth it to them to pay everyone equally (or according to their value) because it's “not worth it” for them – they won't be able to keep as much to themselves. Their arguments for it[1] are as weak as it gets: they literally say that they don't want to pay people better because they'd rather acquire more companies – that surely makes the underpaid employees feel better.
[1] https://about.gitlab.com/company/culture/all-remote/compensa...
There are many definitions. I think the most useful and wide-spread one – even among non-economists – is from the OECD: you are rich if your household equivalised disposable income is ≥150% of the median of the country.
If you want to find out whether you meet the criterium, then try to find some newspaper articles on the Web about the poverty line or poverty gap that embed JS calculators. Otherwise see http://enwp.org/Equivalisation if you want to crunch the numbers yourself.
Sounds sensible, thanks.
But be careful what you wish for as now you'll be able to afford much less. Nice house in a family friendly neighborhood like back in Poland? Forget about it!
This issue here is, I think, that employees _at Gitlab_ aren't paid the same for the same work depending on where they live. The issue isn't that in general developers are paid depending on where they live.
Why is that? I don’t necessarily disagree with your statement. But why would it be fair for someone of equal skill to be able to afford less food and healthcare just because they live in a place with higher prices and higher taxes?
Should everybody be incentivized to relocate to a developing country or tax haven because of the internet and your equality rule?
It's not true for every industry (e.g. Games), but definitely true for most.
In Gitlab's case it's 100% true.
If a SF company wants to hire me remotely, I'll take the job at 1.5X, so they won't pay more than that. The simple reason is this: If I don't want the job at 1.5X the local pay, I my neighbor does, and he's every bit as good an engineer as I am. When they do hire me at 1.5X my current pay, they have bought my skill at the local market rate.
Taking that further: as a human you are also part of the physical community that you live in. A developer in a small town might help out the local library, whereas a developer in a big city might organize tech meet-ups to help their peers.
I'm not saying one situation is better than the other, but I can imagine not just different price points, but also different valuations for equal skill depending on location.
In the latter case, from a strictly economic standpoint, you'd prefer workers to pay you (eg us prison labour...).
In a strictly value-add/profit share the more value a worker produce, the higher the compensation and the higher the company revenue.
Now software business (knowledgewwork) is typically somewhere on the scale between these two.
I'd personally say that given gitlab's product and business - they would probably be better off leaning a bit more towards the latter - allow a great softare engineer in rural UK or eastern Europe get (locally) silly rich;and allow those that feel like it to move to less crowded locations without docking their compensation. As long as they only get a share of generated added value, this should be a win-win.
But I am not the owner of gitlab.
Generally what you do with your money should not be a business of your employer.
> Should everybody be incentivized to relocate to a developing country or tax haven because of the internet and your equality rule?
You're silently assuming the quality of life in developing countries is the same as in other countries and the only thing they differ with is the level of prices or taxes. This is generally not true.
Generally what [your employer does] with [your employer's] money should not be [your] business.
This seems irreconcilable.
Lets say your mother has given you her old car to drive and you just pay insurance and gas.
Lets say I bought a Ferrari Roma.
What you are saying is that you'd find it unfair if I were paid 'as little' as you, because I have to deal with the expenses of paying off my Ferrari. I'll take that deal.
Yes, actually. Well, tax havens shouldn't be legal in the first place, but getting people with good salaries into poorer countries is good, because they pay taxes there.
Of course, the vast majority of people would actually not go to poor countries, they would simply leave cities. Which is also something that should definitely be incentivized.
What's your reasoning here? Compared to many jurisdictions, the US is a tax haven.
Why not? Why can’t each country decide for themselves how much tax they want people and corporations within their jurisdiction to pay? Shouldn’t be legal in what jurisdiction? Why should any other country get any say with how a different country conducts its taxes?
Absolutely. I am living in an Eastern European country, and yes, the local market would absolutely need people with western income: all the restaurants, local services, and the local economy would benefit from this. With practices like Gitlab, our local market would be locked into this shitty state it is in right now. Basically they lock us into not being able to export our only product for a good price: we export our 'knowledge' for cheap.
But I think if all-remote will be a thing, this will be unsustainable. People will fight these immoral practices with 'cheating': what stops me pretending to be living in a western country (even renting a cheap flat there), but staying most of the year in my country? Will they examine my nationality or citizienship? Pretty scary stuff, but I might apply for a western-country citizienship then. If they fuck with us, we will fight.
pay your local in-house employees based on what suburb they live in, workers who live in expensive areas should be paid more because it costs them more
But generally there is no such thing as a "single" purchasing power. Some local goods may be cheaper in developing countries, but some others can be more expensive. If you don't know exactly what an employee is spending their money on, you can't really tell the purchasing power of their money. A big family with more kids may spend more money on local goods, transportation and housing, but a single person may want to just save-up 80% of their salary for a new Tesla, which costs just the same everywhere. Therefore adjusting the payouts to the local prices level will always be unfair to someone.
If one could get a Tesla at a 70% discount just because they live in a developing country, then the story would be different. But they can't.
I for one would love to be encouraged to move further out to the countryside. That's the long-term plan anyway.
The cost of life is totally irrelevant, the alternative options someone has in he market-place based on their location are. Did you look at those numbers at all?
It felt like it would be a perfect fit, based on our shared cultural values regarding remote work, transparency, open source and other technology choices.
After seeing the calculator, I decided not to interview at all, and had another remote job a few days later with more pay than I had in Boston and New York. I live in Bangkok, Thailand.
I for once would like to know why they refuse to hire contractors from Western Europe (is it a legal thing ?) :
{"country":"*","contractor_factor":1.17,"entity":"GitLab BV"}],
"countryNoHire": ["Iran","North Korea","Crimea","Syria","Sudan","Cuba","France","Italy","Brazil","Spain","Romania","United Arab Emirates","Sweden","Argentina","Philippines","Austria"],But, why single out France, Italy, Spain, Romania, Sweden and Austria out of EU member states? What problems do they have which other EU member states lack?
Similarly, if Argentina and Brazil are a problem, what about Chile, Uruguay, Paraguay, Venezuela, Colombia, Ecuador, Bolivia, Guyana, Suriname, etc?
Likewise, why would UAE be a problem, but not Iraq, Kuwait, Saudi Arabia, Qatar, Oman, Yemen, Jordan, etc?
They are totally not the same in EU, not to mention Latin America or Middle East.
[1] https://about.gitlab.com/jobs/faq/#country-hiring-guidelines [2] https://about.gitlab.com/jobs/hiring-status/
To operate legally as a business in most of those countries on that list adds complexity that leadership has deemed "not yet". Doesn't mean forever, just means, not yet. I've seen countries come and go off of the list.
Source: 3.5 years at GitLab.
They had some pretty ridiculous workarounds, like using teamviewer for its voice chat function.
When you sell physical stuff worldwide, nobody will be surprised if you won’t ship to some select countries because of local safety regulations, bad postal services or other local difficulties. When you hire people, these local difficulties increase tenfold, and I can totally understand why GitLab does not hire everywhere.
You may also notice that in most “first world” countries they hire through a proxy (listed in the same file), and it seems like in “no hire” countries they just couldn’t find a proxy yet.
Poland - 33.3
Czech Republic - 37
Belarus - 41
Moldova - 41
But I looked at GitLab's compensation recently when I was switching job, and even when I maxed every thing out (not saying I'm that good) the pay for the UK was terrible - completely unworkable for a professional software engineer on the global market. I think they had the UK as having lower cost of living than places like the Czech Republic. I know for a fact that cost of living in the UK is not lower than in the Czech Republic. But worse than that they had these little islands of reported higher cost of living. Individual cities like Bristol. I suspect someone influential lived there and wanted to be paid more and they managed to get a special case.
I think I earned more as an intern while a university student with another company, than GitLab's top-tier engineer salary.
Vancouver is more expensive than Seattle...
And Cuba is 41.1, while Mexico is 35??
But yet, even Uruguai has a bigger coefficient. :-)
Given how rare this is, we probably should praise them for the transparency.
Because what we are doing here is the very reason companies are not transparent in the first place: you never get praises, only critics.
[ADDED: Although it looks as if they've made their calculator more granular so that high CoL city doesn't carry over to other areas as much.]
But I think that if GitLab is able to pay somebody in the US one wage for work, and they hire somebody equally qualified in Australia that will be producing the same work, they should be paid the same. Well, it's up to GitLab to decide what they're paid, they shouldn't be forced to pay them the same, but I wouldn't work for a company that didn't.
I'm also surprised GitLab are away to get away with it with all the fuss made recently about discrimination. Is this a form of geographical discrimination in terms of unequal pay?
If anything, pushing for a worldwide universal salary would likely lower earnings of the top X%, simply because most of the world isn't as expensive as SF/NYC/London.
If you can afford to pay San Francisco developers a given salary, you can afford to pay Des Moines employees as much.
Let the employees benefit from their cheaper location rather than taking that away from them. Otherwise where is the incentive to declutter cities?
In a lot of ways, this extremely high baseline benefits everyone else in the industry, even if they don't directly work in SF/NYC/etc. The salaries of Des Moines developers are probably higher than they would otherwise be, as compared to other professions.
And while it's nice to think that companies should pay people the maximum amount of money that they can afford, this is unfortunately not a rational economic move and it will collapse the moment any financial difficulties come into play.
Then you have to ask why do these clusters exist - with high skills, high salaries and high costs?
In my view, that's because there is value created by proximity.
It is more productive to have people co-located in the same office.
Also if you live in a major university town, or high tech area then that accelerates the exchange of ideas, particularly outside peoples direct areas of interest. This makes for better networked, more creative employees.
Co-location of companies also increases the chances of collaborations and deals.
The phenomenon where of Googles/Facebooks/etc. offering mostly very attractive comp in spite of Bay Area CoL is actually relatively recent. Going back a couple of decades I looked at some employment options in Silicon Valley and the comp uplift wouldn't have covered the higher CoL relative to Massachusetts. And the companies freely acknowledged this.
ie great people don't want to be competing on cost for work, unless they can capture some of the value of their greatness.
eg price for work completed rather than by the hour - so if they finish it in the half the time then they keep that value.
On the other hand, people currently average skill or below ( half... ) are more likely to be better off being paid by the hour.
So if you take a pure economic view, and everyone was behaving rationally, then a cost based hourly recruitment model gets you average and below workers.
ie you get what you pay for at equilibrium.
Of course what they are hoping is to exploit not being at equilibrium - countries with relatively high skills and low costs.
However they are going to be competing with companies based in those lower cost countries ( eg India ), who have both the low cost environment advantage and the ability to recruit locally and better select and retain employees.
My experience of working with even locally based companies that compete on price is high staff churn ( as the good ones find better employment ) - which really damages productivity.
That’s not really true. There are companies with a few employees in expensive locations and many in low income regions. If you switched everyone to the same salary you’d bankrupt the company. I certain don’t assume to know what Gitlab’s financials look like.
What if a company is paying above market rates for all their employees in their chosen locations? As a thought experiment, assume each of those people was the most suitable employee in their field. You’d pay them what they wanted in order to make it work. What if one of those people had a special situation with say dependants? Would you pay them a little more to relive that so they could work for you effectively?
There's a slight of hand going on here, where you at first assume all employees are fungible, to mention it's not possible for some firms to pay all employees the same.
But then you ignore that, before someone is hired, when they're merely a potential-hire, they _are_ (basically) fungible with all the other potential-hires. If you can afford the most expensive one, you can afford the cheaper one.
No one suggested paying everyone the same huge amount. But if you are paying Huge Amount X, that can go anywhere.
In equilibrium, you'd expect someone's programming skillset not to massively drop in value because they moved slightly far away in essentially the same legal jurisdiction. Until we reach that equilibrium, there is money waiting to be collected by firms who hire American engineers to work remotely.
Also it is not that devs in SF are especially good; I would guess that the distribution of skill is power law (specifically the number of devs in the global n-th percentile as a function of the total number of devs in the hiring pool) and it might be argued that the competitions is counterbalancing any positive effect of that.
In the end it is a position of which job market do you want to be in.
People come attracted by good jobs, but it turns out it is hard to find a place to live with a good commute. The demand drives prices high.
Salaries should be a function of value produced amortized across the convenience and reliability of a predictable salary for the employee. Where I am sitting has no bearing whatsoever on the value produced and it is the primary thing that prevents me from pursing a job at gitlab.
Also this argument ignores the side benefits having an enormous salary offers you. (e.g. X% into your pension is a bigger number)
> If anything, pushing for a worldwide universal salary would likely lower earnings of the top X%
Sounds fine to me.
Salaries should be the equilibrium price where an employers willingness to offer a salary meets an employees willingness to accept one. The only surprising thing about their scale is that they’re willing to hire people in high cost-of-living locations at all.
Company, I work for, has office in capital city, and offices in smaller cities. Talent pool of capital city would easily accommodate us. Other offices exist because it's cheaper to hire there. If cost would be the same, they would simply cease to exist. Cost difference in means of the building is less than 5% of overall monthly budget, so, while helping it's not deciding factor.
But it is not that trivial.
Paying the same will be unfair to those living in an expensive location, finding the means of living while others retain more for the same amount of job.
Also some are born there perhaps, all human connections tie them there...?
Choice of lifestyle? Hahaha!
Also, why must you move 'there'? I understand that my life is more expensive where I live than it is in the developing world, but I get a in return for living here. I wouldn't find it fair if a remote colleague made less money than I do just because of them living somewhere else.
France for instance is not supported for full time employees, as far as I know.
It does sound quite rigid in its implementation though.
This chain seems to have lots of excuses for not paying same salary for same value added, but I think it is about the same as the thing with sweat equity being somehow less valuable than cash equity.
Only real reason they f#ck you is because they can.
Probably has something to do with how few people they employ.
I think you can understand why that’s not a great idea from a company sustainability stand point.
Why? How is it any different from moving manufacturing or support to a country with lower cost of living? A honest question.
Once remote employment is so widespread that an SF company hiring someone in india actually competes for their competence with every company in the world - then that will change.
https://www.theladders.com/career-advice/how-i-perfected-tra... https://doist.com/blog/travel-remote-work-digital-nomad/ https://www.refinery29.com/en-us/remote-work-digital-nomad https://www.thebalancecareers.com/working-remotely-while-tra...
etc
Here's a US tax attorney talking about it:
[1] https://www.chiangmaicitylife.com/citynews/general/immigrati...
[2] https://about.gitlab.com/handbook/people-group/global-compen...
I've studied the system a while ago when considering to apply there and found some areas with comparatively low cost of living while having a large conversion factor. People only complain about conversion factors if they are low but there are also higher ones. If you are ready to move, you can still make lots of money (the priority for this part of my career).
With Gitlab I could stay inside europe with the european healthcare system while not worrying about US visas, working remotely and asynchronously (an improved version of just "remotely"). That puts Gitlab well above other companies in my home country of Germany.
The Gitlab response to this system is that it allows them to employ more people. If the system allows me to be employed, I'm very happy for it, even if I make less than my colleauges in SF.
Sytse is a good person but I'd never trust any company to hire more people than it absolutely must. I used to think no company will spend more in employee compensation than it must but i recently learned that board members get paid so together with runaway executive pay clearly I was wrong about that.
There are lots of things, but one valuable thing is to build strong social connections [1] and trust [2] with your remote colleagues. For example by regularly getting the team together on video calls to discuss topics unrelated to work. And sharing a meal at the same time. Small things that make a surprisingly big difference.
[1] Guide to Remote Teams https://teamsuccess.io/remoteteam
[2] Harvard Business Review, The Neuroscience of Trust https://hbr.org/2017/01/the-neuroscience-of-trust
That would be highly unfair.
https://news.ycombinator.com/item?id=21127827
Google uses pay scale based on your location. I'm sure hundreds of others do as well.
So are people in SF, London and other locations are actually underpaid on the global market?
The answer is maybe, because those locations have other benefits too which are less tangible. Measuring quality of living is subjective, some of my Indian and Ukrainian friends will not consider moving to western europe or the US because their quality of life drops signficantly.