Imagine Cup Competition at ASU & a Lesson for Life

So last week, I was the sole non-Faculty judge at the ASU Imagine Cup. Thanks are in order to Jason Beres and Jeff Julian for putting the INETA - Imagine Cup Matchup system in place. I went in with no real expectations, and had no idea how it was all going to work. What followed was some of the coolest stuff I had ever seen.

There were 5 or 6 teams there, two teams of students from India, and 4 teams of American students. None of the teams had a whole lot of time to prepare, and the quality of the results varied so much, it amazed me. Team One was a gentleman from India that I had the pleasure of spending some time with yesterday by the name of Sushant Bhatia, and he coded a client-server system for using PocketPCs to allow blind/deaf students to interact with teachers in under two hours. I was totally blown away. It wasn't completely finished, but for 120 minutes worth of work, it was more code than I had seen any of my American counterparts write in the same time. Turns out, he pulled some of his code from another project he was working on as part of his Master's studies, but more on that later.

Team Two was a group of 4 gentlemen from India, and they created a system that conceptually used PocketPCs, RFID tags, and Web Services to assist blind people in navigating through buildings. They didn't have actual RFID equipment yet, but since all it is is an ID number, they just faked it by using GUIDs. These guys had a bit longer to prepare, and it was very apparent. They spent three weeks architecting the system, and 10 hours coding it. They had UML diagrams up the yang, and if anything, suffered from an overabundance of information.

The other 4 teams of American-born developers were noticibly below the bar that the first two teams had set. The ideas were there, and in some cases, very well thought out, but the code was not. The Indian students programmed circles around their competition. In the end, it was down to the first two teams. If Sushant had a bit more time to do some more coding and preparation, he probably would have won. But, ultimately, it came down to who we thought had the best chance of winning in Los Angeles on the 17th.

So Team Two won. In the week since, I've been coaching them, helping them polish their ideas and direction, and trying to get them resources. I sent them looking for RFID hardware manufacturers to get donations from, and sure enough, they found one on Thursday that is going to loan them all the hardware they need. Still working on getting them a PocketPC to use, but I don't think that will be a problem. I told the guys to get a website going, and they should have one up for me to link to soon, so that anyone interested can follow their progress. I think they have a real shot of winning in Brazil next month.

So, I have to admit, before this, I had reservations about Indian developers. With the whole offshoring thing being such a big deal right now, and being an American businessman myself, it's an issue. I wouldn't call it a hateful racial prejudice, as was alluded to in my post last night, but it was a preference for bolstering our own economy through hiring back Americans who had lost jobs over the past couple years. After last week, that position changed for me. Those guys coded circles around just about any American-born developer I know. If I could get all five of those guys in a room for a month, I'd have all my software ideas coded, awaiting the other 80% of the work that needs to be done to market them.

From this experience, I draw two conclusions: 1) It is unfair to make broad generalizations about people you've never interacted with (and I should work to eliminate my other existing prejudices), and 2) American developers need to get off their ass and start being proactive about their skillset. We have a whole slew of young, super-smart, motivated developers who are waiting in the wings, ready to take your job for less money, and write better code faster than you could. Personally, I'd hire one of the ASU students over an American-born developer any day of the week, as much because of their attitudes as because of their abilities.

It's amazing what you learn about people if you keep an open mind, and don't let your current prejudices (remember, it's not always a negative term) affect your future decisions.

2 Comments

  • My team from VCU is finishing up our project for the regional competition in Princeton on the 17th. Be prepared, we've been working on ours since December. :D

  • I read your first conclusion "It is unfair to make broad generalizations about people you've never interacted with" and though: good...less prejudice is a good thing. Then you turn around and making a sweeping generalization about "American developers" in item 2. Item 2 seems to fly in the face of item 1. I kind of get your point tho. People who think they can just be a "9-5 software developer", write the same old style of code they've written since vb3/Access/"classic" ASP, and generally not be proactive about learning new things and improving their development practices could be in for a bit of an employment shock. Perhaps it could be worded a little differently (I never thought of myself as a gramar nazi but after my "discussion" with you over "implemented" perhaps I am).

Comments have been disabled for this content.