The biggest problem is that the people who write code at the root level just aren’t interested in programming.
I run an IT services company so I know this by experience.
People who come for interviews for the position of a programmer just aren’t interested in programming! That’s a big deal for me.
A typical interview of a fresh graduate goes like this -
Me: So you want a job of a programmer. Why?
Ans: Because I have done my BE in Computers OR I like programming
Me: OK so you like programming. Tell me about the programs you have written.
Ans: I have written this xyz app during my college project…
Me: Don’t tell me about your “academic” projects. Tell me about any programs you might have written during your spare time.
Ans: Ummm, no I haven’t written any programs apart from my projects..
Ans: Didn’t get time / Don’t have computer at home / Don’t have .Net/C++/Java at home… / Didn’t get a chance….
Once I asked an aspiring programmer to define who he thinks is a programmer. His answer – “A programmer is someone who creates software as per client’s requirements”
I was like “Okay!!! Does it always have to be for a client?”
The guy replied, “No it can be for internal company requirements as well”
Me: “So it means that a programmer always creates programs when someone asks him to? Can’t a programmer write some program just for himself? Just for fun?”
The guy said “Yeah he can…”
Me: “It’s just that YOU won’t write a program for yourself right?”
Guy: “Yeah I don’t need to”
Creating computer programs is not a job. Majority of the people aspiring to be programmers won’t write a program until they are FORCED to by their college or by their employer. And that is NOT good.
I would say 90% of the people opting for this profession are doing it just because it has easy money. Easy money and a very convenient way of getting out of India.
And when people do something without having a real liking or passion for that thing, it shows up in the quality of the output.
You can teach people syntax of C++ and SQL and PHP. But you can’t really teach people to think creatively. Think of a solution for a problem. And certainly you cant teach someone to love their profession.
A lot of times I read articles about why companies like Microsoft, Google, Facebook, Cisco, Sun, Apple don’t come from India. This is one of the reasons. Not many Indians who take up IT as a profession love the tech. And those who do end up in the Silicon Valley and help build tech giants there. Yes we do have some small product startups from India but nothing on the level of companies I have mentioned.
And this thing is worrying not just for startups who are trying to build something great but even for IT services companies! Missed delivery dates, buggy code, unhappy clients are all a result of that.