Here goes my first post in the IT industry related series. Its all about the perception a student (student means me, myself and I and no one else ) has while undertaking (software) engineering courses in India, and its also about what is the hard core reality which exists in the Indian IT industry (well as per my perception).
Not so long ago I too pursued a course in engineering. The stream being Information Science and engineering. The year was 2001. I passed out in the year 2005. Through the 8 semesters which I went through, I studied various subjects all related to computers. Many were related to programming, few others theoretical.
I would like to mention that all through the 8 semesters, I was uninterested in any subject which did not have programming in it. Nothing to hide, I could not crack the programming subjects like Data Structures, but I did have a liking for them.
My IQ was so low that I could not understand abstraction and other OOPS concepts. I somehow managed pointers in a way which I dont really remember.
After working for so many years, and having figured out a little bit on what abstraction really is and how to put it into practice, I thought of writing this post. This post has nothing to do with abstraction but just the engineering degree syllabus which is so much abstract when compared to the Indian IT industry and the Indian IT industry which is so much abstract when compared to the IT industry of the WEST.
So let me start writing my intended content for the post.
During the course of my engineering study, I felt a need for loads of subjects on programming. We had C, C++ but somehow I developed a special liking to Visual Basic ahead of Java.
Visual Basic aka VB helped me to write code faster .. well .. fast enough for me to chose it ahead of Java. I always wondered why we did not have VB instead of C, C++. By the way VB was procedure oriented and not object oriented, else the case would have been different though.
I always felt the world outside was a different one, different from the one involving the subjects which we were studying during engineering. It is different to be precise. I wanted to have more subjects on programming so that, I could prepare myself for some interviews after my engineering. Nothing to hide, I loved coding and even love to this day almost 7 years since I have turned pro.
Throughout engineering, I wished we had more programming languages instead of theory.
So, cursing and cursing finally I completed my engineering, with basic knowledge on 3 programming languages, C, C++ and VB. I somehow learnt bits and pieces of C# but Object orientation was too much for me ( well atleast at that time).
When I joined my first company, I was put into a development project which was on .NET and the first thing my then manager told me was to unlearn what I had learnt during engineering, believe me, which holds relevance even to this day.
Theory and practical are two different things. What I learnt during engineering did not help me with my first job. It got me the gate pass to attend an interview. With due respect I have no hatred towards an engineering degree.
I got my first job through an off campus interview. But few of my friends in other colleges had been campus recruited into some MNC's. I was cursing myself that, here I am working on some project which feels like going nowhere, and out there, my friends, in those MNC's are churning out code which shall be put into production somewhere in the WEST.
Later I got to know,I was absolutely wrong. 6 months into my job I spoke to one of my friend who studied in a top engineering college in Bangalore and asked him straight " Do you write applications from scratch... Do you code ? what do you do ? ".
I was shocked to hear the answer. He told me.. " Who would give a development job to a fresher? We have been told to debug some legacy code and fix issues on the same ".
Hearing this I was so much blessed. Atleast I was not cleaning up legacy code. This is the abstraction which exists when it comes to syllabi and Indian IT industry.
Abstraction -> Engineering students are often believe that they will write production code once they come out of engineering.
Real Stuff -> there exists all kinds of jobs in the Indian IT industry. But DO NOT ASK coding for a project from scratch. It literally is NON EXISTANT.
People often write production code, but only in bits and pieces , those one liners for a bug fix.. And NOT THE ENTIRE APPLICATION. ( Well atleast in most Indian OUTSOURCING companies)
Even if you write fresh code, chances of it going to production are pretty less. Even if it goes into Production chances of it earning revenue (doing business) is pretty less. Main reason being well.. you will come to know in series of blog posts.
Now coming to the IT industry in India when compared to the WEST.
There is lots of market for software in the WEST. People are addicted to technology. It is enhancing their lives. But it also needs lots of investments, which they have. 1 SG = 44 INR. People in SG can afford technology and hence money can be spent on custom software development.
But here in India, we have problem for drinking water. Where is the scope for investment on Custom Software development. Well.. Only a few people can afford it.
When there is no market for technology / software in India, how can you expect software from scratch to be written ? And it is pretty easy to develop software for European markets sitting in Europe.
One on one meetings with client , interactions with end users, the professionalism all exist in the WEST. Here we have loads of blockages, like stuck in traffic, heavy rain etc etc which cause delay in software development and nothing ships on time. Moreover Indian IT industry employs all kinds of people, most people do not want to solve problems, rather talk some shit and go home.
So how can you expect a software to be shipped from India.
It is the same reason, Indian IT industry is all about OUTSOURCING and getting projects which are out of date in terms of technology from the WEST and maintaining them for many more years, because the same task would cost loads of money in the WEST.
It can be compared to the shipyard where all the old fleet of ships are broken down after its lifecycle. Same thing happens to software. All new software gets written in the west and we in India are happy maintaining decades old programs ...
PS::: still I am wondering the relevance of the Microsoft Tech meetings which happen in Bangalore time and again. Has someone enough budget to spend on writing POC's for new technology ? Because none of those POC's will ever go into production.
PPS:: I have seen lots of websites custom built for Indian market doing good business. I agree. There is some development when it comes to plain old websites which have loads of goods to chose from and a payment gateway.
Cheers...
Disclaimer
These series of posts regarding the IT industry has got nothing to do with any individual or any organization. Any co-incidences are fictional and deeply regretted. All the views expressed through these series of posts are solely mine and carry no guarantee on whether the information is correct or not.
Not so long ago I too pursued a course in engineering. The stream being Information Science and engineering. The year was 2001. I passed out in the year 2005. Through the 8 semesters which I went through, I studied various subjects all related to computers. Many were related to programming, few others theoretical.
I would like to mention that all through the 8 semesters, I was uninterested in any subject which did not have programming in it. Nothing to hide, I could not crack the programming subjects like Data Structures, but I did have a liking for them.
My IQ was so low that I could not understand abstraction and other OOPS concepts. I somehow managed pointers in a way which I dont really remember.
After working for so many years, and having figured out a little bit on what abstraction really is and how to put it into practice, I thought of writing this post. This post has nothing to do with abstraction but just the engineering degree syllabus which is so much abstract when compared to the Indian IT industry and the Indian IT industry which is so much abstract when compared to the IT industry of the WEST.
So let me start writing my intended content for the post.
During the course of my engineering study, I felt a need for loads of subjects on programming. We had C, C++ but somehow I developed a special liking to Visual Basic ahead of Java.
Visual Basic aka VB helped me to write code faster .. well .. fast enough for me to chose it ahead of Java. I always wondered why we did not have VB instead of C, C++. By the way VB was procedure oriented and not object oriented, else the case would have been different though.
I always felt the world outside was a different one, different from the one involving the subjects which we were studying during engineering. It is different to be precise. I wanted to have more subjects on programming so that, I could prepare myself for some interviews after my engineering. Nothing to hide, I loved coding and even love to this day almost 7 years since I have turned pro.
Throughout engineering, I wished we had more programming languages instead of theory.
So, cursing and cursing finally I completed my engineering, with basic knowledge on 3 programming languages, C, C++ and VB. I somehow learnt bits and pieces of C# but Object orientation was too much for me ( well atleast at that time).
When I joined my first company, I was put into a development project which was on .NET and the first thing my then manager told me was to unlearn what I had learnt during engineering, believe me, which holds relevance even to this day.
Theory and practical are two different things. What I learnt during engineering did not help me with my first job. It got me the gate pass to attend an interview. With due respect I have no hatred towards an engineering degree.
I got my first job through an off campus interview. But few of my friends in other colleges had been campus recruited into some MNC's. I was cursing myself that, here I am working on some project which feels like going nowhere, and out there, my friends, in those MNC's are churning out code which shall be put into production somewhere in the WEST.
Later I got to know,I was absolutely wrong. 6 months into my job I spoke to one of my friend who studied in a top engineering college in Bangalore and asked him straight " Do you write applications from scratch... Do you code ? what do you do ? ".
I was shocked to hear the answer. He told me.. " Who would give a development job to a fresher? We have been told to debug some legacy code and fix issues on the same ".
Hearing this I was so much blessed. Atleast I was not cleaning up legacy code. This is the abstraction which exists when it comes to syllabi and Indian IT industry.
Abstraction -> Engineering students are often believe that they will write production code once they come out of engineering.
Real Stuff -> there exists all kinds of jobs in the Indian IT industry. But DO NOT ASK coding for a project from scratch. It literally is NON EXISTANT.
People often write production code, but only in bits and pieces , those one liners for a bug fix.. And NOT THE ENTIRE APPLICATION. ( Well atleast in most Indian OUTSOURCING companies)
Even if you write fresh code, chances of it going to production are pretty less. Even if it goes into Production chances of it earning revenue (doing business) is pretty less. Main reason being well.. you will come to know in series of blog posts.
Now coming to the IT industry in India when compared to the WEST.
There is lots of market for software in the WEST. People are addicted to technology. It is enhancing their lives. But it also needs lots of investments, which they have. 1 SG = 44 INR. People in SG can afford technology and hence money can be spent on custom software development.
But here in India, we have problem for drinking water. Where is the scope for investment on Custom Software development. Well.. Only a few people can afford it.
When there is no market for technology / software in India, how can you expect software from scratch to be written ? And it is pretty easy to develop software for European markets sitting in Europe.
One on one meetings with client , interactions with end users, the professionalism all exist in the WEST. Here we have loads of blockages, like stuck in traffic, heavy rain etc etc which cause delay in software development and nothing ships on time. Moreover Indian IT industry employs all kinds of people, most people do not want to solve problems, rather talk some shit and go home.
So how can you expect a software to be shipped from India.
It is the same reason, Indian IT industry is all about OUTSOURCING and getting projects which are out of date in terms of technology from the WEST and maintaining them for many more years, because the same task would cost loads of money in the WEST.
It can be compared to the shipyard where all the old fleet of ships are broken down after its lifecycle. Same thing happens to software. All new software gets written in the west and we in India are happy maintaining decades old programs ...
PS::: still I am wondering the relevance of the Microsoft Tech meetings which happen in Bangalore time and again. Has someone enough budget to spend on writing POC's for new technology ? Because none of those POC's will ever go into production.
PPS:: I have seen lots of websites custom built for Indian market doing good business. I agree. There is some development when it comes to plain old websites which have loads of goods to chose from and a payment gateway.
Cheers...