How Apple recruits freshmen in India

How do programmers in the west see programmers in the east?

I am a 21 year old student from India in my final 4 year computer science and engineering degree.

The idea for writing this was to say that India is much more than an outsourcing hub. Hope the West sees it that way, and instead of picking up talent, the West should sit down. There is some objectionable content but if you get the bigger picture you will understand what I am trying to say.

Education in India is in a very troubling state as a workforce is produced every year with no or absolutely terrible technical skills. The education system is not at all competitive in terms of innovation or entrepreneurship. This has caused great embarrassment for our country, such as the recently locally developed $ 10 computer (which turned out to be a cheap Chinese tablet Android that is only serviced by an Indian company) or an earlier claim of another technological breakthrough (the turned out to be a USB stick). Educational institutions are completely independent of the real world of technology and are more interested in seeing students reinvent the wheel, all in the name of innovation. Educational institutions, everyone hates them.

Come to places where you want to learn at least some hot development skills:

Apart from my educational institutions, I have had contact with several educational institutions in India. Programming and software development take place on two levels: Application level development and system level development.

For application development, most freshmen in India are mass-recruited by companies to claim a bench of programmers and get more projects. At the end of the day there is impaired qualitybecause the hiring process is absolutely stupid. Sometimes talent is wasted getting people to do their stuff well on stupid things like creating Java frames and creating simple WinForm and ASP.NET user interfaces (I speak of newer settings and as some claim although I'm not sure). If good software development practices are not considered, this type of coding can be done by a 7th student.

At the same time, there are independent programmers and developers who have a great interest in things. They are like the unsung heroes who have lost all hope and are least interested in changing the world. All they want is to get the most out of their skills. So it's all about the money and going abroad. While our courses are heavily limited to system software (C programming with TurboC !!! for 4 damn years, stupid and vague C ++ with no proper object-oriented concepts using cout in a C program is not C ++, ASM and more C programming with gcc) if we are mainly responsible for application development (ASP.NET, WinForms, J2EE) in a company. Basically, a computer science engineer is made to do the job of a software engineer. Yes, knowing about computer science helps, but not knowing that the right software development hinders the process too much and the entire system crashes. It's a mistake.

I will give a simple example. I joined a training institute for my project last year and they wanted me to create an ASP.NET website that is something like an inventory system (hotel booking, CRM, something). Yes, it's not an easy task, but in my opinion, it's not worth working on a project. It's just going to reinvent the wheel and these projects are inherently huge in real life. Delivered in 6 months by a group of 3, you can understand the type of scaled-down unusable system that results from it. The institutes do not emphasize too deeply and are more interested in "not frightening the student if he tells them too much" and "giving an overview and letting them study the rest for themselves". In the end, what people develop in projects is not even a fully tested prototype, let alone a real deployment.

I took my own topic, a voice-controlled real-time navigation system. I use WPF, Google Maps API and the latest technology I can. For good software engineering practice, I use source control and MVVM and will thoroughly examine everything I know. I am 21 years old and I am a graduate. I think at my age people in the West are still in the learning phase and will graduate at a later age. That makes western graduates so much better and more knowledgeable. We have quantity but not quality.

In India, the level of work I do for my project is generally not expected from a Bachelor project in the final year. But I'll do it because I want to. At the same time, there are others in my group who like to run a project in ASP.NET, build 5-7 pages, run database queries, fill out grid views, and don't care about security. Hell, even these freelance websites have better job postings (YouTube clone, Google Instant + X = Y mashup ..)

Six months later, you will find the same people working at a company that you are outsourcing your business to and you will find me there too. People like them, outnumbered people like me ten to 1 :(

to be precise and not to rant, in my entire training career and acquaintance with over 500 people I have seen exactly 4 who had the expertise I would consider working on a project with me.

Ultimately, all Indian graduates will write good documentation because it is theory, but don't expect foolproof code from them.

This is also the case with the system software. A friend of mine works with the NDK Android and is working on a live project in a company. He is fortunate to have received this project and I envy him, but this work is also taking place in India. Another senior at my college developed a Kinect clone (multi-touch mouse, as reported by minority groups) with just two cheap webcams in his final year on the project. Likewise, there are others who copy codes from the internet and somehow reinvent the wheel.

My final word: don't expect quality compromises anywhere in India and don't take Indians for granted as cheap software maintainers and capable of just outsourcing maintenance.

Also, don't expect someone with a good educational background in terms of grades to write good software. India's education system is all theoretically oriented, there is no stress on practice, sometimes knowing more or willingness to know more can get you into trouble from teachers who feel intimidated. Even so, good programmers are looking for greener pastures in a better career, not just a good job. There are also others who want to get a good "job", drive around a Honda City, eat in mainland China and live happily.

By the way, I'm more into Audi. :) :)