Thursday, June 25, 2009
India Developer Manifesto
- 1. I always wanted an exhaustive checklist to measure myself against. What do you feel Indian developers (or whatever you may want to call them) need to change/adjust (professionally, culturally, mentality etc) when they come to the US to work with American developers?
- Professionally: The focus on not just university curriculum but learnings of a professional nature are in order. Participate in local user groups in topics that are of interest to you. For example, if you are into software development, there is no reason why you shouldn't be religiously attending OWASP meetings. If a chapter doesn't exist, then create one. Being a professional requires a code of ethic and outside of work pursuits of industry knowledge.
- Culturally: Get ready to be shocked. I think very little in this regard needs to change. In fact, I would probably say guard your own culture from suboptimal western influences. Don't allow perception management to enter the decision making process and stay focused on making decisions based on informed fact-based judgment. The Indian culture in many ways has characteristics I would love to see happen in America ranging from the modesty of how women dress to the point that music isn't all about sex, drugs and money. Culturally speaking, don't loose your culture.
- Mentally: I think tradition is somewhat distinct from culture and I would encourage those who have mental handcuff's to consider alternatives which it comes to things like charity, tipping, not knowing how to say No and inheriting the religion of one's parents. India has its own traditions around Judaism, Christianity and Islam that if folks removed their blinders would see the beauty within.
- Working on maintenance projects handed to you by American companies will indoctrinate you into worst practices. The less talented developers in America have created unmaintainable balls of mess and have simply thrown it over the wall to India. If all you do is read the worst of our code and have freshers fixing it, it will serve to only taint the next generation.
- You are truly competitive when you start contributing to open source. Don't just use it, but encourage your employer to allow employees to spend company time giving away high quality code for absolutely free. It will make you a much better developer than what is current indoctrination.
- Encourage more free thinking. Using CMMI to turn everyone into a mindless process weenie is detrimental long term. We need new thinking and India has the potential if it could figure out legal ways to throw those process weenies off the roof. Developers in India should lead the revolt.
- Start attempting to answer questions asked by American's within online forums. Wouldn't it be cool if Indian's started solving problems that senior American people could figure out on site such as StackOverflow?
- Learn to write secure code and stop attempting to think of this as an extra chargeable service. Indian outsourcing firms should empower their developers to do an even better job for their clients by putting tools such as Ounce Labs on every developers desktop without the client even having to ask for it.
- To be a better developer, you have to expose yourself to alternative ways of thinking. Participation in the blogosphere is one method which you have already taken steps to beat out the rest of your peers.
- Diversify your friends not only at work but at home. You need to be exposed to perspectives that are unfamiliar to you. If you only work with or hire people who are from your same state, then you are missing out on the ability to be truly successful. Consider hiring more females if you are male, or more Christians, Muslims, etc if you are Hindu or more Hispanics, Africans or those not like you. Diversity in your outside of work network is especially important. Look at your family tree and figure out ways you can turn members into a Benetton Poster.
Links to this post: