YOUR FEEDBACK
More on the Software Assembly Question - Do Design Patterns Help?
Yanic wrote: Hi, > UML and MDA are being changed to be more data and doc...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


i-Technology Opinion: Outsourcing...to Students
"Pizza Is the Secret Key to the Success of Commercial Projects Developed by Students"

Digg This!

JDJ Editorial Board member Yakov Fain writes: One of my resolutions this year is to start teaching part-time Java-related classes in some college. That's why I started browsing the computer science course lists that are being offered this year. While graduate-level programs offer many interesting courses, the situation is different in the undergrad world.

Some schools keep teaching how to multiply matrices in Ada or work with algebraic expressions in Prolog. Half of the courses are preparing professionals who will be operating on another planet. Information systems programs look a little more down to earth. Meanwhile, many college graduates are having a hard time finding their first jobs because many entry-level programmers jobs are being outsourced overseas, and it'll stay this way as long as it makes financial sense for businesses. Unfortunately, student loans have not been outsourced...

A catch-22 situation with experience makes things even worse: we can't hire you because you don't have the industry experience. How can I get this experience if no one hires me? Some people try to find volunteer programming work to get a foot in the IT door. Some graduates join open source projects, and some job applicants just lie on their résumés.

I have a plan: instead of outsourcing projects to developing countries, businesses should offer them to the local colleges. I'm not talking about simple pilot or proof-of-concept projects; I mean the real ones. This plan requires commitment and the cooperation of academia and businesses. These are some thoughts that come to mind:

  • Colleges have to include more classes on software engineering and modern technologies in the undergraduate programs. Here are some of the candidates: Application Servers, Service-Oriented Architecture, Design and Development of J2EE Applications, Applying Design Patterns, Data Modeling, Business Intelligence, and UML.
  • Colleges form teams of programmers starting from the students' junior year. Faculty members lead these teams. Information about these teams (résumés, previous projects, GPAs) has to be published on the Internet and be publicly available, and businesses need to publish their project descriptions so student teams can bid on these projects.
  • Colleges make their labs, networks, and support personnel available for the teams. If needed, businesses can lease additional hardware to the college for the duration of the project.
  • Most of the students study Java programming during their freshman and sophomore years. Many Java components are available for free or through open source licenses: IDE, version control systems, project build tools, bug reporting systems, application servers, etc. Businesses will purchase any additional required software for a fraction of the cost using heavily discounted academic prices.
  • Business managers pick and interview teams for their projects based on the college reputation, available skill sets, location, and other criteria.
  • Business lawyers prepare a contract with a selected team that defines the obligations of each party, deliverables, cost of development, and potential penalties.
  • The turnover rate is usually high on the projects that are outsourced to developing countries, which won't be the case with student teams. On the other hand, there is a risk of not having developers during midterms and final exams. However, since the exam schedules are known in advance, the "freeze time" can be planned accordingly.
  • Most of the business managers dealing with developers from other countries complain that cultural differences are a huge problem. Guess what? This won't be a problem if you outsource the project to students who live in the same country and speak your language.
  • Even though students will get a minimum salary for this work, they should also earn academic credits and get graded while working on such projects.
The funny (or sad) part is that the students themselves are already outsourcing their college assignments. There are Web sites where you can hire a coder for any assignment in various programming languages. No job is too small. People from around the world can bid on these projects, and since the offered prices go as low as $20 USD, it's clear that only programmers from the developing countries like India or Russia would be interested in these jobs. Academic outsourcing may be even more damaging than the industrial outsourcing, because rich students can improve their grades and earn their degrees without having a good knowledge of the required subjects. Spending more time working as teams in the labs under the supervision of a faculty member or business manager will help minimize academic cheating.

There is one more secret key to the success of commercial projects developed by students: pizza! Each day the client company can send a couple of pies (half plain and half pepperoni) to the labs where the students work. They are going to work for food...and experience. It's a win-win situation for everybody.

About Yakov Fain
Yakov Fain is a managing principal of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , "Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters" in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. Yakov teaches Java and Flex 2 part time at New York University. He is an Adobe Certified Flex Instructor and an Editor-in-Chief of Flex Developers Journal.

Ken Collins wrote: Yakov, Yakov: Thank you for the feedback. Everything you say makes perfect sense in times when there are plenty of jobs for college graduates. But think about this: 4 years ago they've entred colleges and selected CS major. What do they have this year after graduation? 100K worth of student loans and no entry level jobs. Ken: Why should students pay $25k/year to work for $10/hour (or free) for major corporations? Students should study and companies should hire actual employees. The only time most people will ever get face time with a PHD in their field is when they're in school. They should use it wisely instead of dinking around with the kind of gruntwork that can be successfully farmed out to someone with no experience. I graduated in '94, so I know what it's like to come out in an industry dow...
read & respond »
Yakov wrote: Ken, Thank you for the feedback. Everything you say makes perfect sense in times when there are plenty of jobs for college graduates. But think about this: 4 years ago they've entered colleges and selected CS major. What do they have this year after graduation? 100K worth of student loans and no entry level jobs. At the same time people in India spend 3-4 months learning some hot Java technologies (without bothering with CS degrees) and they beat up well educated US graduates hands down. You are saying that you should have taken a Unix class instead of having summer jobs? Sure...as long as you had the money to pay for this course. You do not like managing students? What about managing a group of young developers in Bangalore when success of your project (and your career depend) on them? Well, this article is my at...
read & respond »
Ken Collins wrote: I read your article in the February edition of JDJ, and I can't agree less. I worked while I was a student both full-time as a summer intern and part-time during the regular semester. I also worked managing a team of students at an off-campus start-up a few years after graduating. Both experiences were awful. The first drove me out of computer science for nearly four years because I wasn't ready for the monotony of cubicle work. The latter was nightmarish because it was nearly impossible to organize a team of students, all of whom had different schedules, widely differing coding abilities, and different levels of maturity. When I was in college, I would have benefitted greatly from smaller class sizes and an early introduction to unix tools, not more work hours. I spent way too much time making small change working ...
read & respond »
Shiva wrote: This is a very interesting line of thought though I'm not sure if this will work. Bulk of the outsourcing is done on maintenance and enhancement projects and not fresh from-the-scratch development projects. A maintenance & enhancement project will never draw attention from any students for the sheer lack of creativity and a need for knowledge in the vertical. It is best to start off with pilot projects and rapid prototyping requirements and based on this experience further outsourcing to universities can be undertaken. Just a thought!
read & respond »
Insourcing wrote: ### ( have a plan: instead of outsourcing projects to developing countries, businesses should offer them to the local colleges ### Go, Yakov!! This is a fine proposal. Thank you JDJ.
read & respond »
Cheesy software development wrote: half plain and half pepperoni!? Hey, what you got against good old-fashioned cheese??
read & respond »
thanks Yakov! wrote: Good to see the true value of pizza in computing recognized here! :)
read & respond »
Kevin Shockey wrote: I'm currently in charge of a project very similar to what was proposed in this article. The SNAP Development Center employs computer science and engineering students from the Interamerican University of Puerto Rico. Our objectives are to improve the quality and quantity of the graduates from these programs. Our project, however, was funded by the Puerto Rico government. Briefly we have created an open source project to develop and market a completely oepn source relacement for the Sun JDK. The SNAP Platform also integrates popular open source development tools such as Eclipse, Tomcat, and SwingWT. We are a year into the project and results have been mixed. Although we found a few students up to the challenge, in general there is a big difference working with students and working with a full-time so...
read & respond »
balaji wrote: This article misses mentioning some important things: 1. Programs to multiply matrices are a very important concept to grasp. While I learned the concept in my 11th, there are many so-called s/w programmers who don't get the concept of nested loops. 2. Colleges absolutely must not introduce more courses in "software engineering and modern technologies in the undergraduate programs". Let us face it, most software is not really engineered. In my 10-year career I have been involved in only 2 such highly engineered projects. The rest have been built ad-hoc. And as for modern technologies, to pick up .Net or some such flash in the pan in the pan is not a big deal. To pick up fundamental programming concepts is much more difficult. 3. The problem with software development is not really development. It is suppo...
read & respond »
pv wrote: I totally disagree. Colleges and Corporations are totally different culture wise. Students in colleges work on Assignments for a better grade. Employees in corporations work for better pay and promotions. I am fine with Govenrnment and Government agencies outsourcing their work to universities as they are using publicly funded University resources to do public work. Instead Companies can set up small student divisions for which they hire students who are still enrolled in the colleges and can assign them small projects and pay them reasonably. Last but no the least do not take away the Fun out of collge life!
read & respond »
Rick Proctor wrote: I agree. A quick scan of local colleges finds few undergrad courses in Java. I would love to have eager young college students working on some of my projects. It seems that US colleges have been slow to embrace Java. It's unfortunate. From my own experience writing Java articles, I get a lot more commments and questions from overseas developers than US developers.
read & respond »
Ramón Jiménez wrote: A comment regarding education. In my understanding, computer science programs are just fine if they are teaching students to multiply matrices in Ada or to solve algebraic problems in Prolog. Where else is a CS major expected to even know these technologies? The problem is not to re-formulate CS curricula, it's to create new programs. The BS in Software Engineering being offered by some universities recently is IMHO a correct step in that direction. We don't need as many CS majors anymore, but we still need some!
read & respond »
Keith Blizard wrote: First I think the article brings up a great point in our IT industry - ensuring that the students coming out of college are properly trained for the industry that they will be leading in the future. Having the ability to set up intern programs would not only strengthen the corporation by promoting itself for future hires, but also enable students the ability to understand how technology really is used in businesses today. On the other hand, with the some of the comments - I TOTALLY disagree that it is more important to learn different technologies/syntax for students to be effective. For anyone who has developed for a long period of time, you need to learn a language ONCE thoroughly, and then picking up another one is just a matter of learning the syntax. It is MUCH more important that you can de...
read & respond »
Natan Cox wrote: First I must say I'm not against real world experience. But... one of my courses at university was about the next best thing: CORBA, any body still using it? SOA and all the latest fads still need to prove themselves. Let the students learn the real stuff: design, relational theory etc. Who cares whether this is done using ADA, Eiffel or one of the cooler languages at the moment, lets say Java or Python? It is more important you learn lots of languages (even Prolog or Lisp), get to know them, learn what is good about them. Nobody has ever become a worse programmer from learning one extra language. 'Useless theory' gives you a frame of reference, even if you never use it after you graduate. I work with a lot of young programmers, they had more 'real world' experience when they graduted. But they also l...
read & respond »
Ruben Reusser wrote: The University of Applied Scienes Biel/Switzerland takes a simmilar approach ( http://www.hti.bfh.ch/i ndex.php?id=1&L=2 ). The bscs program is a four year program, 2 years classes, then one year mandatory internship and then again 1 year of classes. The program is geared towards providing the students the needed knowledge for the internship within the first two years and then refining the knowledge in the last year with additional subjects such as prolog, parallel computing, advanced computer graphics, etc
read & respond »
Charles Neville wrote: I'm a retired CS professor, so I have some practical experience with this sort of thing. Yakov Fain has put his finger on an important problem: How to give students real-world experience to enhance their educations and build their resumes. But there are some problems with his suggestions. I'm going to tell you how some colleges and universities deal with these by using INTERNSHIPS, WORK STUDY, or LIMITED development projects from industry: Problem 1. Pizza is good, but it is not pay! Students and supervising faculty will work for little or no pay under his proposal. This is normally called exploitation or slave labor. Solutions to Problem 1: (a) Carefully limit the scope of the project to what can reasonably done for academic credit in a class. This is one reason for the prevalence of pil...
read & respond »
nathan lane wrote: Well how about restricting outsourcing period!
read & respond »
LATEST LINUX STORIES
Kevin Hoffman's Review of Iron Man
I took the advice of a friend of mine and steered clear of the 'normal' movie theaters and went a little out of the way to go to a DLP movie theater. The experience of comparing a regular movie theater to a DLP movie theater is like comparing standard def analog TV with a 1080i HDTV si
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Verizon Becomes a Counter-Android Linux Convert
Verizon Wireless is snubbing Google's Linux-based Android initiative to go with the LiMo Foundation's mobile Linux spec for its next wave of mobile phones expected next year. Along with Verizon, Mozilla signed up - giving the consortium its first major open source ISV - and a key one f
Adaptec Launches New Series 2 RAID Controller For Linux Users
Adaptec unveiled a new family of entry-level Unified Serial RAID controllers. The new low-profile Series 2 RAID controllers, built on the same Adaptec dual core RAID-on-Chip (ROC) architecture used in its successful Series 5 RAID controllers, provide significant performance enhancement
JavaOne 2008: Sun Challenges Linux
Sun's mule train has finally pulled into Indiana after three years on the road. Indiana is the Linux-friendly Fedora-like OpenSolaris project meant to move the Solaris-shy Linux community off Linux and on to Solaris tempted by Solaris widgetry like the highly scalable, rollback-easy, 1
Curl Announces Support for Ubuntu for Enterprise RIA Platform
Curl announced it has released the availability of an Ubuntu Installer for the Curl Rich Internet Application (RIA) platform. Curl is a Rich Internet Application platform that competes with Adobe AIR/Flex, Silverlight, and Ajax. Curl has been shipping with Linux support for RedHat 9, S
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE