I am trying to lay down strict quality guidelines for my firm Amoebaa Technologies (website coming soon). There are many challenges ahead in terms of laying down a strict quality improvement guidelines, making developers aware of new technologies and how best to use them, besides creating an environment where everyone gets into the habit of code reviews. We already have a 3 point QIP in place, but still looking for more additions to it.
During our interview process, I realized that most developers here are simply focussing on how to finish their job, even if they seriously botch up the code. Misusing ASP.NET Sessions, messing up with layering, flawed or missing architecure and design, poor code management are just one of the few issues I have faced working with experienced team members.The problem lies somewhere in their mindset, which needs a major overhaul.
In India, a senior software developer is one who has just 2-3 years of experience. One can become a Tech Lead if he has 5+ years of experience in his CV even though he might not know things as expected. I have seen Tech Leads who can't explain even a single design pattern and have 7 years of experience! But the demand is so huge that such people get placed easily, and also get huge pay packets!
This may also be one of the reasons behind the growing failures of software offshoring processes here. In near future, this bubble will burst soon, and only those companies which have strict quality control guidelines and best minds will survive.