
Ask HN: How is software development different in China and India? - baron816
What programming languages are popular there? Is code written in a mix of the local language and English (for the keywords)? Is Agile used?
======
satej-s
I worked as a Full Stack Developer with BookMyShow in Mumbai, India. We are a
ticketing company somewhat like TicketMaster is in the United States.

The company was around 10 years old and transitioning from what one could term
as a start up mentality into a full fledged product company.

Methodology: had formally adopted Agile around 2016-2017. A part of this
adoption included some formal training by an experienced agile coach.

Code : I can probably speak for the entire country and say code is written in
English. Most of the country learns English through highschool if not through
kindergarten. Code and CS concepts are learnt in English too. Infact I've
never seen code written in any other language.

Languages : Languages popular include but aren't restricted to Java,
JavaScript and Python. Although I have observed that Java seems to be more
popular or well known than C++.

Tooling: We used a majority of the Atlassian softwares to track the product
lifecycle. Additionally we also had Docker, Kubernetes, ELK and Splunk
Deployments.

Culture : This is where I'm probably not necessarily the best person to
comment with respect to the whole country.

The work I did was valued and we were encouraged to understand why we were
doing a particular task. You could discuss/debate over choice of technology or
approach with your boss. Teams were empowered to make a majority of decisions.

Friends from fish-tin companies aka the outsourcing companies have drastically
different views than mine. Run of the mill work - shitty culture.

~~~
nindalf
I find my experience similar to yours. The difference in culture between
companies that developed their own products rather than doing outsourced work
was night and day.

Also, Java is ubiquitous. I only ever met one developer who was competent in
C++. The rest think they know C++ but couldn't write a single non-trivial,
idiomatic, correct program in it. (I don't know C++ either, FWIW). This leads
to the bizarre situation where everyone writes in their resumes that they know
C++, many interviews happen in C++, but few companies use it in development.

> Most of the country learns English

I don't think this is true. Certainly anyone working as a programmer would
have been through 12 years of schooling in English with English textbooks for
all subjects, followed by 4 years of college again in English. I have never
seen a variable or any documentation in any other language. Before smartphone
keyboards became a thing, I didn't know anyone who typed in their own
language.

However, only a small fraction of the country learns English well enough to
use it professionally. A significant proportion of the country, mainly in
rural areas, don't learn English. Many of them don't complete school either.

~~~
pergadad
I think most or all have English classes in school, but in addition to the
drop-out/absenteeism even those that attend these classes often don't end up
learning much of the language itself as the teachers either have little
training and/or pedagogical knowledge or apply the sanskrit approach: a
complex near-dead language that's taught through memorisation of grammar
rules, similar to Latin.

------
abhinai
I'll summarize my experiences.

(1) (Too far removed) Engineers in India / China mostly work on projects meant
for Western markets. They do not always understand the problems that the
project is trying to solve. They rarely get to see it work in the wild.

They can't feel proud of creating something they will never see in action. If
the project is a huge success, the engineers who created it will almost never
be rewarded.

Under these circumstances, it is hard to care.

(2) (Culture) The culture prioritizes seniority over performance. Manager is
always right. If you are a 10x engineer and your manager is mediocre but
always right, good luck navigating the potential issues.

(3) (Wrong incentives) Most software engineers work for outsourcing companies.
These companies get paid for delivering projects. Size of project matters. The
incentive is to inflate the projects and create as much work as possible,
maintainability be damned.

~~~
maxxxxx
"Most software engineers work for outsourcing companies. "

Is this still true? I have heard that years ago it was prestigious to work for
the likes of Infosys but now the best engineers work for Indian startups and
the outsourcing companies only get average ones or worse. This seems in line
with the people my company gets from outsourcing companies. They all seem
pretty clueless but the direct hires are quite good.

~~~
kamaal
>>I have heard that years ago it was prestigious to work for the likes of
Infosys

It is, even now. Walk in to any engineering college, and ask where most people
want to work. Another dark untold truth of Engineering in India is,
Electronics/Electrical branches have a lot better quality students, than
CSE/InfoScience. Sometimes it's like night-day. This is because a degree in
EE/ECE gives you a diverse range of career options once you pass out. So in
the ascending order of ranks in entrance exams, first EE/ECE seats are full.
In many cases there are situations where EE/ECE candidates even in tier 2/3
colleges are better than CS students in top colleges.

Outsourcing companies discovered this long back. There is no logic in paying
5x market salaries to CS candidates, when you get 2x better candidates at
1/5th the price.

Secondly, Indian product companies aren't exactly engineering intensive
companies. If you get a job in something like FB or Google straight out of
college, you are good. For any body else who has to go into Indian product
companies, you work on ancient dinosaur era tech. When compared to this, many
a times in outsourcing firms you are likely to find better quality of work.
This happens all the time. Many times FAANG companies hire these CS top
college people, and make them work as sysadmins/SDETs. While some EE/ECE whom
they look down upon is working in a code intensive project in a outsourcing
firm.

So as a safe bet, playing your cards well. And keeping a good outlook for a
large section of crowd, outsourcing companies still work well. Also look at
this, if you are optimizing for money straight out of college, and not skills.
Then within a decade you will be beaten by those whom you look down upon.

Of course none of this applies if you get into management.

~~~
kkarakk
i'd say most managers from india are pretty worthless if i talk from a purely
experience based domain knowledge perspective, it's four years of college
education they don't pay attention to followed by 2 years of a job they don't
pay attention to and then ka-ching MBA PROGRAM followed by doing whatever the
company that hires them wants them to do.

lots of wasted education and experience is basically pointless.

~~~
xte
Please extend it to the world: most managers are pretty worthless or worse, a
damage. Managerial culture is a damage to the entire society.

When it spread we cease to innovate, to really research, we only popularize
and improve (a bit) per-existing techs being unable to really evolve them and
create anything new. And the more we advance the worse situation became.

We start to have car's that exhibit astonishing absurd issue like top-line
Audi's that _lock their driver_ inside due to an unknown fault (banal things
like classic internal door little rod, mechanically connected to the lock
mechanism are not there anymore in many models or became a different beast),
normally always-working machines that start to exhibit random behaviors and no
one can really understand why, not counting big projects that nearly ALWAYS
fails from fighter jets to ships to space industry project.

Education itself in terms of formal diplomas became meaningless: personally I
"discovered" ancient books (lecture notes) that contains more information,
more clearly explained and open a world of possible "evolution paths" that far
bigger and expensive modern textbook fail completely to provide only at a
fraction.

------
zed88
I can speak of similarities. Both in India and China, programmers are
basically 'bred' out of an assembly line like education system. Which means
you find programmers with no passion or love of their craft. Which means it's
rare to find good natural programmers, which you do in western countries
because it's pretty much based on meritocracy rather than degrees.This shows
in code quality and how projects are handled.

So from my point of view its a cultural problem in both countries where the
likes of IIT graduates are preferred over a simpleton with great passion,
skill and knowledge of the craft.

~~~
gaius
_Which means you find programmers with no passion or love of their craft._

The vast, vast majority of programmers in the entire world work 9-5 then go
home and don't think about work, same as the vast majority of accountants,
lawyers, dentists, bricklayers, retail workers and everyone else in every
other profession. HN, SO, GH are all tiny niches really, but if you're inside
them they look like the whole world.

~~~
meh2frdf
I don’t think those networks you mention are good measures at all. Most of the
great and passionate devs I know are not prolific on those sites. IMHO those
sites are more often for new people to tech who like to showboat, and are
likely to move on to something else that feeds their ego.

------
turingbook
Native Chinese guy here.

Software Development in China is more like the United States, not India. China
now has several very big software development product or platform companies
like Huawei(more than 80k engineers), Alibaba and Tencent(20k to 30k
engineers), even the newer companies like Meituan-Dianping (market valued 30B
dollars) with nearly 10k engineers.

These teams are learning closely what the counterparts in silicon valley or
Seattle did and they learned fast. They also have built massive IT
infrastructure.

Java and Python are the most popular languages for server side or other
things, and JavaScript is the king for front-end. Newer languages like Go,
Rust, Kotlin are gaining more and more adoption. It seems China has much more
Go users than US！

Everyone wrote code and comments in English. There are viable programming
language projects in Chinese keywords, but very, very niche.

The hottest buzzwords? K8s, Elastic, Flink, Vue (developed by a Chinese guy),
deep learning, GAN, TensorFlow...

Agile is not very hot here, although Scrum stuff is often heard in office.
Lean Startup(MVP) dominates.

~~~
tluyben2
Where is that? I work with (a bunch of) companies in Shanghai and Shenzhen and
the things that I find most interesting if I had to name differences are that
my colleagues almost exclusively use waterfall as a process (they need
complete specs) and they count more on books and specs than internet to find
answers to programming issues. They can be stuck on issues I can answer with
Google (which finds SO usually) in seconds. Baidu and others there are
absolutely horrendous (in their and my experience; maybe there are people who
are better at this).

I also work a lot with India and I definitely do agree it's far more western
working with Chinese colleagues than with Indian ones. Both have their
strengths and weaknesses though. If you have a rigid process that needs to be
adhered to _every_ _single_ _time_ in detail (ISO processes) then I prefer
India for instance.

Edit: typo

~~~
turingbook
What kind of Software Development shops did you worked? There are several
tiers of companies. Developers in outsourcing shops are bad at lots of things
everywhere.

------
fosstrack
To add perspective as someone with 10+ years in the US and 7+ as founder in
India: You should really qualify as to whether you are looking for development
practices in outsourcing companies or tech startups.

Code quality and practices in Indian outsourcing companies are as good or bad
as that dictated by US IT departments (out-sourcers), usually large non-
technical firms.

Startups, however, are significantly different. I haven't seen much difference
between US startups and Indian ones in terms of caring for your own code,
jumping on the latest trends, and, generally, pushing the limits of what can
be achieved. Indian startups, especially outside of Bangalore, do have to
struggle to get proper funding. So they have to be practical on what they
focus on.

Have no first hand experience with Chinese startups. But I would presume that
they are no different.

~~~
0x8BADF00D
What is the culture like otherwise? Do you guys do happy hours and stuff like
that? I’ve thought about doing a short term stint in India, if only to learn
more about my cultural roots/heritage.

~~~
kkarakk
haha that really depends on the company. if you work in a company that focuses
on "stability" expect to be surrounded by people who think family and culture
is the most important. if you work in a startup expect a collegial
"brogrammer" attitude. if you work in an outsourcing company expect to be
bored out of your mind working on relatively outdated tech and spend most of
your time fixing the codebase

------
Bucephalus355
In those counties, hierarchical management tends to be the norm. Managers have
much more power, and there isn’t the equivalent of these rockstar 10x
engineers we see in the US. Respecting the hierarchy and the process of
governing employees can be much more important than delivering a brilliant
feature.

~~~
afarrell
> isn’t the equivalent of these rockstar 10x engineers

Wait, is the “rockstar 10x engineer” a thing in real life? I get that people
can be highly knowledgeable in a certain area or familiar with certain tools
or highly effective at cutting to the core important details of a problem and
making it clearer.

~~~
debatem1
Rockstars and 10x engineers are both real and not terribly uncommon, but often
are not the same people.

For the 10xer, it usually isn't that they do 10x more work, it's that they
know how to make their org do 1/10th the work and get essentially the same
results. They pay attention to business requirements and if you spot a senior
engineer being listened to very closely by the people who make business
requirements you've got reasonable odds of having found one.

The other type is the person who has an esoteric skill that lets you advance
your business objectives by 10x-- for example, the optimization engineer who
figures out how to cut server costs by 90% or whatever. These folks are
usually viewed as wizards by other engineers. If you find an engineer being
consistently handed all the 'crunchy' problems you've got a good candidate for
this type, and again they aren't _that_ rare.

Very, very rarely the two are the same person. If you ever work with one
you'll probably know it pretty quickly, but odds are low.

~~~
tabtab
perhaps one can say there are people who work with existing complexity well,
and there are people who reduce complexity well. These two types of people
don't necessarily overlap.

------
forkLding
Popular programming languages used in China and India I find are roughly the
same as the ones here: Java, Javascript, Python, C++, Go, etc.

I know Chinese mainly code in English but can have Chinese comments or
occasional Chinese characters in their code but very very rare cos it can mess
up the code. Not sure about India but presume its the same cos a lot of Indian
programmers are fluent in English.

Agile is used in China and India as well but thats more based on company
preference like the US.

For an example of Chinese tech company code, here's Alibaba's github:
[https://github.com/alibaba](https://github.com/alibaba)

Major Indian tech companies are basically the same US companies like
Microsoft. I added Flipkart just in case cos that's the biggest one I know
that isn't a consultancy but I'm not sure if it's that representative of
Indian coding styles cos they're still at "extremely well-funded unicorn"
stage: [https://github.com/Flipkart](https://github.com/Flipkart)

Note: I used Alibaba cos people know them so I don't need to explain their
business and they're roughly the peak of Chinese coding style

EDIT: Found some extra reports that sampled developers in China and India

[https://resource.alibabacloud.com/whitepaper/25-things-
you-s...](https://resource.alibabacloud.com/whitepaper/25-things-you-should-
know-about-developers-in-china_196)

[https://www.thehindu.com/business/Industry/one-third-of-
indi...](https://www.thehindu.com/business/Industry/one-third-of-indian-
developers-are-self-taught-hackerrank-report/article22508712.ece)

[https://towardsdatascience.com/comparison-of-software-
develo...](https://towardsdatascience.com/comparison-of-software-developers-
in-india-with-us-uk-germany-and-the-entire-world-8d2a1ba3218a)

[https://softwareengineering.stackexchange.com/questions/5088...](https://softwareengineering.stackexchange.com/questions/50884/how-
do-programmers-in-the-east-see-programmers-in-the-west)

~~~
xvilka
You can check also Tencent opensourced software:
[https://github.com/Tencent](https://github.com/Tencent)

------
yzh
I work at Tencent. From my observation: golang is extremely popular in China.
Except that we are no different from other parts on the planet. Java, C++,
python, js are popular too. Usually no Chinese will be used in the code,
programmers try to use English, even if some of them wrote comments with
grammar mistakes. Most internet-companies in China are using Agile dev mode by
default.

~~~
asien
> golang is extremely popular in China

I'm from Europe , the only feedback I have about Chinese Software Engineers is
Java.

My Feedback is based on GitHub Chinese's popular repositories , those repos
are almost always written in Java.

> we are no different from other parts on the planet

Every part of the planet is different.

France is mostly PHP because it was free and it had a lot of commitment for
open source.

UK is largely .NET because paying for MS tooling was never an issue.

India is more Java because offshore pushed the industry that way.

The trending page of GitHub for today contains a couple of Chinese repos[0].
They are all Java based except for one.

[0][https://github.com/trending](https://github.com/trending)

~~~
dis-sys
> My Feedback is based on GitHub Chinese's popular repositories , those repos
> are almost always written in Java.

Try TiDB, it is in Rust and Go.

------
sinstein
Ex-Full Stack Developer BrowserStack in Mumbai, India. BrowserStack is a
manual and automated web + mobile testing platform.

\- The local language is not at all a part of the code. English is considered
second nature for most people and that is what is used for all internal
communication, documentation, and code.

\- They have been using Agile for pretty much their entire lifecycle with
daily standups and bi-weekly retrospectives.

\- Languages: Most of the codebase is in Ruby/Rails and NodeJS. The FrontEnd
is built on React and jQuery (for the static pages).

BrowserStack is usually considered one of the fine examples of an engineering-
driven culture. Engineers are empowered and listened to.

Plus, since the product is a testing tool, we ended up being our own best
customers. This provided very valuable insight on user behavior and helped
navigate product decisions and keep function over form for the most part.

But as I have learned, BrowserStack is more of an exception in this matter as
most other companies in India I have heard of rarely are engineering driven
and.

------
thetechlead
Worked in Google US, then Alibaba China, then a startup founder. I'm comparing
not your average companies but top notch from the two worlds.

Engineering culture has a lot similarity between the two, both are doing very
innovative stuff and paying great attentions to quality of their
infrastructures and both suck at building social network products. Notable
differences include

1\. Google engineers have a stronger say in their company and Alibaba pays
more attention to the economic ecosystem. As a result, Google's products
really shine as engineering 'miracles' while Alibaba's have greater impact to
the society. Different DNA from their founders.

2\. Alibaba engineers work much longer hours than Google's, at least 20% more.
This has pros and cons.

3\. Shorter product development cycle in Alibaba. This has pros and cons.

4\. Higher pay growth in Alibaba. Fresh grads start around $30k/year, about
1/4 of that of Google. However, into 4th/5th year the former increases to one
million yuan ($150k) per year including cash and RSU, on par with Google's.
More seasoned engineers get tremendous respect and insane pay. Alibaba usually
double or even triple people's total package when they left Google to join the
company.

5\. Alibaba pay more attention to the value of data and has better data
infrastructure IMHO. This can be decisive for the future.

And now I'm into the 2nd year of my startup. As contrary to popular belief,
the Chinese are true entrepreneurs and the society is generally very
supportive for changes. And government's stimulus is insane. For example, my
company got six million yuan (almost $1 million) fund from the municipal
government when it's just established, with almost no requirement and
absolutely no string attached. Free money and that's all. Probably the best
place in the world to start a company and I'm greatly thankful.

------
startupdiscuss
IMHO the big cultural difference between the sub continent and the US is an
emphasis on a particular notion of being “practical” over what I would call a
particular notion of being “smart.”

I assume you are familiar with the particular notion of being smart. You are
quick to think of solutions, the solutions are supposed to be novel, you have
particular cultural knowledge, detailed opinions and a nerd sense of humor.

In contrast the practical person will put no emphasis on a novel way of doing
things. As long as the solution works, you use it.

So in the US people may be excited by Haskell or whatever but in the sub
continent they’re still using JAVA or PHP because it works.

This is a bit frustrating because of the emphasis on specs and features that
are implemented exactly as written.

I also think the latter has to do with the distance and difficulty
communicating. But the source of pride (practicality) is part of the cultural
difference.

Needless to say none of this is true of everyone and all people are equally
smart and capable (except Phil: I know about you Phil).

~~~
abhinai
I am not sure if Java is any more practical than say Node.js or Python.

~~~
delinka
I think it's more that existing projects are in Java, so I have experience in
Java, Java works, so why learn something else? Just start the next project in
Java and it'll just work.

~~~
abhinai
That would imply that the world moved from Java to Node.js / Go / Python just
because they are cool new technologies.

~~~
neeleshs
But did the world really move from Java to Node/Python?

~~~
kkarakk
2 years ago i'd say no but increasingly every new concept/tech stack i
encounter has npm embedded in it to access a js library. same with python
being used for automation/low level scripting.

unless you set out with the mindset of NO NODE/NO PYTHON, it tends to worm
it's way into the project coz someone on the team thought it was convenient

~~~
neeleshs
Npm is prevalent in client side for sure, many non trivial ui apps use
react/redux or similar and use npm for package mgmt. On the server side, it's
a different story. Java still is the go-to language in a lot of organizations.
Python for automation, machine learning, and provisioning, yes, I agree. These
areas were never Java to begin with.

This may change,though, what with Oracle's license changes.

------
beilabs
China used to heavily depend on outsourcing perhaps a decade ago; there's been
a marked shift to serving their own audience and building for that
marketplace.

India still depends heavily on outsourcing.

It's rather expensive to look at Chinese outsourcing currently, India is still
relatively cheap. Vietnam is the new hotbed of outsourcing.

------
40acres
I'm really interested in hearing more about this, especially when it comes to
software development in cities like Beijing and Shenzen. The stories make it
seem like China's developer culture is really harsh, almost absurd in the
intensity level and hours worked.

Another question is regarding the economic position of developers, here in the
US it seems like a path way to a solid upper middle class existence, is it the
same in China?

~~~
vidanay
The only question I have about this is _who is doing the thinking part of
their coding_? Someone has to be working just a furiously architecting and
concepting for all these programmers hammering out code for 14-16 hour days.

~~~
40acres
Another question is regarding open source tools, maybe it's a US bubble but I
don't think I've heard of any Western companies adoping Chinese open source
tools.

~~~
gregimba
Harbor was originally made by VMWare China, thats one of the few open source
tools I know of.

------
agacera
OT: I visited a Chinese company last year in Beijing and what impressed me
most was the richness of open source solutions there. To mention a few tools
they were using that I haven't heard before: jstorm[1] (storm inspired stream
processor) , dubbo [2] (grpc like for Java), codis [3] (redis
clustering/sharding solution), canal [4] (mysql to Kafka forwarder).

Most of the code base of this company was java, go and PHP. And the comments
were on Chinese and they were doing a task force to translate to English.

[1] [https://github.com/alibaba/jstorm](https://github.com/alibaba/jstorm) [2]
[https://dubbo.incubator.apache.org/en-
us/](https://dubbo.incubator.apache.org/en-us/) [3]
[https://github.com/CodisLabs/codis](https://github.com/CodisLabs/codis) [4]
[https://github.com/alibaba/canal](https://github.com/alibaba/canal)

------
known
India follows the "Sheep Herd" mentality. The whole country's economy is based
on people getting into "Profitable" domains mostly following the success of a
pioneer in the field. The most recent example of this ideology is the
"Business Process Outsourcing" industry. New BPO units are propping up here
and there at a dime a dozen leading to a quality deterioration in the final
deliverable. This process will continue till a saturation level is reached and
then they will wait till another "Killer" domain picks up momentum. Till then
India will be in a so called "Calm Period" where nothing great and major takes
place.

------
sachin18590
Working in software development in India after working in bay area for 5
years. I cant speak for China, but the work Indian companies get is
singificantly less critical than what their US teams are working on. As a
result, there is much less emphasis for best practices and good coding culture
here in comparison to US. However, considering how many of my Chinese
colleagues have returned back to China to code with local startups there, I
would like to bet that the Chinese coding culture is far more closer to bay
area than to India.

~~~
InGodsName
This doesn't apply to product (Flipkart/Alibaba/Zoho/Chargebee) companies in
India/China, they are at par with West in their workflow/culture.

------
manish_gill
Depends entirely on your company. The most important distinction I've come
across is whether someone is from a Service-based company or a Product
company. Unfortunately, the service industry leaves a lot to be desired in
terms of quality. I work for vwo.com (a Product company) and I can speak a bit
about my workplace:

Programming Languages: We use heavy Javascript for our core libraries, VueJS
and Angular for frontend (different projects), PHP/MySQL backend (legacy) with
our own home-baked framework. We also have our own edge nodes with lots of
OpenResty/Lua, and our data pipelines are in Python, Java and Scala.

Language: English predominantly, but discussions and meetings can be a mix of
English and Hindi (we're based out of North India). I switch to English
exclusively if there's a teammate who doesn't understand Hindi very well.

"Is Agile used": I think the question is broadly about engineering practices
and yes, we do use Agile/Jira, doing 2-week or more Sprints in cross
functional teams. It's not perfect and everyone has their own complaints with
this model, but oh well. We do heavy code reviews and have a dedicated QA team
- for both automated and manual testing, extensively E2E.

Culturally, we're pretty open and transparent. Everyone /broadly/ knows what
everyone else is working on. It's not _startup culture_ , but as far as mid-
sized companies go, it's pretty good. Not a whole lot of politics, a "get the
job done" attitude. We occasionally open source some projects via Github. Work
from home/Vacation policies are decent. I'm currently on Christmas holidays
actually ^_^

------
contingencies
China: Many embedded programmers. Lots of Windows platform derived language
choices. Code is typically discussed and documented in Chinese, but very often
with English variable names. There are many companies so there must be agile
shops, though I've never seen one. Access to computing and the internet is
cheap and ubiquitous, the economy is good, many people learn for fun or
interest. Salaries are high.

India: Hundreds of colleges offering basic professional computing education
under the promise of acquiring a job. These are inevitably in outsourcing
sweatshops or "MNCs" (read: insourcing sweatshops). Access to computing and
the internet is very much class-based. The economy is essentially stagnant due
to corruption, basic infrastructure such as electricity often fails, and only
wealthier classes can afford to spend the time and money learning computing
for interest's sake. Salaries are low.

------
kamaal
1\. Most work is still from outsourcing. A lot of that work is good. It
depends on your preferences, and what you want out of the job.

2\. Training was a thing a decade back. A lot of companies would spend a
fortune on training people.

3\. Even until a while back, and may be even now. Growth was high, and a lot
of people got/are getting rapidly promoted. Sometimes this happens very early
in career. You have a lot of managers who just haven't had any real
programming or engineering experience. These people only survive by toxic
politics and building cartels. So all your usual cartel politics apply. People
close to bosses and butter their breads, get promoted, get to travel abroad,
bonuses, raises, RSU's all flow in that direction. By and large, there is no
merit. Appreciation or scope for talented people to get rewarded is very small
or non-existent.

4\. Networks matter when it comes to getting hired. Hopping jobs continues to
be the only way you can good hikes. So a lot of interview gaming goes on. If
you know people, you can hop forever. People hop jobs very often, until they
can find a helping cartel boss. Until then 8 months - 1 year is what people
stay. Barely work, learn or gain any experience and keep hopping. Even here if
you have friends, the make the interview easy for you. If you don't have this,
face 10 rounds leet code interviews.

5\. Entire game is finding a boss whose bread you can butter, and get what you
want.

6\. Recently learning has become a thing. Thanks to internet, and interaction
with the programmers in the west. Youtube, and MOOCs and all that. A very
small, negligible minority of people focus on gaining skills. They are also
not very liked in many places. The cartel bosses don't like smart programmers
who could later become competition and take their jobs.

7\. Moving to US continues to be the only way to get some decent out of one's
career. Again it all depends on your relationship with the cartel bosses. Even
here its often the wrongest possible who get to go. H1's L1's Green cards all
flow in that direction. Which is why I often Laugh when, US claims its
importing 'High quality talent' from India. You are getting the worst crowd
from here. The real people are stuck. There are no managers to push their
case, and mostly they have no network or time, to do a range of political
ground work to move to the US.

8\. Lastly skills don't matter. Its career suicide to learn and gains skills.
Keep a stack of Machiavellian literature handy. That's the skills you need to
gain to win in India.

Lastly your question is wrong. There is nothing like popular languages or
agile or anything. Its just your usual thing as in the US. Except with the
points above.

~~~
Havoc
What do you mean by cartel in this context? Like a mafia type network or
something ? Or drug cartels?

~~~
kamaal
Its like, imagine a mini people structure within a company. Within that
structure, people who exist, get like all the benefits, raise, RSUs, travel
opportunities, Visas's etc. Of course you also get shafted if your out of it.

In India, its easy to arrive at such structures, because identities based on
caste, religion, languages, state etc. Once you get a sufficient mass of 'your
people'. You start to reward them, and build up your group(cartel), from there
its dog eat dog. Heck even layoffs happen on those grounds.

------
alexandernst
There is one thing I'm completely sure about. Code quality is an order of
magnitude worse.

I'm not really sure why, but that's how it is. With a few exceptions, the norm
is to get a shit show every time something is outsourced to a team in India or
China.

~~~
abhinai
The reason is simple. They don't 'care'. They don't get rewarded for writing
great code. They are not responsible for maintaining it. They don't get to see
it work in the wild. Most probably, they don't even understand the problems
that the project is trying to solve.

It is simply very hard to 'care' under the circumstances outlined above. And
it is very hard to write quality code when they don't care.

~~~
woolvalley
It happens even when they are part of an internal company office and not a
contract shop.

~~~
NullPrefix
Are they paid better than burger flippers in California?

Absolute numbers, not relative. Discount team doesn't really need to care
about your problems.

~~~
woolvalley
They were paid better than the typical tech company in beijing, so definitely
not a discount team.

It was a combination of a culture that valued quantity over quality & long
hours, management and time zones. When some staff moved over to the US office
they got better. Mostly because they realized that the work style in the USA
is much nicer as an employee than the one in China.

I had a much better experience later with contractor eastern european teams,
who came from the start caring about quality. I didn't have to fight a
cultural mismatch. I know other people have had issues with EE teams, but
nothing is perfect.

I was a jr engineer back then, so I didn't have much power to change it. I
eventually left for other reasons.

------
babai101
I'll skip your questions as they've been already answered by the majority here
and go straight to a fundamental difference in mentality here in India:

Most Indian IT workers work for service based companies. The lion's share of
these, don't care about programming/CS at all. People having side projects are
an exception. Very few people have proper CS knowledge other than that
required to pass an job interview. Being a good developer is not incentivized
in big service based companies also. The sooner you switch to a managerial
position the better, otherwise you'll be stuck with a salary that is just
disrespecting to you as an engineer.

------
alextooter
Most Chinese programmers not working for outsourcing. China has a very big
market it own,the current hottest topic is AI,so many startup company looking
for develops.The previous hot one is app developing for Android and iOS.

------
samfisher83
I don't think you can really compare India and China at this point. China is
competing with the US as biggest economy in the world. India's GDP is the size
of California. There is just more money to go around. Also government policies
in China strongly tilt toward homegrown companies.

Also outsourcing software from the US and the west to china is harder since
since they don't speak English or use a Phoenician alphabet when compared to
India. Also there are a lot of big high paying Chinese tech companies like
tencent, baidu, alibaba, etc. I don't know if that exists in India.

------
srazzaque
Are you asking for a comparison between development in India vs development in
China?

Or a comparison between development in (India or China) vs a presumably
western Dev centre like the US?

Seems a few answers here have assumed the latter.

Edit: corrections and clarity

------
visw
Java, .Net/C#, C++ are popular with large sized Indian IT
(Services/Consulting)companies. The choice of language is purely based on
customer requirements. One of my friend was working to maintain legacy systems
written in BASIC. Product companies or startups get to work with new
programming languages/technology that are popular.

Code/Comments are entirely written in English.

------
jchristopherinc
I work for a SaaS firm in Chennai, India.

To answer your questions, > What programming languages are popular there

Java, C#, Rails, Python, JavaScript.

> Is code written in a mix of the local language and English (for the
> keywords)

No

> Is Agile used?

Yes. I can't say it is being used everywhere.

------
sbmthakur
Node.js along with ReactJS/Angular seems to quite popular at least in Mumbai.
I've been working on Node.js since I graduated in 2016. I could also find a
few companies that have their backends written in Django. I also interviewed
with one company that uses Erlang for their Chat apps.

At my current company, which is in Navi Mumbai(a suburb), we program in
Typescript.

> Is code written in a mix of the local language and English (for the
> keywords)?

No. Code(including comments, keywords, and variables) is completely in
English.

> Is Agile used?

Yes. But I've met very few people who strictly adhere to it.

------
happppy
Talk about Pakistan too. Software industry is pretty strong in Pakistan too.

