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.