The Story of Engineering Education in India(jnaapti.com)
jnaapti.com
The Story of Engineering Education in India
http://jnaapti.com/blog/2013/09/22/jnaapti-the-story-so-far/
14 comments
Your post has a lot of gems, but you also misunderstand a lot about what is going on in Indian society. I am not surprised, not a least bit.
>>I am sorry to say this, but parents come with an “old generation” mindset ... Because they think that if he gets a job he has settled in life ... Unfortunately, what they don’t realize is that there is no such thing as “settling” in IT jobs.
They come with a very correct mindset. For many people here. Including my own family, getting to a IT job was a long drawn battle against very tough financial conditions, social pressures and all other kinds of problems. There are people, including few of friends where they were the first people to enter a Engineering college. Imagine having to drive a taxi, or an auto rickshaw, or pushing a vegetable cart, or a small time farm worker practically working 18 hrs/day and then sacrificing every small desire of yours to save every single paise and doing this for decades you can so that your child can study. And imagine the kid, having to wear only two shirts and two pants a year. Traveling in near-to-explode crowded buses in a city starving all afternoon, and practicing math problems on a newspaper just to get a decent degree and a job.
From their perspective, they are really reaching a milestone, when they get a full time job. At least that is how I felt I when I got my full time job at a Call center here in Bangalore. You might think that's a disaster for an engineer. But from my perspective, the analogy is similar to a person dying out of thirst in a desert getting a glass of cold water, and you criticizing him for not aiming for Apple juice.
Its extremely difficult to understand this, unless you have suffered the same fate. Even if you think you do, you don't. You really need to suffer from it, to understand what it is.
Remainder of your post has some nice insights. But I believe our society suffers from a crisis of honesty. Throughout my entire childhood, teens and now in a job I see rampant corruption. I don't mean bribery. But unfair play of all kinds. Question papers in exams getting leaked, seats in colleges being secured through 'high influences' & capitation fees, Seats denied to general category students due to reservations.
And now in the corporate job, I don't see things as any different here. In fact this is the worst I'm seeing in my life. Even if you are the best programmer out there, you will be slaughtered in the resulting office politics. I've seen some super idiots being promoted, sent to onsite locations, and given amazing hikes just because his manager happens to be speaking the same language as him, or belongs to same state from some part of India, or is because of some religion. At the same time, the entire industry is full jumping jacks, attrition in nearly every company is record high. Because every one wants to be a manager, thanks to the IT services companies and the mess they created in 90's. Now every one joining this industry thinks programmers are losers, and climbing the corporate ladder is all that is sole measure of one's success, or how many time one has visited the US.
Meritocracy is dead in the water, when it comes to the programming scene in India. If you want progress, you need to be some managers's pet and "suck up" to him. Playing political games, and being in manager's power structure is all that counts. Else find your self a manager who is of your state or speaks your language.
This has nothing to do with engineering education. Its about being honest and playing fair. Besides I chuckle every time a guy gives 'engineering education' as a reason to not do something. A 20+ year old with Google at his disposal, has 0 reasons to complain when it education and knowledge these days.
Start up's and bootstrapping are our only hope at this point of time.
>>I am sorry to say this, but parents come with an “old generation” mindset ... Because they think that if he gets a job he has settled in life ... Unfortunately, what they don’t realize is that there is no such thing as “settling” in IT jobs.
They come with a very correct mindset. For many people here. Including my own family, getting to a IT job was a long drawn battle against very tough financial conditions, social pressures and all other kinds of problems. There are people, including few of friends where they were the first people to enter a Engineering college. Imagine having to drive a taxi, or an auto rickshaw, or pushing a vegetable cart, or a small time farm worker practically working 18 hrs/day and then sacrificing every small desire of yours to save every single paise and doing this for decades you can so that your child can study. And imagine the kid, having to wear only two shirts and two pants a year. Traveling in near-to-explode crowded buses in a city starving all afternoon, and practicing math problems on a newspaper just to get a decent degree and a job.
From their perspective, they are really reaching a milestone, when they get a full time job. At least that is how I felt I when I got my full time job at a Call center here in Bangalore. You might think that's a disaster for an engineer. But from my perspective, the analogy is similar to a person dying out of thirst in a desert getting a glass of cold water, and you criticizing him for not aiming for Apple juice.
Its extremely difficult to understand this, unless you have suffered the same fate. Even if you think you do, you don't. You really need to suffer from it, to understand what it is.
Remainder of your post has some nice insights. But I believe our society suffers from a crisis of honesty. Throughout my entire childhood, teens and now in a job I see rampant corruption. I don't mean bribery. But unfair play of all kinds. Question papers in exams getting leaked, seats in colleges being secured through 'high influences' & capitation fees, Seats denied to general category students due to reservations.
And now in the corporate job, I don't see things as any different here. In fact this is the worst I'm seeing in my life. Even if you are the best programmer out there, you will be slaughtered in the resulting office politics. I've seen some super idiots being promoted, sent to onsite locations, and given amazing hikes just because his manager happens to be speaking the same language as him, or belongs to same state from some part of India, or is because of some religion. At the same time, the entire industry is full jumping jacks, attrition in nearly every company is record high. Because every one wants to be a manager, thanks to the IT services companies and the mess they created in 90's. Now every one joining this industry thinks programmers are losers, and climbing the corporate ladder is all that is sole measure of one's success, or how many time one has visited the US.
Meritocracy is dead in the water, when it comes to the programming scene in India. If you want progress, you need to be some managers's pet and "suck up" to him. Playing political games, and being in manager's power structure is all that counts. Else find your self a manager who is of your state or speaks your language.
This has nothing to do with engineering education. Its about being honest and playing fair. Besides I chuckle every time a guy gives 'engineering education' as a reason to not do something. A 20+ year old with Google at his disposal, has 0 reasons to complain when it education and knowledge these days.
Start up's and bootstrapping are our only hope at this point of time.
I work at one of these IT service companies. This year I complete my 10 years. I love coding, solving problems and learning new things. But unfortunately, with extreme reluctance I will have to become one of these managers. I just do not have any other way, no body cares about writing code here and writing good code will not get you nowhere.
I am too old for the product companies and I am not from a top tier college. So its game over for me, however the only hope I have is that someday I will manage to build something on my own that will free me. This is what I have been dreaming of ever since I passed out of college. You may ask me why I did not do it then, but for a guy from a lower middle class background, it was not an option. I needed to survive.
I am too old for the product companies and I am not from a top tier college. So its game over for me, however the only hope I have is that someday I will manage to build something on my own that will free me. This is what I have been dreaming of ever since I passed out of college. You may ask me why I did not do it then, but for a guy from a lower middle class background, it was not an option. I needed to survive.
Any advice for someone who has completed just 1 year ?
First question - do you like programming? If not get out. If you like programming, get better. Learn algos, lookup open source projects, dig through the code. That is how I learnt. Build something - it could be a website, an app. Try showcasing it, it may open opportunities.
Yes I like coding. I'll try and do what you suggested. But how did you find the time ? It gets very hectic at time doesn't it ?
//Seats denied to general category students due to reservations//
I mostly agree with the rest of your post, but bundling the reservation system among corruptions is naive and mischievous. Reservations for the low caste were gained after a long struggle for their social justice.
No it's not.
'naive' and 'mischievous' don't mean what you think they mean, and the author of the parent post did not claim anything of that sort. It's just that your opinions differ and you want to throw some idiotic words at the author's post.
'naive' and 'mischievous' don't mean what you think they mean, and the author of the parent post did not claim anything of that sort. It's just that your opinions differ and you want to throw some idiotic words at the author's post.
I quoted what the poster said.
It is _naive_ for a person born into low caste, to believe that the reservation system is corrupt.
On the other hand it is _mischievous_ for the elitist to claim that it is corrupt. Indian popular media and the justice system which are disproportionately occupied by the elitists, have been successful in their propaganda to make the younger generation think that it is wrong to utilize the reservations.
It is _naive_ for a person born into low caste, to believe that the reservation system is corrupt.
On the other hand it is _mischievous_ for the elitist to claim that it is corrupt. Indian popular media and the justice system which are disproportionately occupied by the elitists, have been successful in their propaganda to make the younger generation think that it is wrong to utilize the reservations.
Justice is equality, not reservations.
There are two people, Person A works very hard, Person B doesn't. In a exam, because of the registration number system both are anonymous. Now if Person A scores above Person B. I don't see why B must get a seat above A? For what?
Social justice is to give people what they deserve corresponding to their efforts.
>>Indian popular media and the justice system which are disproportionately occupied by the elitists
By elitist you mean people who work hard and make it big in their lives?
And 60+ years of reservation system hasn't changed anything which says volumes about the problems with uplifting weaker sections of our society. If you give some one an option to get something for free, they take that rather than working for it.
Net Result? You get people who only look progressive but are actually not.
There are two people, Person A works very hard, Person B doesn't. In a exam, because of the registration number system both are anonymous. Now if Person A scores above Person B. I don't see why B must get a seat above A? For what?
Social justice is to give people what they deserve corresponding to their efforts.
>>Indian popular media and the justice system which are disproportionately occupied by the elitists
By elitist you mean people who work hard and make it big in their lives?
And 60+ years of reservation system hasn't changed anything which says volumes about the problems with uplifting weaker sections of our society. If you give some one an option to get something for free, they take that rather than working for it.
Net Result? You get people who only look progressive but are actually not.
No he didn't. Don't just make shit up.
And, by the way, the constitution of india enjoins every indian to be treated equally. If you don't understand that concept, and only view life through casteist eyes, then you are in for a sad, bigoted future.
And, by the way, the constitution of india enjoins every indian to be treated equally. If you don't understand that concept, and only view life through casteist eyes, then you are in for a sad, bigoted future.
[deleted]
A 20+ year old with Google at his disposal, has 0 reasons to complain when it education and knowledge these days
WRONG
Totally
Where would a 20 year old learn about a driver code written 15 years back , with no documents? This job would feed him And it is hard.
WRONG
Totally
Where would a 20 year old learn about a driver code written 15 years back , with no documents? This job would feed him And it is hard.
Nobody gets Google search results, For "segfault in driver.c written by rahul rai in 1985"
But, they get good enough help on writing device drivers and troubleshooting them. That is all you need, and you have to take it from there.
There is nothing like copy-paste if your are solving a new problem. You have to incrementally work your way to a solution.
If you think that is not possible for a person, they must rethink and chose a different profession instead.
But, they get good enough help on writing device drivers and troubleshooting them. That is all you need, and you have to take it from there.
There is nothing like copy-paste if your are solving a new problem. You have to incrementally work your way to a solution.
If you think that is not possible for a person, they must rethink and chose a different profession instead.
No.
It also indicates that companies hire people and then throw problems at them without training them or mentoring them or providing adequate tools for them.
It also indicates that companies hire people and then throw problems at them without training them or mentoring them or providing adequate tools for them.
I call BS on that attitude.
First, the author was making a generic point. Your contribution is to point out some silly exception.
However, if a 20 year old had the driver's code, he can learn to look at the code of similar driver's or failing that learn to read the code, and run them through a kernel-level debugger. If he doesn't know how to do that, there are resources available on the internet to show him how.
First, the author was making a generic point. Your contribution is to point out some silly exception.
However, if a 20 year old had the driver's code, he can learn to look at the code of similar driver's or failing that learn to read the code, and run them through a kernel-level debugger. If he doesn't know how to do that, there are resources available on the internet to show him how.
Where do you find a similar iscsi driver code written for windows NT
Similar to what?
Here's a link to the open source linux version: http://linux-iscsi.sourceforge.net/
Also check out this site for more info: http://www.open-iscsi.org/
The Windows DDK is a good source of sample driver code. If you are a MSDN subscriber, you would be able to find it as part of your collection ( or available for download online )
Beyond that, i suggest contacting MS tech support.
Here's a link to the open source linux version: http://linux-iscsi.sourceforge.net/
Also check out this site for more info: http://www.open-iscsi.org/
The Windows DDK is a good source of sample driver code. If you are a MSDN subscriber, you would be able to find it as part of your collection ( or available for download online )
Beyond that, i suggest contacting MS tech support.
I know all of this
my point is how do you deal with the pain of supporting code written by someone else years ago?
my point is how do you deal with the pain of supporting code written by someone else years ago?
If you knew all this why ask a specific question?
I am really trying hard to take you seriously and not treat you like a troll.
As far as supporting code written by someone else years ago, that's just the nature of programming. If you find it too painful, get out of this industry, find something you truly enjoy and do your best in that area.
Life is too short to be struck doing something you really don't enjoy.
I am really trying hard to take you seriously and not treat you like a troll.
As far as supporting code written by someone else years ago, that's just the nature of programming. If you find it too painful, get out of this industry, find something you truly enjoy and do your best in that area.
Life is too short to be struck doing something you really don't enjoy.
He means to say that an engineering student should have an aptitude of solving problems. All he needs is a hint of solution. Google is happy to give that..
To add to it there is a lack of career counselling. One really does not know about many of the career options out there when he/she is in Class 10, when he/she has to make a choice.
"we can expect a new technology that we don’t even have now to get outdated before our lifetime." Very well said and so true. People must Adapt in order to cope up. Probably online education programs (MIT/Coursera etc)play vital role here in learning new domains/skills and keep us going...
I tried to sum it up in my recent blog : http://linux-devil.blogspot.in/2013/09/online-courses-for-co...
I am a start up founder as well and I am facing the same problem. Most of freshers applying for the jobs claim to have decent "Java", "SQL" knowledge in their resume. But they cannot even write a simple program that reads and writes to a file.
They don't even know that there is something called "Open Source Technology". Absolutely no one has hands on experience with Linux. And they haven't even heard of technologies like ROR and Node.js.
I had to invest in their training. But even after 3 months of rigorous training, they still fail to grasp basic concepts.
I am not blaming parents for their child's failure. Of course, they pray that he should have a better life than themselves. That's why they pay for his education.
I will blame these petty colleges with their petty engineering degrees.
Paid projects are killing "problem solving attitude" of entire engineering generation.
They don't even know that there is something called "Open Source Technology". Absolutely no one has hands on experience with Linux. And they haven't even heard of technologies like ROR and Node.js.
I had to invest in their training. But even after 3 months of rigorous training, they still fail to grasp basic concepts.
I am not blaming parents for their child's failure. Of course, they pray that he should have a better life than themselves. That's why they pay for his education.
I will blame these petty colleges with their petty engineering degrees.
Paid projects are killing "problem solving attitude" of entire engineering generation.
Also blame the students themselves. It really doesn't matter what collages they attended, how poor their teacher was etc.
The internet is the biggest teacher of all. With institutions like Khan Academy and MITx and Google and coursera and other MOOCs, the availability of free knowledge is plentyful for people with an ounce of interest.
And never invest in a person who does not love programming or problem solving. No amount of training can fix a character flaw.
The internet is the biggest teacher of all. With institutions like Khan Academy and MITx and Google and coursera and other MOOCs, the availability of free knowledge is plentyful for people with an ounce of interest.
And never invest in a person who does not love programming or problem solving. No amount of training can fix a character flaw.
I agree. I learned that hard way.
Agree , but thankfully we have industry experts who understand this problem and I personally appreciate move like this: http://jaaga.in/study .
They provide free classes through "Coursera" etc. and technical help to financially backwards ( those who cant afford higher studies)
Having interviewed 100+ candidates in past 2 years for my own startup and a similar number before in my previous job, I completely understand what the author is trying to say. Believe me when I say that 90% of my interviews simply stop at the first question (Can you write a function in C which given an integer array and its size as arguments, returns the number of zeros in an array?). My interview then turns in a small career counselling session telling them to learn and how learning to learn is important because it breaks my heart to see the young ones come out with no ability. Most of them though dejected at not clearing the interview thank me and tell me in the past 4 years that they were getting their degree nobody told them what I did. Shows really that there is nobody guiding them out there and the mindset is wrong.
I'm in the process of converting my team of 50ish programmers in Chennai into a DevOps and "legacy apps support" org because finding people with the necessary current skills is proving too difficult. And by "current" I'm talking basic stuff like javascript competency, an understanding of what MVC is (versus dragging toolbox controls onto a webform and writing a couple lines of databinding), and the impossibility of hiring people who have programming experience in anything besides .Net (and to a lesser extent, Java, but even Java is hard to recruit for) and SQL Server or Oracle. My "low cost" (which, as a result of demand and globalization, has turned into "US light" rather than "developing world") country of choice now is Mexico, and -- judging from the recent recruiting challenges there -- I'm not alone. In the Guadalajara area, HCL, Tata, Infosys, HP, Dell, Oracle, and a raft of others are all gobbling up freshers who really can code themselves out of a box, who have good communication skills with at least passable English, who are able and interested in learning new skills, and generally speaking have much more in common culturally with the US.
I am certain there are both bright spots and bright futures ahead for the Indian IT economy (and education system), but for now I'm either putting my creative work in other countries or hiring [much higher cost] consultancies to augment the local skills in my captive team there. The cycle mentioned by other commenters here and in the blog post of finding employment solely for the sake of certification or learning a new skill to support jumping to a new employer is a huge turn off for two reasons: 1) a lot of the incoming freshers literally have zero skills and it's a huge time sink for the experienced folks to get them to the point where they can contribute, and 2) by the time someone is contributing they're already either looking for a new job or expecting promotions and salary hikes in the 20-50% per annum range. This is untenable and quite ridiculous, even with the recent inflation/currency issues. My company, like many others, have a different job code/title scale for India than everywhere else in the world, just to support the concept of having a dozen steps in between fresher (literally zero skills) and senior engineer/architect... not to mention similar things on the management side.
I could write a book on this crap and, frankly, I'm already feeling riled up just thinking about it so I'll stop here. I'll just leave it at this: I truly hope the Indian education system and cultural issues surrounding employment, family, corruption, and financial stability are worked out in the coming years, but the stress dealing with this mess through the past ten years has put me off enough to abandon ship. The cost savings is just not worth the productivity hit (not to mention subjective issues like time difference).
I am certain there are both bright spots and bright futures ahead for the Indian IT economy (and education system), but for now I'm either putting my creative work in other countries or hiring [much higher cost] consultancies to augment the local skills in my captive team there. The cycle mentioned by other commenters here and in the blog post of finding employment solely for the sake of certification or learning a new skill to support jumping to a new employer is a huge turn off for two reasons: 1) a lot of the incoming freshers literally have zero skills and it's a huge time sink for the experienced folks to get them to the point where they can contribute, and 2) by the time someone is contributing they're already either looking for a new job or expecting promotions and salary hikes in the 20-50% per annum range. This is untenable and quite ridiculous, even with the recent inflation/currency issues. My company, like many others, have a different job code/title scale for India than everywhere else in the world, just to support the concept of having a dozen steps in between fresher (literally zero skills) and senior engineer/architect... not to mention similar things on the management side.
I could write a book on this crap and, frankly, I'm already feeling riled up just thinking about it so I'll stop here. I'll just leave it at this: I truly hope the Indian education system and cultural issues surrounding employment, family, corruption, and financial stability are worked out in the coming years, but the stress dealing with this mess through the past ten years has put me off enough to abandon ship. The cost savings is just not worth the productivity hit (not to mention subjective issues like time difference).
As a person who started one of chennai's first product development org. in the mid 90's, let me add my two cents here:
1) Hire people for their interest in programming, their core problem solving ability and the fun they have with the process.
There are lots of such people, just learn to look beyond what everyone else does. For instance, i once hired a person who could not speak much english, and who did a BA or something like that. He, later on, turned out to be one of the stars of the organization writing a core part of a VoIP solution.
2) Invest in long-term training. By that, i mean don't hire some crappy institute to come and train your people. Here from experienced folks in other organizations to come in over the weeke-end or other timings to help your team.
I remember having to train almost every member of my team in assembly, c, win16 and later on win32 among others. Some of my team members then went on to train professors in IIT, chennai. :-)
3) Mentor your team members. Show interest in them beyond what they can deliver today. Build good relationships with them and help them, both technically and otherwise. When they see you sincerely reaching out to them, they will do the same.
4) Be patient with people. If they know zilch, be frank with them and let them know that they are currently not contributing anything to the organization. However also lay out a plan for them, along with HR, to bring them up to speed in core areas; viz problem-solving, algorithm design, data structures etc Don't allow them to waste time on fancy courses from idiotic institutes. Make your senior programmers take classes some of the time. That's also part of their job.
1) Hire people for their interest in programming, their core problem solving ability and the fun they have with the process.
There are lots of such people, just learn to look beyond what everyone else does. For instance, i once hired a person who could not speak much english, and who did a BA or something like that. He, later on, turned out to be one of the stars of the organization writing a core part of a VoIP solution.
2) Invest in long-term training. By that, i mean don't hire some crappy institute to come and train your people. Here from experienced folks in other organizations to come in over the weeke-end or other timings to help your team.
I remember having to train almost every member of my team in assembly, c, win16 and later on win32 among others. Some of my team members then went on to train professors in IIT, chennai. :-)
3) Mentor your team members. Show interest in them beyond what they can deliver today. Build good relationships with them and help them, both technically and otherwise. When they see you sincerely reaching out to them, they will do the same.
4) Be patient with people. If they know zilch, be frank with them and let them know that they are currently not contributing anything to the organization. However also lay out a plan for them, along with HR, to bring them up to speed in core areas; viz problem-solving, algorithm design, data structures etc Don't allow them to waste time on fancy courses from idiotic institutes. Make your senior programmers take classes some of the time. That's also part of their job.
Software can have jobs where the work involved is "crank the handle, produce output", but the majority of them do indeed require the ability to solve problems.
I interviewed one candidate several years ago, and the question was: "How do you ensure that your program works as intended?". Hoping to get answers like "I write unit tests, integration tests, test scaffolds" or even "I exercise it with different inputs", what I got was "I use Visual Studio". After rephrasing my question a couple of times and getting more or less the same answer each time, I came to the conclusion that the candidate felt that Visual Studio doesn't allow you to write bugs.
Crank the handle, produce output.
I interviewed one candidate several years ago, and the question was: "How do you ensure that your program works as intended?". Hoping to get answers like "I write unit tests, integration tests, test scaffolds" or even "I exercise it with different inputs", what I got was "I use Visual Studio". After rephrasing my question a couple of times and getting more or less the same answer each time, I came to the conclusion that the candidate felt that Visual Studio doesn't allow you to write bugs.
Crank the handle, produce output.
I actually blame the people who hire such idiots. Their lack of knowledge is not the problem. Their lack of curiosity is. Their lack of self-motivation is.
Even for "crank the handle, produce output" type of jobs, it's a bad strategy to hire idiots since they will not be doing such jobs for the rest of their lives. Projects change. clients change. Technology changes, and only people with at least a minimal amount of adaptability wlll thrive.
And to answer your generic interview question: By running it. If you probe further, things like unit test coverage, integration test coverage, debugging, seed data etc can come into the picture but that depends on your specific question.
Even for "crank the handle, produce output" type of jobs, it's a bad strategy to hire idiots since they will not be doing such jobs for the rest of their lives. Projects change. clients change. Technology changes, and only people with at least a minimal amount of adaptability wlll thrive.
And to answer your generic interview question: By running it. If you probe further, things like unit test coverage, integration test coverage, debugging, seed data etc can come into the picture but that depends on your specific question.
Right - the question is pretty open ended, with lots of potential areas to explore after getting a basic answer.
As a potential employer, I'm happy to help them learn, but I'm not going to spoon-feed them. If someone is profoundly incurious, maybe they'd be better off working somewhere else. Or in another career field.
As a potential employer, I'm happy to help them learn, but I'm not going to spoon-feed them. If someone is profoundly incurious, maybe they'd be better off working somewhere else. Or in another career field.
Right-o.
Good to go with open ended questions. It's hard for candidates to memorize answers.
Sadly i see lots of these kinds of idiotic strategies on their part :-)
When i started my first company in 95 or thereabouts, i remember a person who just would not open his mouth during the entire interview. I didn't know what to make of him. I then asked my receptionist to talk to him, find out if i was being too rough or intimidating etc.
Turns out that the interviewee did not trust his own command over english enough to answer back.
Once i learned that, i just handed him a free PC, told him to try writing whatever program he wanted in the next few hours and did not set any time limits.
When i came back after lunch, i saw that he had written a complete game ( This was in the DOS days where writing a game was really difficult since there were no high-level game engines around )
The guy eventually turned out to be one of my best programmer.
Good to go with open ended questions. It's hard for candidates to memorize answers.
Sadly i see lots of these kinds of idiotic strategies on their part :-)
When i started my first company in 95 or thereabouts, i remember a person who just would not open his mouth during the entire interview. I didn't know what to make of him. I then asked my receptionist to talk to him, find out if i was being too rough or intimidating etc.
Turns out that the interviewee did not trust his own command over english enough to answer back.
Once i learned that, i just handed him a free PC, told him to try writing whatever program he wanted in the next few hours and did not set any time limits.
When i came back after lunch, i saw that he had written a complete game ( This was in the DOS days where writing a game was really difficult since there were no high-level game engines around )
The guy eventually turned out to be one of my best programmer.
Are you really programming in C? If so, good for you and your organization. If not, i suggest not wasting time becoming a career counselor and try finding a faster way to eliminate idiots.
I don't buy the crap that they have not been taught in collage. In the age of the internet, there are so many damn resources on every language possible on the internet that a person claiming that they know how to code in c should have a much, much higher bar set.
I don't buy the crap that they have not been taught in collage. In the age of the internet, there are so many damn resources on every language possible on the internet that a person claiming that they know how to code in c should have a much, much higher bar set.
That was presumptuous on your part. First I shall talk about C. 2 reasons.
1.Any engineering graduate in India should know C. It is the first language they learn and use in curriculum.
2. We work in embedded and kernel domain. Welcome to a world where C is important.
Also it is not about deep understanding of pointers and stuff like that. The sad part is that most of them can't even write it in pseudo code.
As for the question of you not buying it, I can't convince you except that there are other commenters in this thread who have pointed out the same problem. This problem does exist.
Also it is not about deep understanding of pointers and stuff like that. The sad part is that most of them can't even write it in pseudo code.
As for the question of you not buying it, I can't convince you except that there are other commenters in this thread who have pointed out the same problem. This problem does exist.
>>Any engineering graduate in India should know C.
A big assumption.
When I finished my engineering, I was pretty good with assembly language programming. I could do anything with 8085 and 8086.
It took a good deal of time to learn ALP, and I'm glad I did it before learning C as I got all necessary low level details correct and complete.
But I agree your point on pseudo code.
A big assumption.
When I finished my engineering, I was pretty good with assembly language programming. I could do anything with 8085 and 8086.
It took a good deal of time to learn ALP, and I'm glad I did it before learning C as I got all necessary low level details correct and complete.
But I agree your point on pseudo code.
Wow. Dude, you really need to learn how to parse english.
1) When i said, "i don't buy that..." i was referring to people blaming the collage or university for their own lack of knowledge.
In today's world where the internet is available to everyone with a net connection, i would expect people to use some initiative, go online, search for C sources or tutorials, download free compilers and linkers, learn them thoroughly etc. ie The real blame for their lack of knowledge is with them not with their collages.
2) Why would you claim, on the one hand, that the blame for kids is with their collages and poor teaching, and then claim that i expect everyone to know c cause that's the first thing they learn in engineering?
And, lastly, don't get huffy with me, dude. If you make generalizations like "Any engineering grad in India should know C" good for you. I don't care. I really don't give a damn.
1) When i said, "i don't buy that..." i was referring to people blaming the collage or university for their own lack of knowledge.
In today's world where the internet is available to everyone with a net connection, i would expect people to use some initiative, go online, search for C sources or tutorials, download free compilers and linkers, learn them thoroughly etc. ie The real blame for their lack of knowledge is with them not with their collages.
2) Why would you claim, on the one hand, that the blame for kids is with their collages and poor teaching, and then claim that i expect everyone to know c cause that's the first thing they learn in engineering?
And, lastly, don't get huffy with me, dude. If you make generalizations like "Any engineering grad in India should know C" good for you. I don't care. I really don't give a damn.
You have serious anger issues all over the thread. Calm down a bit.
Really.
I guess you are entitled to your own imagination.
I guess you are entitled to your own imagination.
Your aggression and quips do nothing but reveal your insecurity and obviously degrade a rather sensible thread into a showdown of your ego. Kindly refrain.
Passive aggressively imagining things and projecting it on others is going to get you nowhere.
If you have something useful or even your own opinion to contribute, do so. I see that you have nothing to contribute except with your imagination
If you have something useful or even your own opinion to contribute, do so. I see that you have nothing to contribute except with your imagination
Let me take another viewpoint where everyone is too biased to the idea that the parents put the clamps on their kids. I am an engineering undergrad and honestly, the kids doing Tier-3 Engineering won't be even slightly better off if they weren't. For the simplest reason, for 90% of people there is a no sense of purpose in life except settling for a 20K income and have a well settled family of four.
I see no sign of passion, creativity in 9 out of 10 people. For the remaining "one", there is no stopping them to what they want to become. People want to shrug off their shoulders blaming they were forced to do engg.. without knowing what would they be doing if not it.
I see no sign of passion, creativity in 9 out of 10 people. For the remaining "one", there is no stopping them to what they want to become. People want to shrug off their shoulders blaming they were forced to do engg.. without knowing what would they be doing if not it.
For the simplest reason, for 90% of people there is a no sense of purpose in life except settling for a 20K income and have a well settled family of four.
FWIW, I see a lot of competent people in the United States with this mindset (different numbers, but the same mindset.) They work hard in college and learn what they're supposed to, and after college they keep up with the technologies required for their work. They are rarely superstar coders, but they are competent and productive. People like that end up exactly where society guides them. In the U.S., the society turns them into valuable professionals; in India, apparently the outcome is not so good.
FWIW, I see a lot of competent people in the United States with this mindset (different numbers, but the same mindset.) They work hard in college and learn what they're supposed to, and after college they keep up with the technologies required for their work. They are rarely superstar coders, but they are competent and productive. People like that end up exactly where society guides them. In the U.S., the society turns them into valuable professionals; in India, apparently the outcome is not so good.
You are absolutely right. But this is a problem and the sooner we fix this ( is it possible? ) the better it will be for India ( or any other country for that matter with a similiar population ) .
There are a few things that I think requires serious change in India :
1. We need to develop a culture that supports, encourages and rewards innovation - which means we need to develop a startup culture that is akin to US. We should make it damn easy for people to start companies in India (Hopefully you are listening Mr.Modi and Mr. Manmohan Singh ). So far all I have heard is that its hard. With a labor force like ours we can surely go far ahead.
2. The second part ( and the part that is addressed by this blog post ) is training or bringing this large labor force to a level that is usable by the companies that are thus created. This is a much harder problem but perhaps there is a way this too can be disrupted and changed. Changing the mentality of people towards something is not really that easy. But considering how people flock towards all those Indian Idol, Saregama etc.. maybe something similar ( I dont know what that is ) might help.
There are a few things that I think requires serious change in India :
1. We need to develop a culture that supports, encourages and rewards innovation - which means we need to develop a startup culture that is akin to US. We should make it damn easy for people to start companies in India (Hopefully you are listening Mr.Modi and Mr. Manmohan Singh ). So far all I have heard is that its hard. With a labor force like ours we can surely go far ahead.
2. The second part ( and the part that is addressed by this blog post ) is training or bringing this large labor force to a level that is usable by the companies that are thus created. This is a much harder problem but perhaps there is a way this too can be disrupted and changed. Changing the mentality of people towards something is not really that easy. But considering how people flock towards all those Indian Idol, Saregama etc.. maybe something similar ( I dont know what that is ) might help.
This post captures very accurately the engineering education scene in India. I would add that many students today are actually aware of what they are getting into (Most of the times, they don’t need engineers but mere “coders”). Unless they are living under a rock, their predecessors have already told them that by now.
Going further the students who were pressurized to take up engineering are now using these jobs as stepping stones to reach a point where they can pursue their real interest. The good engineers are seen as capable to lead bigger teams and pressurized to enter project management (which is, in reality, resource management).
At least on the open source front, there seems to be a real community of interest in India, who seem to involved due to their love in the area. The way I see it, getting into engineering was an 'arbitrage opportunity'. That window has closed and people will slowly move on.
Going further the students who were pressurized to take up engineering are now using these jobs as stepping stones to reach a point where they can pursue their real interest. The good engineers are seen as capable to lead bigger teams and pressurized to enter project management (which is, in reality, resource management).
At least on the open source front, there seems to be a real community of interest in India, who seem to involved due to their love in the area. The way I see it, getting into engineering was an 'arbitrage opportunity'. That window has closed and people will slowly move on.
>>The good engineers are seen as capable to lead bigger teams and pressurized to enter project management
In which company does this happen?
Because nearly everywhere that I have seen, and especially in big IT services companies. Managerial aspirations happen as people find coding to be too much of intellectual work and would like to settle down in a desk clerk sort of work accounting job.
A middle manager in a large company these days is basically a guy who fills up forms for work accounting purposes.
In which company does this happen?
Because nearly everywhere that I have seen, and especially in big IT services companies. Managerial aspirations happen as people find coding to be too much of intellectual work and would like to settle down in a desk clerk sort of work accounting job.
A middle manager in a large company these days is basically a guy who fills up forms for work accounting purposes.
I am sure 'project management', especially in Indian outsourcer firm's context (managing people + forwarding messages to and from them and customers to conceal the fact how dumb the coders are) is long-term, a much worse of a hole than working for the same outsourcing firm as a coder. Because it doesn't give one any marketable skills, and slowly turns him into a neurotic.
One of my colleagues was taking an interview of a potential candidate who listed "Python" as a core programming language. This is similar to most interviews I've been part of. Here's how it went -
Interviewer : Name some data structures in Python Interviewee : Same as C, C++
Interviewer : Can you name some specific data structures? For example, have you heard about lists? Interviewee : I haven't heard about lists in Python
Interviewer : What is the key difference between Python and C? Interviewee : Python requires indentation, C doesn't.
That was the final straw in my colleague's patience.
Interviewer : Name some data structures in Python Interviewee : Same as C, C++
Interviewer : Can you name some specific data structures? For example, have you heard about lists? Interviewee : I haven't heard about lists in Python
Interviewer : What is the key difference between Python and C? Interviewee : Python requires indentation, C doesn't.
That was the final straw in my colleague's patience.
I once had a experience with a colleague. She would continually come to me to parse XMLs and give it to her in some format like a csv which she could open it in Microsoft excel for some report generation purposes.
It started to happen pretty frequently and would consume a great deal of my time- It was reaching a stage where I had to stop my work to do her's. After a time she would just show up at my desk with her laptop, I had to write the code while she chatted with some one on her mobile. One afternoon I had, had enough and I asked her why she couldn't do it herself. She then mentioned she only knew C and C++. Then I asked why couldn't she parse the XMLs in C or C++? After a few questions back and forth, she understood I wasn't going to her homework after all.
She shed enough tears to convince our project manager, that I wasn't a good team player and I was the reason why the productivity in the project was falling down.
Thankfully one afternoon our clients had her removed from the project when I was on leave, and they made her write programs in a war room while the whole team was watching her screen on a projector.
It started to happen pretty frequently and would consume a great deal of my time- It was reaching a stage where I had to stop my work to do her's. After a time she would just show up at my desk with her laptop, I had to write the code while she chatted with some one on her mobile. One afternoon I had, had enough and I asked her why she couldn't do it herself. She then mentioned she only knew C and C++. Then I asked why couldn't she parse the XMLs in C or C++? After a few questions back and forth, she understood I wasn't going to her homework after all.
She shed enough tears to convince our project manager, that I wasn't a good team player and I was the reason why the productivity in the project was falling down.
Thankfully one afternoon our clients had her removed from the project when I was on leave, and they made her write programs in a war room while the whole team was watching her screen on a projector.
That seems like a pretty brutal way to treat someone. Not that I'm excusing their behaviour.
Why would your colleague waste time on further questions when the interviewee answered that he hasn't heard of lists in python?
btw Python's indentation requirement is a difference with C though whether it's a key difference or not is debatable.
btw Python's indentation requirement is a difference with C though whether it's a key difference or not is debatable.
Given all of the differences between Python and C, I don't think it's even debatable whether or not the indentation rules in Python are the key difference. I'd say that typing and interpreted vs compiled are both so much more important.
I would have gone with object orientation myself, and a de jure standard library ( but then i am an old bloke from the days before C had a std lib :-)
But i have to admit that most python programs are a joy to read ( thanks to guido's insistence on indentation as part of the specs ) whereas most real-world C code is just horrible ( even code i had written a few years back )
But i have to admit that most python programs are a joy to read ( thanks to guido's insistence on indentation as part of the specs ) whereas most real-world C code is just horrible ( even code i had written a few years back )
Early on in the article I was unimpressed with the assumption that "who you are" or "what you'll be" is defined by your job title which is defined by your school major.
I thought i knew what a broken educational system is...
Here are some very recent examples.
Pseudoscience unchallenged at IIT Kanpur: http://nirmukta.com/2012/08/06/pseudoscience-unchallenged-at...
Hall of Shame: On a Hindutva Apologist’s Recent Lectures at IIT Madras:
http://nirmukta.com/2012/09/05/hall-of-shame-on-a-hindutva-a... """ Gravity was not discovered (sic) by “Newton or Oldton”, but by Bhaskara II and is described in his work Siddhānta Siromani.
The spherical shape of earth was not discovered by “Copernicus or Silvernicus” but Indians knew it well in advance and is mentioned in Bhagavata. """
One can imagine what is going on in other less reputed colleges?
Granted these are off-school activities, but it would be better for them to seek entertainment in better ways.