Live data from Hacker News

Ask HN: How is software development different in China and India?

news.ycombinator.com

71–80 of 141 posts

Re: Ask HN: How is software development different in China and India?

#71

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…

You can check also Tencent opensourced software: https://github.com/Tencent

Re: Ask HN: How is software development different in China and India?

#72
post #11

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.

You are absolutely correct. If you are a 10x engineer reporting to a mediocre manager in these countries, it really complicates things and in the end you learn wrong lessons in life.

So, does that mean if one is 10x engineer under mediocre manager in other countries, things are better for that engineer compared to these countries?

Re: Ask HN: How is software development different in China and India?

#73
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.

Re: Ask HN: How is software development different in China and India?

#74
post #41

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.…

> 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.

Every educated programmer in the country, passionate or not, goes through the same education system. If you like the work and are good at it, you'll do it with love and care when you're a professional, no matter how you were educated. I went through it myself, and I like to think I've done all right career-wise.

> good natural programmers

I'm not even sure what "natural" means in this context. If someone is a good programmer, does it matter if they are naturally talented or attained their skill by grinding? (and most of the time it's a combination of the two anyway). To quote a popular Westworld meme, "If you can't tell the difference, does it matter?"

> where the likes of IIT graduates are preferred over a simpleton with great passion, skill and knowledge of the craft.

Evaluating programmer talent in the timespan of an interview is hard. Of course, hiring an IIT grad is going to be preferred over taking a punt on a random candidate - assuming both candidates are at the beginning of their career. It's not a cultural problem unique to India or China - hiring based on educational pedigree happens in every country in the world.

Re: Ask HN: How is software development different in China and India?

#75
post #16

Earlier quoted context omitted.

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.

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

Again the same thing. Rewards don't flow in the direction of merit, so there is no incentive to deliver quality stuff.

Re: Ask HN: How is software development different in China and India?

#76
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.

Re: Ask HN: How is software development different in China and India?

#77
post #46

Earlier quoted context omitted.

Which part?

All 3. Biggest problem in Chinese software is ageism against the old, much less seniority.

You may be right. My experience came from a rather famous and elite team that worked for me in China. It may not be a representative experience anymore.

Re: Ask HN: How is software development different in China and India?

#78
post #66
post #32

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 reward…

"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.

>>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.

Re: Ask HN: How is software development different in China and India?

#79
post #3

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.

I think there is (was?) one difference (at least for some) between Chinese and Indian developers: Indian developers sometimes aim to be managers as it confers more prestige when it comes to considering marriage, compared to a contributor. Perhaps it's changed.

>>Perhaps it's changed.

Still the same. Thanks to ridiculous salary differences in salary levels and perks.

For eg, if you are a manager you can apply for Green card in EB1 and get it in months. As a programmer, your wait time is an average of 14 years.

That's just one thing. To be a manager in India, is to do 0 work, and reap 100x benefits that of a programmer.

Re: Ask HN: How is software development different in China and India?

#80
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.
Post reply on HN