"IMHO work quality is severely underrated in India, everything just needs to be done, the end quality does not matter, it should just work, that's enough" - this fact about Indian software development is well-known throughout the world.
Honestly I think that there's nothing national in this. It's just because the majority of the development work in India is being done in outsourcing. When you outsource you rarely pay for 'quality code', you pay for the code that works, delivered on time and preferably below the budget. Okay, you get what you're paying for.
Having said that I realize that this is a vicious cycle - young developers can write good code, but the market requires them to quickly crank up a lot of code which is just good enough to satisfy customer's quality requirements. In few years this developer is not able to write good code because he basically forgot how to do that.
Want to improve the quality of code from India (any other country for that matter)? Stop outsourcing there :-)
This. I've outsourced to India, Uruguay, Poland and I think Ukraine. Every single line of code from outsourcing has been thrown away. That was from finding a dev shop and them leasing one of their "devs" for x per hour (x was never under $20).
When I learnt my lesson, I thought about it and removed the indirection. Since 2011 I've only hired directly, but still remotely. I explain exactly what quality level is expected and that it's not a rush to finish.
The countries I've hired from still aren't high wages countries and the initial wages paid were the same as in my unsuccessful attempts. The quality output is far higher, and it's been worthwhile re-writing problem code rather than giving up and trashing it.
I don't think it's the country or the wages that are the problem, I think it's the indirection of another manager, plus the use of another company who often stacks (cheap) junior devs up and their only measure of success is whether their clock hours are full at the end of the month. You just can't expect that company's business goals to align with yours, especially when other companies using their services are often very inconsiderate about dropping the contracts with virtually no warning, that makes their planning really hard.
I recently did a code review for some work from a team in Ukraine. I was not expecting much - instead, I was blown away. The code was phenomenally well put together, good tests in place, comments were clear enough - this was tens of thousands of lines of code I'd never seen before and I was able to find my way around - and understand it - within just a few minutes. Not once did I cringe or find anything desperately in need of a rewrite. There were some not great architectural decisions regarding the database which I'd have done differently, but I understood how they got there, even if it was not a good point to be at.
This was easily some of the best code I've seen in years, both of my own and other colleagues. There were some key takeaways I got similar to davidjgraph's points. The company here in the US using this team worked directly with this team - there were not multiple agencies in the middle taking their cut. Additionally, it was the same core team (7? 8 people?) working for more than 2 years - they had a long term sense of commitment to the problem and the project, and it showed. Many outsourcing disasters I've seen are rush jobs by people trying to hit billable hours and move to the next project (well, same for onshore workers, really).
My experiences were similar - at the last job we had a team in Ukraine (they were in Zaporizhia and Odessa). It took a long time to find them (we wanted excellent English as well as coding skills) but once we did we signed them to a 2 year contract. They really were an extension of our company.
Don't forget, programmers only care about code quality when they deal with code maintenance. Most outsourced work never deals with code maintenance, so almost nobody learns to care about it.
There are two kinds of outsourcing. One where say IBM comes in defines the requirements and builds a solution that's expencive but can produce quality or outright fail. The other is where you define the requirements and hand it off to a third party, that can be relatively cheep and generally produces something, but you often end up with crap code because the developers have little incentive to deliver quality and little understanding of the underlying business requirements. Indian firms focious on the second type which harms there reputiation but IMO it's not unfair when your considering doing that type of outsourcing to know what your getting into.
PS: Which is not to say there not a lot of great Indian programmers just it's really hard to write or learn how to write high quality code when programming to an seemingly arbitrary spec. Sill it's a huge country so there is a fair amount of internal demand which is often forgotten about.
I don't think this is a fair thing to say. In my experience the quality of software engineering varies wildly in all countries. There's always the cream (smaller numbers, relatively) and always the mass of software engineering wanabies in every country.
The thing with India is there's just a lot more of all types in absolute numbers. The perception problem India has is that the weaker engineers tend to try outsourcing and the strong engineers are snapped up rapidly by big companies who recognize their talent.
If you look at the Google I/O keynote video this year, there are a lot of Indian engineers in high positions presenting. This is where the top dogs are. They're not going to be the ones completing your outsourcing requirements.
The other flip side of this is the companies doing the outsourcing are often as clueless as they percept the engineers to be. They often haven't a clue how to properly document their requirements, they inflict constant scope creep and then give 2 hours notice of the contract ending.
For the record I'm a software engineer in the US, and yes, every experience of outsourcing to India has been bad. I don't think I'm blameless for that.
You haven't mentioned the complete sentence => "98% of Indian Population have not even heard the word "Github" in their entire life, yet everyone acts like they know this stuff".
The problem is "They try to act" like they know about software industry, meanwhile when you try to explain them that you are working on some open source project, they refuse to respect your opinion.
Read the previous paragraph in the article. The point was that "everyone" assumed they understood how well he was doing, while being unable to evaluate that. (E.g. never heard of github.)
I guess he means for the people who commented on things he did, ie: his relatives. They did not know of his experience/the projects he had worked on - they did not know his "Github" work, and only recognized bigger brands & universities names.
I am a programmer. I am not a software Engg. I am actually a Production Engg. However, I am a programmer. I'm a little bit older than you....27.
Let me tell you what I spend my days doing. I sit in a CCD (Cafe Coffe Day) with my best friend from 10:30 - 1 pm and code and work on making a beautiful product. Our product caters to the Indian market. We make a decent amount of money. Enough to allow me to buy my first house and go for vacations every few months.
My problem with your post is your attitude. India is an amazing country to me cause the market is so insanely large that if you capture a niche of a niche of a niche.... you can live a great life. In fact, I will argue, you can have a more beautiful life than you would in countries like the US etc. You will be able to delegate all boring aspects of your life (to maid and cooks and helpers and assistants who are all very cheap because labor is cheap) and just focus on what you want to do. That is the beauty of India. I could go on and on. But, let me assure you, that you are missing out if you think its a bad thing to be a skilled programmer in India.
I think the outsourcing industry has killed tech entrepreneurship in India. I have checked with many 24-30 year olds, and all of them are doing the same grind for some outsourced project.
Outsourcing industry is the only reason, why the tech entrepreneurship even exists in India.
Its easy to troll on these companies for not offering us the great life in a gift box. But the fact is bulk of the infrastructure, reputation and even the very trend to help build the entire ecosystem was done by these companies.
I am a programmer from India. I somehow prefer programmer over software engineer. I turned 23 on 11th. And for me 22 was complicated enough. Interestingly, I am not from any IIT, NIT or whatever that you mention and neither do I have a job in the big brand firm.
But still I think the situation is somewhat better than what you have mentioned in your post. Maybe its a difference between where we are located but I don't get that much heat anymore as far as job and stuff are related. Also I do not think everyone should care about your open source contributions or code quality, unless by nobody you meant people who code next to you.
Also its great that you finally are doing what you like. It is pretty guaranteed that there would be people out complaining about something in your life even if you were working at some big company. It is difficult enough to be bothered with what we are doing, that we should care about what others thing. ;-)
Oh btw, Happy Birthday!
You have to say software engineer, not programmer, engineer has to be included.
It is like spying. If you work in a famous company, people could guess your salary. If you work for yourself, many things are unknown about you which irritates people. On the other hand people do business and does not reveal income to avoid paying taxes.
India is an English speaking country, and made its name writing software. (in modern times).
Yet you use the term "softwares" - learn some grammar first - especially when it comes to your identity as a software engineer. Or are you a 'softwares engineer'?
If you are curious, I studied in Chattisgarh, India.
There will always be things that you feel like you should or must be doing when you are 24 or 25 or 65!
Its great that you have found something you enjoy. As you get more experience and explore new avenues, you may find things that interest you more. Be open to change. The peanut gallery will always be there, but the only person you are accountable to is yourself.
The social pressures are a part of the culture, but they are background noise as such and should be treated as much. Focus on what you want to do, and where you are going. The other things will fall into place one way or the other.
I am from south of India - In Kerala, my state, marriage is a 30ish affair. 20s is the time to explore,experience,learn and experiment. Nobody but you can stop yourself from achieving your dreams.
Heh. As a recently graduated 23yo, I feel you brah. Based on a few of my friends' experiences, I'm determined to stay away from the "outsourcing industry", where engineering quality is secondary to things like seniority, management etc. I was lucky to get an Internship with an up and coming startup and learned the ropes. :)
India is not the problem neither the people around you, its your attitude. And its better we Indian’s stop injecting this sort of stereotypes about the country. I will be 24, new year eve. And nobody is going to ask me to get married, nobody is going to until I am 27 or 28, and I don't have to go for arranged marriage. After college I threw away offers from these big companies Infosys, Wipro, Accenture or whatever and choose to work in startups. And boy, the job is awesome and you get paid fine, better than my friends in these so called big companies. I didn’t study in any of those NIT’s or IIT’s and I don’t think that really matters to you in any regard. My parent’s weren’t supportive and I have been asked several times to quit the job in india and go abroad and work. But I don’t think there is anything negative in it. They have grown up in a situation where married life and job in a good company/government service were important. Make yourself clear to them and none is going to ask that to you again, they are educated enough to understand that and they will be happy as long as you are (and its a good thing about Indian parents). And why should you care about what others think or care as long as you are living a life that satisfies you? Indian’s maybe a little nosy about things you do. But its never going to affect you as long as you don’t want it to.
The term "Entrepreneur" here in India is a synonym for "Jobless”
hell no!! they are respected and appreciated. We have startup incubators in India, the governments are supportive as well. http://startupvillage.in
IMHO work quality is severely underrated in India, everything just needs to be done, the end quality does not matter, it should just work, that's enough
No! there are companies that value good programming, and they are ready to higher you at a good cost and you are appreciated for writing good code. There are Indian’s working in Indian companies who do contribute to some major open source projects. And I have friends in these big companies who are really good programmers and writing good code there, neither they are under appreciated. And in business “Everything needs to be done”, and for the end quality to matter. Its the programmer’s discretion. Its not specific to India.
And at 24, probably your life just started and there is lot to live and achieve (it doesn't matter you are in India or in US). And life on entrepreneurs is just as hard as it is for the ones in other countries, its not any different.
Well, too much is being told about the Indian outsourced code quality.
I did some bit of work on VWorker (now Freelancer) based out of India and I always got good ratings for my work, never once, I was told that the code I delivered was a shit job.
If someone asked me what my salary was, I'd kick them in the teeth. Not sure if that's a 'British' thing, but asking someone what their salary is, is really rude!
Welcome to India. Around 22, all your relatives (especially aunts) turn into marriage bureaus and need this information. Hell, even matrimonial ads feature "x figure income" here!
You and Jalan are really freaking me out. I am in early twenties and about to finish studies. I'm more of an introvert and people asking me all those questions is going to be, well, quite unpleasant!
My mom is most of it, the other bit is a good friend of mine... I was in a relationship for 6 years, 2 of those years engaged... It didn't work out. My shortest ever relationship was 3 months. I've dated many woman since my first girlfriend at 15... But I decided I wanted to focus on my career over relationships for the last 4 years, now my family and friends feel as if I am never gonna get married or have kids... I had always set a goal of not having kids until I'm 30.
Yeah, I agree. I mean, the guy probably speaks four languages at least a couple of them fluently - you'd have thought he'd have prioritised _my_ language.
It's great that you can take criticism. I've interacted with quite a few Asians online who literally believe their English is perfected, yet their written words read like they are proper idiots. Your English is pretty great though, in comparison. I think you will find you will gain a good deal more respect among fluent English speakers and programmers alike when you master the language.
> who literally believe their English is perfected,
There's no one to blame except yourselves, Americans (I speculate here). Especially in Bay Area or any other melting pot.
You speak language remotely resembling English? We can understand you without "Say it again, please?" every 10 seconds? THANK YOU VERY MUCH!!!
Only if you know how hard it is to solicit a style/grammar correction from an average IT engineer/manager. Oh, ah, it's so rude to correct someone (even if the person explicitly asks for this). So far I was able to convince only one my friend to correct me (and it wasn't completely free - he is learning Russian and wants the same from me).
You are commenting on someones English from India. Remind me to do that to a Canadian, American or South African next time. India has the second most English speakers of any country in the world. It's an official language.
Fuck that noise. It's representative of a shit state of affairs when 'mastery' of one particular language is necessary to gain respect among fluent speakers. No respect for those who haven't 'mastered' the thing we have mastery of? Fuck, it sounds like a recipe for supremacy or something.
It's precisely about noise. I suppose you haven't had to deal with the kind of people I have or else you may not be regurgitating this politically correct trite. It is simply objectively superior for one man to be understood better than another. It is about the other persons ability to understand them with as little effort as possible, and when you need to ask them "Hey, wait, explain what you mean by this [fucking gibberish noise]" you have just lost time and patience. Respect is not something one is entitled to.
I mean, shit, how is this any different from me jumping in and contributing to a Git repo the language of which I haven't mastered? Should I not lose respect when my PR's have syntax errors or use bad practices? Fuck that noise indeed.
What about female software engineers in India? I know this is off topic, but I wonder what pressures they feel at 24. What are their relatives asking them?
>>I mean, literally, give me some personal space. I am just (about to be) 24. I have to achieve some things in my life first, I have set some goals.
You know what, go check what has become of people who marry late and have all sort of financial commitments like their daughters marriage or their retirement year or their kids educational fees coming pounding on them just 2 years from their retirement.
There is a reason why people prescribe early marriage, you can be off your responsibilities early. And that ensures you have a peaceful time after your 50's.
>>In India, it's hard for people to believe that a person can be successful by bootstrapping his own business.
So wrong, Stories of successful Marwari's, Gujrati's and People from Kerala are a common place in India. Please don't generalize so much. So people know the truth too, but its not about the truth, Its about safety and fear.
To understand why parents in India prevent their kids from starting their own business, especially those from lower middle class and poor back grounds is the fact that parents slog like dogs their whole life to get their kids into a position where they can secure a decent job. Imagine giving all that away(Decades worth hardwork) and risk it all on a venture which statistically is almost assured to fail.
For the higher middle class and rich kids this is nothing. Because they fall back on father's property and some thick dowry sort of gifts coming in a never ending stream from their father in law to keep them and sustain them in the game.
For some one poor it means game over, and they have start all over again work a few decades and hope their kids don't make the same mistake again.
>>The term "Entrepreneur" here in India is a synonym for "Jobless".
That's because starting up petty grocery stores was the trend if you didn't net a job else where.
>>If you are not employed, then be ready to hear some harsh comments from your relatives
May be for a good reason. If you are 24 and still expecting your dad to support you to buy a tooth brush in the morning. I don't think that's acceptable.
>>98% of Indian Population have not even heard the word "Github" in their entire life, yet everyone acts like they know this stuff
98% of the population in any country haven't heard about Github. Have you heard of the top civil engineering related discussion site? How many times do you visit that site per day?
>>(IMHO work quality is severely underrated in India, everything just needs to be done, the end quality does not matter, it should just work, that's enough
Who told you that? I've worked on some top notch projects here. You get what you want. If your aim is simply to buy a few expensive flats in Bangalore, buy a car, watch movies in a multiplex all weekend and eat out. You might as well play some dirty polities secure a undeserved promotion and travel abroad to fund it.
But there are awesome projects all over the place. You will get them if you look for them.
>>From where you have done your Engineering
Because statistically speaking, someone with an engineering degree generally does better than the one that doesn't.
>>The brand name of the company you work for (Infosys...
I've worked in one such a company, Most of the people who worked with are all doing well. Many have started companies, and many are working public projects of importance.
Do you even know what kind of ecosystem, training, infrastructure and facilities such companies offer. Its next to impossible to match that outside such companies, I was fortunate to have benefited immensely in early parts of my career. If you walk in a gold mine, and worry all about mud, I'm not surprised if you don't find gold ever.
>>Luckily for me, my parents were supportive...
Finally! There are folks in this country whose parents don't have the money to buy them even a pair of slippers throughout their entire 4 years of engineering. I hope you understand why such people make choices they make.