I suggested following what Ghostty does where everything starts as discussions - only maintainers create issues, and PRs can only come from issues. It seems like this would deter these sorts of lazy efforts.
I suggested following what Ghostty does where everything starts as discussions - only maintainers create issues, and PRs can only come from issues. It seems like this would deter these sorts of lazy efforts.
Resume glorification and LinkedIn / GitHub profile attention do that.
I am seeing a lot of people coming up with perceived knowledge that's just LLM echo chambers. Code they contribute comes straight out of LLMs. This is generally fine as long as they know what it does. But when you ask them to make some changes, some are as lost as ever.
Torvalds was right, code maintenance is going to be a headache thanks to LLMs.
I’m actually of the mind it will be easier IF you follow a few rules.
Code maintenance is already a hassle. The solution is to maintain the intent or the original requirements in the code or documentation. With LLMs, that means carrying through any prompts and to ensure there are tests generated which prove that the generated code matches the intent of the tests.
Yes, I get that a million monkeys on typewriters won’t write maintainable code. But the tool they are using makes it remarkably easy to do, if only they learn to use it.
I wondered why people would video themselves going around slapping strangers in public then shouting "its just a prank bro" - turns out it works.
Thanks to their LLM reliance they'd soon not know what it does, and forget even the little they know about coding
We had a bootcamp in our city that had all students build a GitHub portfolio. They all built the same projects like a TODO app. Every person’s code would like almost identical because they all did them together and, I suspect, copied from past grads.
They all applied to the same local jobs, too. So we’d get a batch of their resumes with GitHub links, follow the GitHub links, and see basically the same codebase repeated everywhere.
Now my bars are so massively higher, 99.95% of juniors who don't have pre-2024 work to show can forget about it.
I know someone in a senior engineering position at Epic who does nothing but clean up PR's from their off-shored Ukrainian sweat shop coders handing in AI slop because all they need to do is close a ticket to get paid. They wind up rewriting half or more of it. Epic doesn't seem to care so long as this "solution" works and saves them money by paying a few really smart people to code janitor until hopefully all of them can be replaced by LLMs.
For a company as financially focused as Epic it's surprising to me they'll pay the offshored devs for simply submitting code even if it doesn't work and needs to be rewritten.
I don't understand, are you threatening to avoid hiring talented people or just their brain dead management?
Someone creates a garbage issue. Someone else asks to be assigned. Someone from the project may say "we don't assign issues" (this step has zero effect over later steps). Someone else submits a PR. Maybe someone else will submit another PR. Maintainers then agonise how they can close issues and PR(s) without being rude or discouraging to genuine efforts.
But they absolutely also create PRs even if you say "don't create a PR. You don't know what you're talking about"
Would love your thoughts on some of the things we're thinking about: - Would it help to disable all PRs? All non-contributor PRs? - Would a "close as admin" button help address the issue of not wanting to be rude or discouraging? - What about Copilot doing an initial review and proposing to close anything that doesn't meet contribution guidelines - would that help a "close this" decision feel less personal?
Disabling PRs or limiting PRs to "contributors" would be a signal to me that I should just keep doing that and not contribute back to the main repo.
Also, statistics about past PRs: How long does it take, on average, before the maintainer responds to a PR, before it gets merged? What % are rejected or closed? How many edits do PRs for this project on average need before being accepted? What is the current incoming rate for PRs and what is the current merge rate? I could look at these and figure out if a project can sustain yet another incoming PR or if they are in over their heads. And it would help me understand what level of "done" they are expecting. Maybe some of these are even already available--i haven't really explored GitHub that much. Hope this helps.
For me the answer to this is to let go of all expectations. Fix things for your own purpose, and then open PRs to give the maintainers the option to engage or ignore.
Obviously from my post above, with my maintainer hat on I often fail to let go of the emotions. But it's a goal.
The lowest-stress PRs to handle are the ones with clearest test cases, and minimal incidental changes. Don't refactor, reformat or rename things to your own preferences and then expect a maintainer to engage.
Reducing changes to the meaningful minimum will also make your fork easier to maintain if the PR is refused, or ignored for months+ as the upstream project continues to evolve.
Ultimately, opening a PR is in part self-serving - best case is my change is upstreamed, worst case is I have taken time to streamline it, and simplify integration of future upstream changes into my fork.
And perhaps a way to filter PRs to just contributor PRs would be easy to implement and pretty useful
Feel free to drop any feedback or questions in the post.
My suspicion is somehow the perception became that if you’re brand new and land a PR in a major open source repo (even as simple as rewording a phrase in a doc that doesn’t need to be reworded), that would help them get a job (they’re always Open to Work on their GitHub about me page).
It’s so much noise that it’s hard to find the real issues.
We have tried a lot here in the past (good first issues, more community support for new users), but haven't found a perfect solution yet. Internally, we're looking at options for admins to disable PRs on repos, or limit PRs to collaborators only, for example. From your comment, it seems like part of the challenge you're experiencing as a user is around Issues specifically. We've also been looking at options to delete PRs and Issues individually and in bulk, which could help after the event. Would welcome any feedback on other paths we could take here.
Turning off PRs would be a good option for several of my repos
Another suggestion would be trying to figure out if a PR was vibe-coded and marking them as such. Same as image-based social media tries to do.
You could estimate quality with: number of PRs accepted before (only counting repos >2 years old), age of account, size of diff, number of PRs reported as spam.
Thank you for looking into this. It's a huge problem for maintainers these days... something needs to be done.
Or just throw up a money hurdle. The reason you're seeing so many hustle bros from poorer countries is simply because the cost of accessing the internet is now effectively zero.
Article about it here: https://socket.dev/blog/express-js-spam-prs-commoditization-...
People gamified it and then it sucked, but the idea wasn't so bad. One would expect people would not stoop this low for a free T-Shirt.
https://hacktoberfest.com/participation/
> Swag - Get an exclusive Hacktoberfest T-Shirt, but its only for ‘Super Contributors’ who contribute 6 accepted PR/MRs to a worthy repository. (T&Cs Apply | Valid only for the first 10,000 contributors completing 6 PR/MR)
From https://en.wikipedia.org/wiki/Perverse_incentive
"According to the story, the British government, concerned about the number of venomous cobras in Delhi, offered a bounty for every dead cobra. Initially, this was a successful strategy; large numbers of snakes were killed for the reward. Eventually, however, people began to breed cobras for the income. When the government became aware of this, the reward program was scrapped, and the cobra breeders set their snakes free, leading to an overall increase in the wild cobra population."
There’s a lot to dislike about shame as an enforcement mechanism but I’m starting to miss some of the upside it delivered.
I was reading some GitHub comments earlier and the AI tone and structure in the comments posted by some users made me feel really uneasy for some reason.
I know a Brazilian who puts lots of emails through ChatGPT because they aren't confident in their English, but this seemed to be AI generating the majority of the content of the message too.
Check the closed PR's on express https://github.com/expressjs/express
Yikes!
Students often start making PRs around this time to get more familiar with projects before they can put in a proposal when the time comes.
As someone who's been a programmer for a while now, I feel it's pretty easy to identify slop code and when someone is using an LLM to communicate on issues. I'm not against using LLMs for writing code or even for using it to improve your communication, but it cannot be a substitute for critical thinking.
If I was a maintainer of an OSS project, I'd be more likely to _not_ select students who put out slop PRs, proposals, or messages without thought. And also make this clear in the contributing guidelines so contributors know what they're getting into.
would be so awesome if github supported all that. probably kills their business model though
Is this cultural? I ran a small business some years ago (later failed) and was paying for contract work to various people. At the I perceived the pattern that Indian contractors would never ever ask for clarifications, would never say they didn't know something, would never say they didn't understand something, etc. Instead they just ran with whatever they happened to have in their mind, until I called them out. And if they did something poorly and I didn't call them out they'd never do back as far as I can tell and wonder "did I get it right? Could I have done better?". I don't get this attitude - at my day job I sometimes "run with it" but I periodically check with my manager to make sure "hey this is what you wanted right?". There's little downside to this.
Your comment reminded me of my experience, in the sense that they're both a sort of "fake it till you make it".
Add in time zones, language friction, and fear of losing work, and "just run with it" becomes a rational strategy. Meanwhile, many Western workplaces treat clarification and check-ins as professionalism, so the behavior reads as strange or careless.
The key point is that this usually isn’t lack of curiosity or reflection, but risk management under different norms. The pattern often disappears once expectations are explicit: ask questions, check back, iteration is expected.
I would be ashamed to submit an AI slop PR or vulnerability report.
An indian might just say "I have 25 merged PRs in open source projects"
That’s ego, assuming doing is the value, not doing RIGHT.
Doing alone has almost zero value.
No. That's lack of labor protection laws and the effect that this causes on how companies are run.
Back-and-forth iteration and consultation is a genuinely hard problem. Certain kinds of feedback cycles have a minimum latency of "overnight". Which means we need to invest heavily in good communication.
But also, it means more people need to have the "big picture", and they need to be able to make good decisions (not just arbitrary ones). So the ideal goal is to prevent people from going off in random nonsensical directions based on miscommunication, and equip them to actually think strategically about the overall plan. Continent X might make different decisions than continent Y, but they're all talking, and enough people see the goal.
A lot of the international teams I've seen pull this off are ones where an Eastern European or Indian team is just another permanent part of the company, with broad-based professional expertise. Contractors on any continent are a whole different story.
So I think what a lot of people try to blame on Indian management culture (or whatever) really is just a case of "we hired contractors in a different time zone." I mean, there are always cultural issues—Linus Torvalds came from a famously direct management culture, and many US managers tend to present criticism as a not-so-subtle "hint" in between two compliments—but professionals of intelligence and goodwill will figure all that out eventually.
100% agree, especially when there is minimal overlap during normal office hours. I was managing a dev team in India from the US and it was a real challenge. The company ended up moving team to the US, relocating most of my team. Despite all the people being the same, management became much easier.
Since then I've done US and EU, and EU and IN, and those have all worked fine because we had sufficient overlap during business hours.
Was that because of the above cultural differences?
...ok. I didn't need 8 hours of overlap.
As I mentioned in my first comment, I've also now done US/EU and EU/IN. Both of which have only partial overlap and things have gone well.
With US West Coast and India, I was often doing meetings at 7AM and my devs were doing meetings at 9 or 10PM. That was challenging, irrespective of any cultural differences.
Very common pattern you see in literature about military strategy, actually. The answer is delegation, heavy use of NCOs, and in general explaining the plan all the way down to the individual soldier. Under the western school it all falls under "initiative".
Notably, a lot of non-western militaries are terrible at it, and a number of military failings in africa, the middle east, and the soviet union (*cough*russia*cough*) are viewed as failures in flexibility with very low initiative, as well as lacking/unskilled NCO corps.
Dunno how you apply that to an organization, but maybe sending skilled workers as a kind of non-comissioned officer could work. Who knows.
The most successful engagements I've had with contracting firms have been when we've shelled out for a team manager and a software architect (in addition to the number of straight developers we want).
The software architect builds a solid understanding of our solution space, and from then on helps translate requirements into terms their engineers are familiar with, and provides code reviews to ensure their contributions are in line with the project goals. The team manager knows how to handle the day-to-day reporting, making sure everyone is on task, escalates blockers over the fence to our engineers and managment, etc.
Without those two roles from the contracting firm's side, I find that timezones and cultural mismatches (engineering culture, that is) pretty much erase the impact of the additional engineering headcount when adding contractors.
Maybe that applies to software orgs too, somehow.
However in a real war you need to figure out what direction to point the gun, and need to know when to fire and when to not. I don't know how the army handles "we are advancing now so don't shoot", or "we are crawling along the ground so make sure you shoot high": someone else needs to give anyone I train those orders. The army trains their machine gun operators better so they can figure a lot of that out without being told.
And yes, good leadership is very hard, and many managers aren't any good at it
link here (ironically, on a blog that critiques it)
Having spent the last ~7 years working for different startups before pivoting, my advice to any founder is this: do not hire overseas consultants. They're good, competent people, but you and your company do not have the tools or the culture to actualize them.
While there is real talent there, there is also a lot of overhead to find people you can trust.
This is probably just a reflection of the competitive nature of the market and the social ladder tech salaries enable there.
Whereas other cultures have at least some (if not a lot of) resistance to it - eg publicly ridiculing when people step flagrantly out of line. This is good. My impression is that British culture is like this - "taking the piss", or worse, out of people whose egos start to get too large
Edit: what about this comment could possibly be worth a downvote...? Not that I care about points, but it just seems to be an objective assessment of human nature and cultures, without even singling out any cultures that need improvement.
For students, often there is no pathway to actually become good due to lack of resources. So, the only way is to fake it into a job and then become good.
I can't remember all the techniques but a simple trick is to ask them to repeat their understanding back to you before they start working on a thing.
But I don't think it's connected to sending "malicious" reports. That seems rather to be to pad their resume and online presence while studying to get an edge in hiring.
It would be typical to do the first thing that comes to mind, then see what happens. No negative feedback? Done, move on. Negative feedback? Try the next best thing that makes the negative feed back go away.
People will not wonder whether they might bother you. Just start talking. Maybe try to sell you something. That's often annoying. But also just be curious, or offer tea. You react annoyed and tell them to go away? They most likely will and not think anything bad of it. You engage them? They will continue. Most likely won't take "hints" or whatever subtle non-verbal communication a Westerner uses.
I found it quite exhausting in the beginning, it feels like constantly having to defend myself when I want to be left alone. But after I started understanding this mode and becoming more firm in my boundaries, I started to find it quite nice for everyday interactions. Much less guessing involved, just be direct.
Professionally I haven't worked much with Indians, but my expectation would be that it's necessary to be more active in ensuring that things are in track. Ask them to reflect back to you what the stated goal is. Ask them for what you think are obvious implications from the stated goal to ensure they're not just repeating the words. Check work in progress more often.
Based on my own experience, here are a few reasons (could be a lot more):
1. Unlike most developed countries, in India (and many other develping countries), people in authority are expected to be respected unconditinally(almost). Questioning a manager, teacher, or senior is often seen as disrespect or incompetence. So, instead of asking for clarification, many people just "do something" and hope it is acceptable. You can think of this as a lighter version of Japanese office culture, but not limited to office... it's kind of everywhere in society.
2. Our education system mainly rewards results, not how good or well-thought-out the results are. Sure, better answers get more marks, but the gap between "okay" and "excellent" is usually not emphasized much. This comes from scale problems (huge number of students), very low median income (~$2400/year), and poorly trained teachers, especially outside big cities. Many teachers themselves memorize answers and expect matching output from students. This is slowly improving, but the damage is already there.
3. Pay in India is still severely (serioualy low, with 12-14+ hour work days, even more than 996 culture of China) low for most people, and the job market is extremely competitive. For many students and juniors, having a long list of "projects", PRs, or known names on their resume most often the only way to stand out. Quantity often wins over quality. With LLMs, this problem just got amplified.
Advice: If you want better results from Indian engineers(or designers or anyone else really), especially juniors (speaking as of now, things might change in near future), try to reduce the "authority" gap early on. Make it clear you are approachable and that asking questions is expected. For the first few weeks, work closely with them in the style you want them to follow.. they usually adapt very fast once they feel safe to do so.
My employer outsources some work to Indian contractors. I know how much we are paying the contracting firm, which is low. Knowing the firm takes a cut before the contractors are paid, I feel terrible for how little they are compensated. I frequently wonder if we’d get better output if we paid more.
India is filled with small one-room service-based companies(the middlemens') that hire interns, for ZERO pay, make them work 12-14 hour days under extremely "humiliating" conditions and then when it comes to giving them internship completion certificate, they demand huge sums of money just to release them... think about it.
As for how you are gonna do without the middlemen, I dont have the anwer yet... ideas are welcome.
wages for good people in india are worse similar people in the us, but often high than in europe. But there are other problems with europe and so it can be the better deal.
There is probably more.
I've been with two companies that have been aquired, and the first thing the PE/New Companies do is aggressive offshoring for cutting costs.
1) worked, because the aquiring company had an established office in Hyderabad, and we flew the tech leads over to the US to spend six weeks embeddeed with the team, etc.
2) the second one failed miserably becasue we had an Exec VP who told our engineers that he was replacing them in India for half the price, and his strategy was to hire a contracting company.... after several months of "contractors" coming and going, someone else in the company realized what needed to happen....
The job market is not that efficient anywhere, especially India. Lots of people work their way up from crappy jobs to good ones, just like in the US.
>My company has offices in india because you have to manage them yourself not use middlemen. You can train the locals to be great managers (at least some).
"some members of this primitive tribe can be taught our sophisticated ways"
The issue with middlemen is they are basically labor arbitrageurs and have an incentive to hire the cheapest people possible and inflate their credentials/abilities. Same thing happens with onshore consulting firms.
>wages for good people in india are worse similar people in the us, but often high than in europe.
"Often higher than Europe" is a stretch. Typical big co with an India office pays maybe 20-30k USD per year for an engineer. And that is a good job relatively speaking. Top tech companies pay more but they also pay more in Europe
Thanks a lot!
1. They
2. Always
3. List
4. Things
... and end up with a conclusion/punchline/takeaway.
I always wanted to ask, is that due to training?
I could imagine all schools around there have a specific style, like all their assignments need to follow this general form, and then they just get used to it and it permeates to their everyday life.
1. The first thing
2. The second thing
3. The last thing
Makes perfect sense in that case.
This was strange. I asked a lot of Indian people about it and they said that it has to do with "saving face". Saying "I don't know" is a disgraceful thing. So if someone does not know the answer, they make something up instead.
Have you seen this?
This behavior appears in software projects as well. It's difficult to work like this.
Isn’t this the precise failure pattern that everybody shits on LLMs for?
AGI = A Guy/Gal in India
Imagine that
Someone should really write a paper on that (hint: it’s the entire basis of information theory)
I've recently learned that this particular type of "saving face" has a name: "izzat". Look that up if you want to know more.
I'm not sure how to write that better, but the way you worded that made me suspect it was NSFW and I hesitated, but eventually decided I'd risk it. At least everything I found was work safe, and I learned a lot. I encourage everyone else who hasn't heard the word to look it up.
The only time I've ever experienced made-up directions were trying to get out of the souk in Marrakech.
Wouldn’t know. After the first two instructions I can never remember what came next.
However this was a thing 10-15 years ago. Lately I've not seen that.
Most cultures have this, but it goes mostly unnoticed from the inside because one can read between the lines. "How are you?" can be asked just to be polite, and can cause friction when answered truthfully (rather than just politely, as the cultural dance requires). An Eastern European may not appreciate the insincerity of such a question.
I work in a radiology practice and greet patients regularly.
99% of them say the are good/great etc.
It’s quite a striking response when they are limping, bandaged and on crutches.
When somebody sneezes and you say “bless you” you’re not expressing your belief in god, and you’re not lying about one either.
That's my whole point! The expected answer seems pretty obvious to you, given the context, doesn't it? Why then are you surprised that a different culture has an equally obvious (to them) fixed answer ("Yes") to any question asked by someone with power/authority to their lesser? Both depend on mutual learned cultural awareness, and can fail spectacularly in cross-cultural contexts.
Edit: my regional favorite is "We should meet for lunch some time" which just means "I'm heading out now", but you have to decode the meaning from the nature of the relationship, passive voice usage, and the lack of temporal specificity.
I think I actually gave my line in a 1:1 to my manager at a job, they did not pick up on it. I was gone not long after.
Having only lived in the US, I don't have nearly enough firsthand experience with other cultures for me to be the one to comment on them, but I suspect that every culture has some things like this where the actual intent of the communication isn't direct. I suspect that if people in tech were asked to identify which cultures they considered to be the most direct in their communication, American culture probably wouldn't be ranked first. Generally the stereotypes of other cultures that are perceived as more direct get described in more pejorative terms like "blunt" though.
When I do hear people respond in the negative it tends to be an opening up about stress.
Some cultures are better than others, where “better” might mean better at doing stuff (no comment on morally/socially)
Somehow none of my non/Indian colleagues over the course of more than a decade have faced these ridiculous situations. They must be unlucky.
They must have spent a lot of time out of India or they are in senior roles.
I have seen that across just about every culture in the software engineering world.
And not just in the 'business' itself. I still remember the argument I had with an Infosec guy where he absolutely insisted that every Jeep had AWD or 4WD from the factory, Even naming ones that didn't did nothing until I more or less passively aggressively sent him wikipedia links to a few vehicles.
At which point he proceeded to claim "No I said it was always a standard option" ... To be clear this whole argument started because someone asked why I swore by Subarus and mentioned 'Every US Model but the BRZ has AWD standard' but Heep owners gotta have false pride, idk.
People do weird shit with imposter syndrome sometimes, IDK.
And always with a cheerful: "...you can't miss it."
Yeah, sure.
Another topic is: do not expect a remote dev to pickup ambient knowledge, particular if they are juniors with no life experience. And since outsourcing to India is trying to get the resources for the lowest possible price, the result is: you get them as junior / fake senior / bad senior as you think. Pay better in India, get better people.
However considering how things are worldwide right now, I think that trend stops soonish.
A: You don't. Unless there isn't a better company or better-paying role.
If a person is motivated to move out of the country altogether it's got nothing to do with you and there's nothing you can do.
Way back, when I first started working with Indian offshore teams, the contracting company at the time had a kind of intercultural training that addressed that issue.
> Advice: If you want better results from Indian engineers(or designers or anyone else really), especially juniors (speaking as of now, things might change in near future), try to reduce the "authority" gap early on. Make it clear you are approachable and that asking questions is expected. For the first few weeks, work closely with them in the style you want them to follow.. they usually adapt very fast once they feel safe to do so.
That's exactly the advice they gave. They advised was to try to make your relationships and interactions as peer-like as possible. The more "authority" is present in the relationship, the more communication breaks down in the way you describe.
Having worked in Japan, while there is a strong respect for authority, there's also much less hesitation about asking for clarification. I worked with an Indian offshore team and in a Japanese company and, while there's a lot to dislike in Japanese office culture, this kind of pattern of behaviour doesn't happen.
2 & 3 do make sense though.
I've had mixed result with your advice at the end. I'd say that it worked for about 30% of the offshore engineers I've worked with and indeed I had more success with juniors than with more senior developers.
Very true. I’ve hired (super cheap) engineering talent and this is the key to getting a project to run the way a westerner expects; where everyone is constantly open to challenging each other, where everyone can bring ideas to the table, and where there’s no such thing as a stupid question. I’ve done this during a big phase of time others locally shunning this huge talent pool as the results were crappy/unpredictable. Even to the point they’ll hire local for 100x the cost. It’s just a management problem though and a pretty simple one at that. The other thing is if you train them in your style, keep using them on the next project if you can. It compounds if you have the ability to work with them over a longer time. You have to be very insistent that you’re not proposing the best solution at expect them as engineers to point out any opportunities for improvement. If something later has to be rebuilt or isn’t working well, sometimes it’s good (if it makes sense, case by case) to do a post mortem and understand why the version 2 wasn’t built during the version 1. I think that helps them really understand it in a concrete way if they’re struggling with it.
In any case, I’d much rather take a budget for 1 local dev and spend it on a whole team of Indians and take on the management burden if it means retaining more equity or profits or building something I otherwise wouldn’t do myself due to scale.
I hadn’t heard of this, thanks.
Working 9am to 9pm, 6 days a week.
The fraud part is that I developing countries, almost all activities that require some skill have lots of people claiming to be experts. 99% of them are lying. You take your car to a shop and they tell you they will solve your problem. With skepticism, (because they asked no clarifying questions) you try to give them some context and they tell you not to worry.
1 day later they tell you parts X, Y and Z need to be replaced, it will just cost $$$. You ask if there is no way the current parts can just be repaired, and they tell you no, they must be replaced.
You ask what was the actual issue, and they tell you the parts are completely damaged, or worn out, need to replace.
Sure, you pay, and they give you the car, works for a few days, maybe week, then breaks down. You plug in a portable OBD scanner and it tells you the exact component they just put in is failing (likely not even compatible with the car).
You give them back the car, tell them since you paid $$$, you will only take the car back once it works perfectly, and you won't pay a cent more.
They then spend the next few days looking for an actual expert, that comes in and repairs the original parts, for $, and they take the "new" ones back to the store and give you your money back.
They don't know anything about cars, they experiment on yours, with your money, by swapping parts. This was easier when cars were less strict with parts.
This is fraud, not face saving, and it's in every developing country.
What I do is I go to the top guy, tell him I need an expert and nothing else. No experimentation whatsoever on my vehicle etc. I pay slightly extra for the troubles. Before I go for repairs I try to learn as much as possible to know what they will screw up next. If you go in as a layman, then it is fraud and incompetence central all the way.
Another question I'd like to ask of you is, do you see any aspects of the western style of cooperation that are the inverse? i.e. which create divides in which the westerner's ways of working can be the source of conflict?
2. None. We absolutely adore the ways westerners work. Your ethics, discipline, hardwork, attention to detail, inventive and creative nature, the support structures, and fair pay (and many more).
1. A lot more can be done in a given amount of time. Looks good on resume. Recall that India is still extremely poor (dont get influenced by the GDP numbers.. ) and getting a job as fast as you can after college can make a real difference to your living standards here.
2. Our education system is shit. And so are our teachers(mostly). Meaning, when folks are out of college, they generally are not as competitive as maybe their counterparts from western regions are(not in terms of hardwork, but, knowledge and hands-on tasks). LLM's makes it possible to do complete much more complex work than otherwise was possible at current experience.
Indians are extremely hard-working. The problem is people are extremely poor (~2400 median income... that's per YEAR). Even after adjusting for PPP. this translates to less than 10K USD/YEAR. Now think about living on 10K/year and supporting 5 family members (partner with 4 kids, or parents with 2 siblings).
You just have to make it easy for others to do their jobs. Removing barriers, of any kind, helps. This is even more true with juniors.
1. You have no authority and they ignore you. 2. You have authority and they become yes-men.
Real dialogue: - Is it done? - Yes! But not yet.
Semi related to this, one of the biggest 'breakthroughs' in building the right trust/rapport with an offshore team was sending an email to their leadership making it clear and on the record that "Comments against pull requests should not be used against the employee in reviews, if there is a recurring issue I will discuss it via other channels."
That one email changed PR back-and-forth entirely, cause yeah I guess sometimes they'd get dinged for too many PR comments on some metric. At first their management wasn't thrilled, thankfully there was a good enough improvement in quality and defect rate that in a couple months they were won over.
More willing to seek clarification and less likely to try to defend choices with 'This is what the scope of work said'. And also more willing to jump in on colleagues and my own PRs to provide feedback.
Which was also an important part of how to frame the communication "I'm not telling them they are doing their jobs wrong, I am telling them how to do it better to make all the stakeholders happier."
> Do you mean that they were dinged if a PR they opened received too many comments?
It was never explicitly said at first, however the communication was inspired by past work experiences where yes, too many comments on a PR or similar review could get held against you for far longer than was productive or even healthy, and yes it was something the whole team had to deal with (i.e. very much a shared experience amongst colleagues.)
In fact I'd argue that the time I've been at shops where people weren't afraid to give feedback has been about 50-50, while also noting that the shops that had a culture shift where giving feedback became OK and safe for all parties, quickly became more productive.
Cause, the other thing to consider, is that people don't necessarily want to risk causing animosity by jumping into a colleague's PR and pointing out a problem, they don't want to be the guy that makes their colleague "look bad". Which is of course unhealthy, but again by re-framing the context of PR feedback for Taylorist robot management, you get better response from their management as far as buy in.
Damn me, Scotland is going to be quite the culture shock for you.
I've found that this is also true of American engineers, particularly those fresh out of college. So many people have internalized that open curiosity will yield no result at best and direct punishment at worst.
I was a manager at Deloitte in their tech consulting practice. I led fairly large teams of devs based in India. This is very true, and it takes a lot of time and trust-building to overcome. Making Indian devs, especially early-career ones, comfortable enough to oppose something or offer feedback is non-trivial, and often Indian engineering managers make it more difficult. Overcoming cultural hierarchy is hard.
I guess that's one way to stand out when you are lost in an ocean of people, working thousands of kilometers away from the white dude exploiting you.
So for every good developer in India there are probably 20 bad ones who have no idea what they are doing.
People will only apply themselves if they think it will help them get to a better place.
There also seems to be an expectation that after about 30 you move into management. This means people experienced in IT are not socially valued (they can be paid well if they are great).
I had more of those interactions, and we also exchanged some of the indian devs (they were sold to the client by a big consulting group, and immediately replaced by someone else if we wished). I later found out, people that I have had replaced in my sqaud for not being qualified, ended up in different teams in the same corporation, they were basically just moving around inhouse.
After a few month in the project I swore to myself never to work with offshores again. And as a side note, the bank I did the project with, does not exist anymore :)
It happens basically constantly, I have never heard my family admit to a mistake unless violently confronted by someone with authority.
Leads to all sorts of issues and societal breakdowns, like police beating people up before even trying to communicate.
The people having a terrible time with Indian contractors always deal with folks making 3k-10k USD/year. Of course the quality is bad.
For reference:
Good Indian devs out of college make atleast 30k USD. Good senior devs make atleast 50k. The really good ones make much more. Most American companies outsource to bottom of the barrel contracting companies like Infosys.
1. How can you be a good dev if you've never developed professionally in your life?
2. I know Indian numbers and this is complete bs. Like complete.
Maybe there are extremely rare exceptions to it, but this is like claiming that good US devs out of college make 350k. That's beyond rare, may happen, but it's beyond rare.
2. They are not. FAANG in India pays higher than what I quoted. My senior numbers are especially on the lower end of the spectrum. If your numbers are lower then you aren't working with good devs.
These are the numbers for good devs. The ones who get into great startups/companies. 95% make less and it shows in the quality. Infosys pays new grads 4000 USD/yr.
You build these skills by writing good software under constraints not by building personal pet projects and farming leetcode.
> you can't interview for those
Also yes you absolutely can!
0: https://en.wikipedia.org/wiki/Face_(sociological_concept)
That would be interesting.
Indian students have a long history of disrupting free/libre projects, this is nothing new
I've worked with mixed nationality teams at a certain 4 letter austinite corporation a couple thousand moons ago. One thing in common with my Asian colleagues back then (many of which i still keep in touch with to this day), is that they would usually refrain from saying things that could rock the boat or disappoint you. If they lacked knowledge for the task at hand, they wouldn't let you know. If they were late on a delivery, they'd insist it would be ready by a certain date. This led to situations where other regional managers would have to plan contingencies to work around the issue.
Ask culture scales a lot better in a fast changing world full of strangers. Guess culture saves friction, but only in situations where people are mostly guessing correctly because the social structure and expectations are fixed.
I experienced this same thing working with offshore Indian contractors 20 years ago. Interesting to hear someone else echo my observations.
Ficticious Example could be
Q: is this car red? A: it's not green. Q: yeah I know it's not green. But is it red? A: today is Thursday.
One thing I leaned it's not worth pressing forward and causing a scene. Instead it's better to use other ways of finding the information.
When guiding team members I always found it useful to have them explain back to me in their own words what they're tasked to do. It become immediately obvious if they were on the right track or not.
Tell me more. Why?
But is it productive to cooperate with someone who will never admit lack of information?
If they cannot take a step towards another culture, why should I?
If they are working for a western company, they should adjust their behaviour, not the company. Just imagine working for an Indian company (or manager), and expecting them to tolerate your individualist behaviour and audacious questions. You would be punished immediately.
If it's a peer-to-peer relationship, all the more reason to be firm. If you don't speak up you will never be respected. And don't think that just because you keep quiet the shitty types of people won't stab you in your back at their first opportunity (ask me how I know).
I tried specifically asking questions where the correct answer was “no” and they wouldn’t tell me no. In some cases I told them I was expecting them to say “no” and they still wouldn’t do it.
It was very difficult to figure out what they knew or didn’t know without putting them through a test and seeing how they did.
This might be part of the motivation. What's pocket change in the west might be good money in the 3rd world.
I ignore all of their resumes, not because I don't think there's valid individuals among them, I did hire them in the past, but:
1. because the signal to noise ratio is absurd. The overwhelming majority didn't even read the actual post.
2. Even when they are okay developers, communication is always a huge issue. Sync communication in call is though because urdu and other indian area accents are extremely heavy so I really struggle understanding their english, my bad but what can I do about it. If I try to keep it async or chat based then they tend to not ask feedback, clarifications, provide updates, etc. So you feel like you need to micro manage them half the time and they'd rather give you answers to make you immediately happy than surfacing problems.
3. Paying them is always an hassle. Wiring them money through bank accounts is difficult. They generally set up some Paypal or similar service or ask you to pay them on some Hong Kong account from a friend of theirs. I need traceable invoices and simple wires for tax purposes and when sending money to Pakistan multiple times anti-laundering got involved in my country, and we talking low hundreds of euros.
Still, props to the few good ones I've met, they've been critical on some projects of mine. Very professional and knowledgeable. But it's just too bad of a signal/noise ratio, seriously most applicants don't even read job descriptions.
Your low signal applications would also cause my application to be thrown away :-(.
FWIW, I'm happy to have a video chat with you, I'm in GMT+2.
No job pitch, no asks for money; just chat with someone like-minded on a different continent for shits and giggles.
They were trained really hard to "restore" things in a way that hit some minimal level of the SLA, but not really. It created alot of issues initially in the organization as the "don't question anything" had really been ingrained into them. My observation there is that it made many of the useless support engagements I've experienced make sense, and that a place with that level of discipline and process must be pretty awful.
Absolutely. I've been traveling for the last 10 years and lived in 50+ countries. I believe that all cultures have unique pros and cons and that the cultural diversity of the world is an amazing thing. There are good and bad people everywhere, so I rarely leave a place with such a strong opinion as the multiple times I've been to India. I really wanted to love India because of their rich history and diversity, but I ended up leaving with a feeling that their culture is overwhelmingly objectively bad.
In my experience, yes, but I hope that's just my personal experience over the past 20 years.
it's interesting how it parallels the issue with llms today, they are basically perverse instantiation genies. your wish is my command.
Disingenuous. Other groups can and do create different cultures that are more tolerant of asking for help, clarification and feedback.
Many of my Indian friends say it is, but sometimes I feel they can be as self-critical of their country as many Americans are of the USA.
Demographics show that it doesn't have to be cultural - it could just be that India has 9x as many people under the age of 35 compared to the USA. Even if we were culturally similar, for every annoying US youngster "hustling" to try to get employment, there would be 9 early-career Indians doing the same. That alone is enough to drown the "Vox Agora" with Indian voices. Chinese citizens generally don't participate in English-language fora, so their large numbers would be massively under-represented.
If anything else is biasing the populations, the difference in numbers could be even more stark.
Always consider relative status and power imbalance regardless of nationality too. If someone is afraid to say no you have to factor that in - and 'calling them out on it' is maybe not the most effective reaction, especially if in public.
I always had frustrations with this as a manager until I could establish a personal relationship. Sounds extra hard with short-term remote contractors!
Sounds like an LLM
Its incentives. If you’re an Indian student in India, unless you go to a prestigious university, your prospects of landing a job, let alone a good one are very small. Even tech companies that claim to be meritocratic elsewhere, rarely screen resumes beyond the top universities in India. The only other real prospect is to get your resume to stand out. Open source contributions, research papers etc are some ways to do that. And the talented ones make contributions, while the rest just try to fake it in the hopes to make it (it obviously doesn’t work).
There are similar incentives if you want your college application to stand out if you’re trying to go abroad for higher education. And if you’re already outside India, those incentives extend to job applications outside India. If you’re an international student looking for a job, even if you have work experience at known multinational companies, if it’s in India, the experience doesn’t count.
It’s all about incentives and responding to them.
> Is this cultural?
Could be, but there are a number of very popular Youtube and other video based classes/bootcamps (taught and targeted from/to Indian students) that teach how to work with git and github that show how to create PR's and comments in repos, and then a lot of students do that, on public (and popular) repos.
There are a couple very famous examples of this.
volume of low quality content, dsa/leetcode, etc. is so high, good people/content gets left out. networking, connections, nepotism so much high. getting job based on actual talent very rare.
MNCs which are good outside are so much sh8t here; well capitalism doesn't give a f8ck anyways.
It doesn't until suddenly it does. A glut of junk can eventually trigger a flight to quality.
Sadly, possibly not on a timeline which works for a given individual.
I will try to give some context.
To give an example, the CSE undergrad from an average Indian college would've done 500 - 1000 leetcode "problems" for practice. But have little to no idea on how to survive in a UNIX shell, or to troubleshoot an actual problem. Hell, half of them haven't written more than 1000 lines of code for single purpose.
People early in their career (which is most SWEs including yours truly) follow whatever "influencers" on youtube (the local term being bhaiyya-didis), who give them rough "roadmaps" to "crack DSA" or "get high paying remote job". The result is that average CS guy spends most of his time navigating this rat race than studying computer science stuff that matters for the job.
I see similar kind of competition getting created at senior levels too, in the terms of people grinding theory and blog posts on "system design" interviews. I am not old^H^H^H senior enough to comment on it, though.
But it was not all bleak. IIRC, We were producing quite few good OSS contributions through GSoC, LFX etc... until few years ago (not considering my own among good ones). There were talented 1% or so (I known a few very talented people in personally). Nowadays these "hustler" variety people have started "How to crack GSoC" roadmaps [sic] too, and the spamming quoted above see may be related to this. This sort of insane rat race is not good for talented people. It's not good for companies either. Recruitment is basically lottery at higher levels too; I have seen people use AI to shamelessly lie on their resumes and get hired etc... Some of these problems may be present in west but India's scale makes some of these problems difficult.
These supposed electrical "engineers" have an IEEE "paper" to their name but regularly confuse power and energy. They have no curiosity, no interest in their work, atrocious communication skills (not language, communication) and swarm you like piranhas once word spreads.
All this combines to devalue Indian degrees and the reputation of Indian STEM talent. The genuinely good people are drowned under this avalanche and there's not much you can do to help them or to find them.
Hell, CVPR is now the top conference/journal in the world, beating out every medical journal, Nature, etc. NeurIPS I think is also beating out every medical journal ever.
If you're not targeting a top 20 listed conference/journal in your field as ranked by google scholar (i.e shows up on the leaderboards at all), you might as well not even publish, as those papers at worse venues act as a black stain on your academic career.
These folks should instead target workshops at prestigious venues.
"publication" is encouraged or in some cases "mandated" in certain institutions for course points. It's a lecherous system to game certain metrics which leads to pretend-play and not an ounce of productive work.
> there's not much you can do to help them or to find them.
In CS, If you want to find talented Indian folk, you can hang out in IRCs, hobbyist forums etc.. I have few friends who were Linux enthusiasts, compiler experts etc... who used to. Genuine interest is a pretty good initial filter.
How do you know this?
If I was an Indian student, I would prompt it to avoid that style instead of keeping it.
Also, generally, people can just make stuff up on the internet so ...
Had my first experience with an "AI guardian" when I submitted a PR to fix a niche issue with a library. It ended up suggesting that I do things a different way which would have to involve setting a field on a struct before the struct existed (which is why I didn't do that in the first place!)
Definitely soured me on the library itself and also submitting PRs on github.
If I ever need to start using an AI to summarize text that someone else has generated with AI from a short summary, I'm gonna be so fucking done.
What are you going to do now?
Spam, for decades, has been a matter of just shoveling truckloads of emails out the door and hoping that one or two get a gullible match.
Blocking spam, for decades, has been a matter of heuristic pattern-matching.
I don't see how that is the same as "fighting LLMs with LLMs", or how it could be said to be the same as how spam is made and used.
Big brain: create a solution solving an existing problem
Galaxy brain: create a solution that creates its own problems