Every time I hang out my with most ambitious friends, I am reminded of how MSFT is 'low balling' company. That I could be making 2x if only I kept up with interviewing. On one hand, I can't avoid the objective truth of the statement. But, on the other hand, the hedonic treadmill is infinite.
I'm glad I am not in the bay area. I would've been paralyzed by the persistent reminders around me of my monetarily sub-optimal life choices. Get out out of my head: 'over-achieving friendo', I am already well into the 99th percentile of wage earners of my age in the world's richest country.
Over the last 5 years, I've seen a (COL non-adjusted) 100x (20x if I use a more practically true number) increase in salary. So far, My happiest moments have rarely required much money, let alone 100x as much as I had then.
So if you like what you are doing and can live comfortably you are at the top of your game. The rest is merely froth.
Some programming, some hardware, some chemistry, always lots of fun.
Right now I’m working on data control and privacy.
It doesn't take much to interview and double your comp. You don't have to interview at Google or Facebook to double your comp - many pre-IPO startups are paying up and their interview processes are often less rigorous.
If you're happy with your situation then more power to you. But something tells me deep down inside, you're not OK with it. I'm here to tell you that a couple weeks of prep and looking around can go a long way.
It actually diminishes very quickly for most people, which I suspect is why they aren’t that motivated.
Still true that being content with what you have can be a wise choice.
I think if anything, the decreased concerns about hiring remote AND the increase in overall demand has lead to very favorable conditions for engineers even abroad.
The second this changes, the bottom drops out of software.
I don't know if it will ever happen that big companies begin openly accepting overseas applicants but if/when it does, you can expect that it wont be for 100k. Suddenly when you consider the entire planet, there's no longer a shortage of developers, and the employer has all the power.
Because it's been tried before and for the most part it was an abysmal failure. I was just starting out doing some basic web freelancing as a teenager in the 2000s and even I got roped in to clean up an outsourced project after being outbid a year earlier by an overseas firm during the first outsourcing wave. Lots of people on HN have horror stories of cleaning up from that era.
We've been here several times before - like literally just this past year of everyone saying "oh but now you have to compete with remote workers everywhere!" Salaries keep rising because software is an arms race. The companies making the most profit will continue to invest in getting the best people and outside of the odd global crisis, the industry will continue to grow as everyone else tries to keep up both in technology and in hiring. All those firms I cleaned up after as a kid are still around today and bigger than ever, yet on this side of the ocean we keep making more and more money.
I think we've got at least a century before software hits the diminishing returns that the industrial revolution did. My local lumberyard is still using DOS machines probably made before I was born.
I would argue that outsourcing failed primarily due to companies trying to farm out the coding to uninterested entities whose incentives did not align well. Not necessarily because the foreign workers doing the coding were bad.
Back to the guy in Argentina -- I imagine that he/she is actually in a reasonably good position as the amount of remote work increases. Indians not so much, because they are 12.5 hours ahead (of Pacific time). Argentina is only 4 hours ahead, which makes for a lot more overlap.
So I think the field has leveled a little bit in that sense, because if you have a remote developer in another state, they are not very different than one in another country who happens to be in a similar time zone. The other big barrier IMO is communication, so someone in Argentina who is not merely fluent in English but speaks it very clearly could be in a really strong position.
It failed because the intent was to cut costs and they got what they paid for. The successful ones were genuinely trying to expand their engineering talent pool and quickly figured out that the cost savings were a marginal benefit that made up for some of the extra overhead of international accounting and management. Quality engineers are one visa lottery away from Western salaries so the local median salary is often completely disconnected from what a FAANG might pay for a decent engineer, which is a rude awakening for anyone trying to cut costs without destroying the quality of their output. On top of that, the people most likely to make it a smooth transition are also the people most in demand (arms race!) and competition for them helps evaporate any savings for the business.
The guy in Argentina is in a great position to get hired to work remotely for an American company, but I don't seem him as competition regardless of how good he is. It's an arms race so my employer's competitor can't replace their team with Argentinians because that down time will give my employer time to crush them (which we learned in the 2000s). They can hire an extra team of Argentinians on top of their existing head count but if they do that my employer will be pressured to hire a team of Brazilians. Before you know it, both companies are hiring even more local teams to help manage the flow of work between their existing local teams and the outsourced ones.
There's more work and money to pay for it than there are people to do it. Until that changes, we're not the ones competing, the employers are.
This has worked far better than the 'Tata' chapter which exported to very cheap Asia where staff tech skills and the support model were too often haphazard and frequently underperformed. Hiring remote staff in new-growth US cities with lower CoL (e.g. Charlotte NC or Austin TX) has delivered capable staff and nearly synchronous operating hours to the main office. However in the past 2-3 years, IT labor costs have risen greatly in 'secondary' US cities, reducing those savings substantially.
In my experience, remote staff in eastern Europe have skills equal to US folks, but the 5 hour mismatch in daytime hours and their inability to visit US sites where non-IT R&D work is done and data is acquired does hamstring this model.
I wouldn't be surprised if a 4th era of outsourcing arises soon: remote work in small towns across the US and in western Europe. European IT wages often seem to be 50% or more below US large cities. That differential is likely to diminish as remote work increasingly is established as a new norm.
You can do bigger differences and many of us do on occasion. But on a multiple times a week basis, both 5am calls and 11pm calls get old.
My intuition is that a max of 3 or 4 time zones is the sweet spot, but it's cool to hear that you've had success up to 6.
I'm sorta wondering what country would be next. It has to have a large enough labor pool to fill the positions, and still be cheap enough to at least look good on paper..
- junior: 45K - 55K - medior: 60K - 75K - senior: 75K - 90K
Although getting more than 85K as an individual contributor is not easy.
I'd say there is not a general unwillingness to hire overseas developers, on the contrary, if more people could speak english in south america US companies would be more than happy to hire even more here.
There is a shortage in english speaking developers globally, but not a shortage on companies' interest in hiring anywhere
In addition, high quality audio makes you sound smarter :) https://tips.ariyh.com/p/good-sound-quality-smarter
There are still other substantial collaboration challenges, but if more places move to be truly remote-first, those places will necessarily have solutions for that anyway.
If I start another company I’d really like to hire a competent offshore team in south or Central America but I have a lot of trouble getting there from here. If I wanted to hire a team in Israel, Pakistan or India, I could do it immediately, because I have trusted friends who can hook me up with people that they themselves trust plus or minus some skeeviness that I know how to manage. For south-of-us I have no connections and basically no way to start.
You could dine out at nice restaurants every weekend and travel around by plane every time there is a holiday and stay at 5 star hotels
Taking into account the minimum salary here is 300 USD / month and with 50k per year you are already top 1%, 100k gives you an unimaginable level of wealth. You'd earn about the same salary as the president of the country and more than most CEOs from local companies
But that would be if you spend all your salary every month which is not so smart, what most of us (bilingual developers) do is continue living a standard middle class life and just invest heavily, I invest more than 50% of my salary, mostly in real state and US stocks
As an American who moved to Colombia, I can highly recommend it. That said, there’s a lot of downsides not mentioned here. First off, your foreign earned income and your US credit score mean nothing here. You will not be able to get a loan and if you want to buy property, you’ll be paying cash. I had to pay 8 months of rent into a bank deposited escrow just to rent a fairly cheap house for one year. That also involved (literally) about 6 trips each to a physical notary office and banks). Things that would be unheard of in the US are common place, like constant physical signatures and finger prints to authenticate documents and asking for your national id number in order to do anything and everything.
A small empty lot in the nicer parts outside Medellín will be at least $225,000. Not bad and beautiful land but again you’ll have to pay cash for everything. Taxes are very high and you can expect to pay 30% - 80% more for many foreign products (“nicer” cars in particular seem to be ridiculously high priced). Tech product selection is terrible, everything lags way behind or simply isn’t available. Amazon does ship a selection of lighter weight items here but you’ll pay a VAT tax of 20% plus an import tax of 10% on the total including shipping. It usually works out to be a 40% premium. Electric vehicles essentially do not exist unless you want a Twizy. I just had my radiator fan go out on my car and was quoted $900 for the part alone which is available in the States for $200. With shipping and taxes I can order from the US for about $550 but it will take about 2 weeks to get here.
There’s a lot of unnecessary friction in daily life, just trying to do “simple” things like an online purchase.
Still an amazing place, lots of great things but as someone trying to actually make a long term life here it can definitely be frustrating.
Markets clear. If outsourcing were so great, it would have completely taken over by now. It has been tested for decades now and it hasn't.
Outsourcing fits really well for organizations that have a lot of explicit, documented, well-understood domain knowledge, for which the org is the key inventor. But that's not most organizations. Most organizations are operating by the seat of their pants, competing in markets where a large number of other orgs know their business. That they turn a profit at all is more a testament to the perseverance of a few, key employees than it is the exceptionalism of the organization itself.
Every axis of communication is a potential friction point, be it collocation, industry, experience levels, language, time zone, culture, personality types, etc. The more you can remove those friction points, the more successful your project can be. But outsourcing throws several of those out the window, never to be touched again. So you're left optimizing on the few that are left, where most companies only ever optimized on those axes that have already been removed.
https://www.iamsterdam.com/en/living/take-care-of-official-m...
Ultimately outsourcing has issues with accountability.
you are a team of people located all over the world. To Your being off-shored to India as soon as can figure out how.
Worked both, and the culture difference and happiness difference is drastic.
Even a hint of offshoring will induced panic for many employees/ candidates. Definitely makes hiring and retention hard.
Yes that's right; business hates saving money and loves hiring super expensive US talent.
If you are looking to fill a position coming with a decent pay, I'm all ears :)
This has been the case, according to my colleagues who are older, since at least 2003 ;-)
If they were hurting that much for devs, you'd think they might lower the bar a little by not requiring a years study of leetcode.
What are the issues with IQ tests?
They can have cultural or social biases unless very carefully calibrated. Ideally you should be able to take anyone who speaks a reasonable level of English, give them test and have them get a score that matches their intelligence percentile.
In practice, the tests are built for a particular socioeconomic class and type of person. As a trivial example, imagine the test uses the word "yacht" and you give the test to someone who has never culturally been exposed to that word - that person will, on average, score a bit lower than someone who recognizes the word immediately.
Or imagine you give a test using Imperial units to a European who exclusively grew up using Metric (or vice versa). Knowing that three feet are in a yard isn't an intelligence test, it's a test of cultural familiarity.
You don't have to agree with the bar the companies are using, but that is the bar they have converged on, and one that plenty of people are capable of passing.
Would much rather compete for those people.
Nobody is talking about lowering the bar, but of putting the bar in the right zipcode.
An extremely high bar of leetcode testing is irrelevant to the actual job, so that's an irrelevant bar.
You have - companies that settled on this process, who have been able to attract top tallent that has cleared this bar.
You have - employees of these companies that were able to clear the interview bar.
And then you have - people who don't work for these companies, proclaim to have no interest/ability to clear the bar, but claim to have a valid view into where the bar should be.
In the absence of other data it doesn't seem like the last group is likely to be objectively right
These questions have fuck-all to do with the actual work the happens there. Sure, you can usually find someone to tell you how much rainwater accumulates into a random bar chart, but I see as much brain-dead code at the top as anywhere else. As much great code, too, FWIW. Everywhere, the key skills that make for a successful IC are the same, and they definitely don't require implementing splay trees or skip lists from scratch and without references. 99% of the time it's shuffling bits around and using hash maps.
Honestly the people I work with who advocate the hardest for leetcode are the ones who had to grind hard and, evidently, want others to suffer too. As if a sane process would mean their own suffering was in vain.
The bar may simply be "sober enough to understand what it takes to succeed at this task", "committed enough to prepare" and "smart enough to solve them"
These attributes correlate strongly with success, I'd imagine.
Having sat on hiring committees, that's a fair summary. Most people are not very good at interviewing, because it's a weird skill, and nobody actually teaches you how to do it well. There's interview training, but it's incredibly short, and seems like half of it is about legal policy. There's ostensibly shadow interviews, but that tends to be luck of the draw on who your shadower is; most won't put in the requisite time to help coach you in conducting better interviews.
I think big companies like to pretend that leetcode interviewing scales well, without actually doing the time necessary to make it scale well.
> Right now my interview has a wash out coding exercise that is beginner oriented to get the resume liars but other than that it's all systems.
This is 100% what I've gravitated to. The longer I've interviewed people, the easier and easier the actual coding parts of my questions have become.
It's not like there aren't benefits to this process. Once you've buffed up, you're prepared for most major tech interviews. Common formats have their advantages.
That said, this format is just too expensive, and has poor predictive power.
and
// Once you've buffed up, you're prepared for most major tech interviews.
and
// has poor predictive power.
If "acquiring skill X" is broadly valuable (as you're saying in this case) then your ability to work on acquiring it is predictive of your success.
It's not predictive of the traits that mark a successful IC in my experience. I'm talking about areas like project planning, professionalism, large-scale system design, personal ownership, meticulousness, etc. Curiosity. Some of those might tangentially be covered by leetcode but I guarantee you important stuff isn't.
Everyone I've seen to fail, either via PIP or otherwise, has cracked these interviews. I've seen many fail over the years. Even worse, I've seen many whom I know would be strong performers, wash out because they got the wrong DP problem that day. Where's the benefit in a regime like this? The company loses and good candidates lose, too.
Or: "World's best banks and world's best traders have invested in subprime mortgages, they couldn't all be wrong?"
Using skin color for hiring is illegal and immoral and the government does not allow it.
Issuing sub primes is bad for business and blew up pretty quickly.
If asking programmers programming questions is "no different" from the above, which is it: illegal or bad for business?
If they were bad for business, why was it a common practice for so long? Does a business have no clue what's bad for business? Or is it just self destructive?
If "it's an established practice" argument also enconoasses things that are bad for business, and things that are immoral and illegal, maybe it's not a strong argument?
But if you're running a startup (target audience of ycombinator), you'd do well to play a smarter game since you can't outspend or out-fame the FAANGs. A big part of that is to have better interviewing practices than they do.
In practical terms the FAANG companies internal processes are horrible and they can’t seem to innovate at all, but as long as they continue to print money there is zero reason to risk change.
https://www.theatlantic.com/business/archive/2013/06/google-...
That's about the microsoft-era actual riddles, like "if you were reduced to the size of an ant and put in a blender, how would you get out?"
Maybe using methods that have nothing to do with the job, just don't lead to good results ?
What I said was basically "google admitted their old method didn't work, here's a link if your interested. I wouldn't be surprised if the new method doesn't work either, and we see articles about that in a few years"
The I "wouldn't be surprised" part comes from both methods actually having very little to do with the job at hand, and therefore I think they would BOTH be bad predictors of performance at that job..
No. Your previous post said they admitted their "leet code" interviews didn't work. leetcode means something specific.
Also I'd draw the opposite conclusion. Sounds like Google is "on it" in terms of evaluating what works and what doesn't. They threw out brainteasers because they didn't work. That suggests whatever they kept does work.
Can't say I agree with your 'on it' conclusion, but I guess time will tell. It took them about 15 years to get rid of the brain teasers (1998 to 2013ish from what I can tell), so if they're consistent we should hear one way or the other in 2028ish :-)
During which time the company grew from what to what?
(Actually, when I interviewed in ~2003, I didn't get any brain teasers. All of the questions where either fundamental computer science knowledge or related to the (SRE) position---although they would all be considered "leetcode" by someone without the background. I was pretty impressed.)
what does that have to do with trying to guess when the next paper might come out? I was just guessing what the publishing timeline might be :-P
I would bet money that the latter is far more predictive of quality candidates than any leetcode problem you randomly pluck from the ether and expect them to solve under pressure.
But again, I expect nothing less from an industry that isn't exactly known for being good at human interaction.
I've previously hired contractors with minimal interviewing because they came from a trusted partner to my organization, so I asked the partner about their productivity and skills and they were given good reviews relative to what we were trying to accomplish.
Each of them were a net negative with respect to the project. The time it took me to review their pull requests and help them write code which was passable was longer than it would have taken me to write the code myself. Additionally, the code that was passable has been a constant source of bugs.
A more thorough technical interview may have avoided hiring them. In retrospect, the correct course of action would have been to not hire anyone until someone qualified was available. This anecdote does support the grand-parent posters theory that operating with fewer incompetent people is better.
Additionally, their proposal is generally workable (which again, yours is not).
Competence is a spectrum and so at some level of competence there will be people who are competent but unable to pass overly complex interview questions. The fact that this overlap exists seems to be what you are complaining about. Even still, not hiring people in this overlap is probably safer than hiring people which make the system worse in my experience.
Competence is most absolutely not one spectrum. Competence is measured in dozens (hundreds, really) different axis. Everyone will have different scores (if we could realiably narrow it to a score, which we can't) on different axis of skills. Which of the skill axis are most relevant for any given role will vary, obviously. A generalist will have decent scores in many, a specialist may have mediocre scores in many but 99+percentile in their chosen areas.
Leetcode interviewing measures along one single uninteresting axis, the one corresponding to memorization of algorithm puzzles. That axis happens to be entirely irrelevant to any job I've ever hired for. So I don't test for that because I care as much for your skill doing leetcode as I care for your skill juggling frogs. Neither is relevant to the job.
Have you considered that with a strong understanding of elementary algorithms and data structures it is possible "solve" rather than "memorize" these algorithm puzzles?
If that were even remotely possible, why isn't that person cranking out multiple novel algorithm research papers per day? They should be outpublishing Knuth, for sure.
So, no. The only road is to memorize extensively and practice acting skills on the delivery.
EDIT: Obviously even some of the most elementary Algo 101 problems were research questions at some point, and led to published papers, but that's the reason people write textbooks and use them in college, so newcomers don't have to redo the foundational work.
You're right in that HR of their previous (likely current) employes won't say or allow saying anything.
But of course they're likely not giving as references their current boss, for obvious reasons.
Their previous bosses though, who have also left that company, will speak to you freely.
What could be niche about this? It's the most overwhelmingly common case.
Most people change jobs every couple years and your interviewees ex-bosses are also in the industry doing the same job hopping. It is a near certainty that nearly all (if not all) their ex-bosses have moved to different companies already.
This is the most common case, by far.
Are you suggesting going further back, to the candidate's previous previous employer, and hoping that their direct manager from years ago is able to provide reliable and accurate testimony on the current state of the candidate ?
I'm surprised this is not a universal experience based on these responses. Every candidate I've interviewed has given at least one ex-boss as a reference. Every reference I've ever given has been ex-bosses.
Sometimes you'd get interviewers who were at least smart enough to realize that maybe the most you'd get out of it is "can this person break down a seemingly impossible problem into manageable pieces?" That's fine, but then state that or at least give them something real they'll actually run into if hired instead of trying to estimate how many gas stations there are in LA county in their head.
And while those suck[ed], companies having been doing similarly ridiculous things for a very long time to try and save themselves from hiring the wrong people. IBM's infamous "lunch interview" (false on Snopes, but the concept is true and I've seen played out) or asking candidates to take a personality type test to determine if they'd be a good fit before hiring (yes, I did this once early in my career and would just walk out if asked to do one today).
The most difficult I've found is getting fellow programmers to realize that they _don't_ want to hire another "you." Yes, you're an expert in networking and security. Don't interview for that so you can show off your own skills or "teach" in an interview. Interview _for the position_.
You want a diverse set of knowledge, skills, experiences, communication styles, etc. at your company. And - while it can be scary - you always want to hire people who are better than you (esp. if you're a manager!). But that is so hard to get people to do.
Just to be clear, you made an assumption in your first sentence and then ran with it for 3 paragraphs.
// I would bet money
If I had to bet who can better assess what proper recruiting for a company looks like, I'd bet MY money on the company, not on random complaints on the internet that basically amount to "it must be the interview structure that prevents me from working at a FAANG"
https://www.theatlantic.com/business/archive/2013/06/google-...
I wouldn't be surprised to see a similar article about leet code...
The second problem is that the onus is on you on making sure those bad interviews decrease the odds if hiring bad people, instead of increasing them or being irrelevant. Without that evidence, this is a non-argument.
Not asking those types of questions, and instead asking a more straightforward programming question with relatively simple data structures, and some tradeoffs to be made, plus maybe some follow up optimization questions (but like in general systems terms, not code), tend to work better. But it's still whiteboard coding for the most part.
While I do detest leetcode interviews, I've yet to see another interview system that works for extremely large companies, that covers all the bases:
* won't result in you hiring someone who can't write a for-loop in their language of choice (I know fizz-buzz is a meme at this point, but I have interviewed people who failed a question easier than fizz-buzz before - not even on a whiteboard. People who genuinely cannot program at all will apply for programming jobs, and some of them will get past the recruiters.)
* is reasonably based on skills
* is not hyper selecting for "people extremely similar to people who already work here" (not "what school did you go to?" or "who do you know who already works here?" type stuff)
* can be made mostly uniform across the company (though, even leetcode-like interviews are hard to make uniform, it's easier than a lot of other methods)
* isn't trivially cheated (100% remote tests, where someone else just does it for you)
* won't be outright rejected by people who already have jobs (internships, though this does work well for new grads)
* won't be outright rejected by people who have less free time outside of the job (e.g. people with families, small kids won't go for "work for a week" type take-home assignments which say "couple hours" but you're competing against people who will dump 40+ hours into it in a single week)
A lot of other systems work really well if you're willing to slash your candidate pool to a smaller percentage, but break down once you start trying to fairly get at more candidates. Something that works well for a 1000 person company won't work if you have >50,000 developers. Something that works well for a company explicitly willing to exclude parents won't work well for a super large company.
Also, a lot of companies do change up the application process for people who are just out of school, in that they allow internships/etc, with a different route through than just interviews. (Though you usually have to go through an interview to get the internship, they tend to be way easier - having sat on such an intern hiring committee before, you get very few interviewers asking riddle/trick questions)
Time-wise, I can generally coach someone to pass a big tech interview loop in 1-3 months, not a year.
There's definitely a difference between hiring Sr. vs. Jr. programmers. When it comes to Sr, the best place I ever worked had a pretty great process:
1. Phone interview that was 100% identical for all candidates. It was basically a "take me through your work history, answering these 5 questions for each job." It worked wonderfully and gave a really good indication of what the person learned at each position and how they were able to apply that knowledge at the next job. And, if there was some obvious red flag at each step (e.g. "all my bosses have been jerks"). It also had the benefit of being more fair. I don't know how many places I've worked where if person A conducted the phone interview it was a shoe-in, and if person B did it was impossible to get through.
2. While doing #1, make a mental note of a couple things along they way they worked on (esp. if they seemed proud of them) and then - in a follow-up interview with a couple programmers on the call - really dig in deep on the technical details. Ask questions. You'll learn rapidly if they actually did the work and understand the problem or simply worked on it w/o understanding. What were the major challenges? What would they change now if they could go back? And here it's awesome if you get someone who can give answers that aren't always technical things (e.g. "I wish I knew early on how best to deal with X").
3. At this point, you're ready for an on-site and have already proven to yourself and the team "this person can code and solve problems." What's left is any final details you want to be sure of. Any odd personality quirks that won't work for the culture the company is going for? Let non-technical people they'd have to interface with interview them.
The best we ever came up w/ for Jr people was a test with some basic college class stuff like big-O and for problems 1-3 would you prefer linked list, hash table, or tree and why? And then try and do #1 and #2 above, but using their college classes/team projects as work experience. But that didn't always work out all that well.
This has been the same as well, to my knowledge, since 2010
Lifestyle creep only moves in one direction and is usually permanent.
The last year has been so strong for online tech that there is a heavy vacuum effect on the available talent. FAANG are struggling to fill demand in hiring and are offering increasingly high salaries. This cascades to other industries. Top engineering talent at logistics companies are leaving to go work for big tech, same with banks. Recruiters are charging 22-25% for placements, and having difficulties filling them.
Not just tech, other industries as well. There was this initial moment of employment "musical chairs" when the pandemic set in and everybody who had a job was clinging to it, but we're now in a solid counter-reaction where even traditional industries are having their workforce disrupted by new opportunities. We're not even seeing the full brunt of it, with many industries running at reduced capacity (travel, hospitality, entertainment).
Generally speaking, if people are leaving jobs for new ones (or none...) it's because they calculated that it was for the better, thus, I think people will generally be happier about their state of employment in 2022 as the article states. I'll add that many people working minimum wage jobs took this opportunity to become entrepreneurs which is a really healthy step up from that situation.