13 ms·
Ask HN: How is software development different in China and India?
What programming languages are popular there? Is code written in a mix of the local language and English (for the keywords)? Is Agile used?
- Bucephalus355 8y agoIn 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.
- mc32 8y agoI 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.
- kamaal 8y ago>>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.
- cvrjk 8y agoNot a lot though. I am still a junior dev, but a lot of senior devs have reminisced about how they wanted to continue dev work, but had to take up managerial positions for social reasons. Marriage is one side of it. Apparently, people look down on you here if you stay a dev for long because it appears as if "you weren't capable enough". And then there's also money. As someone else stated, rockstar engineers don't occur too often. Pay plateaus after certain years of dev work here in most places.
- kamaal 8y ago>>Apparently, people look down on you here if you stay a dev for long because it appears as if "you weren't capable enough". >> Pay plateaus after certain years of dev work here in most places. One reason is what I mentioned in other places in this thread. India's socio-economic conditions in some way shoe horn a person's perspective to move towards bureaucratic work. But a big part of that is a lot of outsourcing firms grew 100% YoY, at some point in the 90's and early 2000's. They had to keep promoting people to ensure there was pyramid to run down a chain of command. That's when there was a complete emergence of layers and layers of career managers. Companies had to also sell it as a viable option or no one would take it. So they created huge perks, visa advantages, money and all that, to lure people towards management. It sort of got amplified, because management is a low ball job, with big returns. Now you have plenty of crowd, without skills, and hasn't done any engineering intensive work over decades. And they don't want to get run over, by engineering folks, so they keep that culture going, or everything ends for them. The other part of that is, of course, India has tons of young people coming out of colleges every year, so they can keep hiring freshers at throw away salaries, while experienced peoples' salaries reach a plateau.
- afarrell 8y ago> 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.
- infinity0 8y agoWhy wouldn't it be a thing in real life?
- 40acres 8y ago"Rockstars" are real but I think the idea has been warped. Every field has an elite set of performers who outshine the others. I don't see why software development would be any different.
- abhinai 8y agoIt is a thing in real life. You have to see it to believe it. To be fair, 10 people would write more code than a 10x engineer. But a 10x engineer can cut through complexity and deliver something simple that, by the virtue of its simplicity and brilliance in design, works (1) better, (2) faster, (3) has fewer bugs, (4) took 1/10th the time (5) requires less maintenance etc. etc.
- james_s_tayler 8y agoI think it helps to reformulate the question to "are there people at the tail ends of the distribution?"
- debatem1 8y agoRockstars 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.
- abhinai 8y agoYou 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.
- m_ransing 8y agoSo, does that mean if one is 10x engineer under mediocre manager in other countries, things are better for that engineer compared to these countries?
- kamaal 8y agoIt depends on the cultural context. India is a society of scarcity, and with an over population problem. So people try to endlessly optimize for themselves, regardless of the consequences. And then hoard for themselves. In other countries, it could be different. For eg, in the Bay Area, I saw similar behaviour, but it was not as intense or at the same level as I see in India. Sure bad people, exist everywhere in the world. But the socio-economics context acts like a catalyst in the Indian system.
- maxxxxx 8y ago"10x engineers " I really hate this. Maybe there are a few real 10x engineers but mostly it depends on the environment. I think I have been a 10x engineer myself in one company where I could work with autonomy and get needed support. Now I work at a place where they prefer many 0.5x engineers under tight control that do what they are told. I think a lot of us could do much better if we were allowed to do so.
- kkarakk 8y ago>Now I work at a place where they prefer many 0.5x engineers under tight control that do what they are told. won't these engineers basically be replaced once someone figures out a way to automate menial dev tasks like wix for eg
- deleted 8y ago[deleted]
- 40acres 8y agoI'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?
- teknologist 8y agoI've heard about a well-known tech startup in China called "Pinduoduo" where the standard hours for devs at their office are from 11am-midnight on weekdays and I believe most of them work a day each weekend too. It's fairly common for small tech companies to operate like this
- fouc 8y agoI wonder if they picked that schedule in order to reduce rush hour/commute time.
- vidanay 8y agoThe 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.
- startupdiscuss 8y agoIMHO 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).
- usaphp 8y ago> they’re still using JAVA or PHP because it works. Or probably because that’s what western counties pay for
- MichaelMoser123 8y agoevery contractor does what he gets payed for, hat's not something tied to any specific place or culture. It might make sense to look at the difference in culture between outsourcing shops and places where they do the whole project in house - rather than to do broad generalizations. I guess any comparison depends on what you are looking for: when comparing software development culture I would ask about the work environment; are workers likely to help each other out or are they more likely to opt for cut-throat competition between peers? Are people encouraged and willing to share knowledge, or is that something unusual? But I suspect that's not the way that these questions are approached; these are definitely not traits that we are picked out for during job interviews.
- abhinai 8y agoI am not sure if Java is any more practical than say Node.js or Python.
- alexandernst 8y agoThere 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 8y agoThe 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 8y agoIt happens even when they are part of an internal company office and not a contract shop.
- NullPrefix 8y agoAre they paid better than burger flippers in California? Absolute numbers, not relative. Discount team doesn't really need to care about your problems.
- woolvalley 8y agoThey 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.
- srazzaque 8y agoAre 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
- forkLding 8y agoPopular 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-should-know-about-developers-in-china_196 https://resource.alibabacloud.com/whitepaper/25-things-you-s... https://www.thehindu.com/business/Industry/one-third-of-indian-developers-are-self-taught-hackerrank-report/article22508712.ece https://www.thehindu.com/business/Industry/one-third-of-indi... https://towardsdatascience.com/comparison-of-software-developers-in-india-with-us-uk-germany-and-the-entire-world-8d2a1ba3218a https://towardsdatascience.com/comparison-of-software-develo... https://softwareengineering.stackexchange.com/questions/50884/how-do-programmers-in-the-east-see-programmers-in-the-west https://softwareengineering.stackexchange.com/questions/5088...
- xvilka 8y agoYou can check also Tencent opensourced software: https://github.com/Tencent https://github.com/Tencent
- sayno3 8y agoHere in the US, you will here a lot about 'culture fit' which is really just an encoded way of passing off nepotism and personal bias in the hiring process. The only difficult part of a job is learning which overwrought security nightmare they are using as a 'technology stack' to make the job so easy anyone could do it but all the cute buzzwords sound cool. Groupthink and correct answers to political questions are much more important than the 2 hours of actual coding per week the job will even require. Features trump safety (move fast, break people), hence an utter lack of security for any user in the world. Oh, and people in the US really are consumed by ethnocentrism ;)
- abhinai 8y agoI'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.
- rxin 8y agoThis is definitely not the case for China.
- abhinai 8y agoWhich part?
- KaoruAoiShiho 8y agoAll 3. Biggest problem in Chinese software is ageism against the old, much less seniority.
- sdrothrock 8y agoAgeism and too much deference to seniority can coexist; for example, a 23-year-old giving in to a 28-year-old who's obviously wrong.
- sdrothrock 8y agoI'm too late to edit, but this is also incredibly common with just a difference of a single year in many Asian countries. You'll see it in the Japanese senpai/kouhai relationship, which affects not only classmates, but people who join a company in different years.
- zed88 8y agoI 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.
- amrx431 8y ago> 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. Oh yeah and when the genius group of "IITians" dont write good code, the definition of good code is changed. I have literally seen this shit. Highly unreadable C++ code from a bunch of IITians went through flawlessly and got merged. The code written had the same readability as the code which you seen in Topcoder or Codechef.
- fosstrack 8y ago> 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 Not disagreeing. Natural programmers do exist in plenty outside the IITs. They need to be nurtured. The educational system does not help. Not that many companies, in the US too, put that much effort into grooming talented individuals anymore. But when they do, there's payoff.
- jogjayr 8y ago> 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.
- fosstrack 8y agoTo 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 8y agoWhat 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.
- fosstrack 8y agoThe culture is mainly collegial. We do all of those - birthdays, picnics, parties on the patio, etc. Ping me if you would like to discuss anything.
- kkarakk 8y agohaha 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
- turingbook 8y agoNative 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 8y agoWhere 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 8y agoWhat 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.
- sachin18590 8y agoWorking 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 8y agoThis doesn't apply to product (Flipkart/Alibaba/Zoho/Chargebee) companies in India/China, they are at par with West in their workflow/culture.
- beilabs 8y agoChina 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.
- satej-s 8y agoI 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 8y agoI 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.
- alextooter 8y agoMost 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.
- kamaal 8y ago1. 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 8y ago
- visw 8y agoJava, .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.
- sinstein 8y agoEx-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.
- yzh 8y agoI 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 8y ago> 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 8y ago> 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.
- manish_gill 8y agoDepends 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 ^_^
- sbmthakur 8y agoNode.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.
- jchristopherinc 8y agoI 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.
- agacera 8y agoOT: 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 8y agoIndia 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.
- thetechlead 8y agoWorked 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.
- qwertyuioppp 8y agoTest
- babai101 8y agoI'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.
- samfisher83 8y agoI 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.
- contingencies 8y agoChina: 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.
- happppy 8y agoTalk about Pakistan too. Software industry is pretty strong in Pakistan too.