Programming Grads Meet a

 
 
By Darryl K. Taft  |  Posted 2007-09-03 Print this article Print
 
 
 
 
 
 
 


Skills Gap in the Real World"> IBMs Shah said "software development is now more into how people can work together to solve many seemingly common issues." In other words, "software development is becoming much more of a group activity, and there is a lot of sophistication to that in the industry that isnt being replicated in a smaller closed environment like a college," Shah said. "Very often, they simply cant because of the time limitations of the semester-based programs."
Moreover, Scherlis said the onslaught of open source technology has been a big benefit to students, as they are able to bet access to source code more easily and get students up and familiar with technology they are bound to see after graduation.
Byron Sebastian, CEO of SourceLabs, in Seattle, said many less experienced developers can learn necessary workplace skills by actively working on open-source projects in their free time. "A developer with a Computer Science degree as well as hands-on experience in shipping software through an open source project has a running start in being successful in the workplace," Sebastian said. "They get experience working with complex and distributed teams, real ship cycles, real customers, and real usage of their code. My advice to a student in a university studying software engineering would be to also actively work on open source projects to acquire more real world skills they can apply when they enter the job market." To read about why some IT professionals are second-guessing their career choice, click here. John McMullen, professor of Information Systems at Monroe College, in Bronx, New York, said, "A gap exists for a few reasons. One is that colleges are mandated by accrediting agencies to teach theory and to not be training schools. Most teach courses like Programming Logic Using Java (or C++, etc.) to try to sneak in some practical work but students do not get intensive programming experience." In addition, "The rapidly changing landscape of development languages and tools—Python, PHP, LSL [Linden Scripting Language, the language used in Second Life], etc.—make it really impossible for curricula to keep up with," McMullen said. "Colleges must teach would-be programmers to learn-how-to-learn new languages and skills." Eric Newcomer, CTO at Iona Technologies, in Waltham, Mass., said, "You would think that researchers in the universities would be on the forefront of technology, and while that is the case at some universities and with some professors, the universities are generally behind software companies." Newcomer who has taught database design at the graduate level, said if you look at a typical computer science curriculum you see plenty of fundamentals—programming languages, algorithms, operating systems, database management, etc. "But you do not usually see things like XML, Web Services, Ajax [Asynchronous JavaScript and XML, Ruby, OSGi [Open Services Gateway Initiative], Eclipse, open source, WCF [Microsofts Windows Communication Foundation], BizTalk, SOA [Service Oriented Architecture], ESBs [Enterprise Service Bus], orchestration engines, integration strategies, etc.," Newcomer said. "And these are the topics IT departments are most concerned with, not the fundamentals. They want to know what new technologies to adopt and what theyre good for." Newcomer said he travels to universities to deliver guest lectures and has witnessed students complain about the skills gap. "I guess the summary is that the schools cover more theory than practice, and focus on teaching well established technologies rather than new ones," he said. John Montgomery, group program manager for Microsofts Popfly mashup tool, who has looked closely at the phenomenon of beginning developers as well as grooming developers out of college to work in his teams at Microsoft, said, by and large, the computer science curricula at the top-tier schools do a good job of graduating students with a basic understanding of things like data structures and computational algorithms. "But its rare that anyone gets hired to go and write a better bubble sort algorithm or that graduates are called upon to perform array arithmetic," Montgomery said. For the most part, these are "solved problems"—the frameworks and tools that anyone would give a developer will have already implemented whats necessary to solve those problems, he added. Yet, "Mostly, developers seem to be presented with ambiguous technical problems, complex development processes, and unfamiliar code bases to work with," Montgomery said. "Theyll be likely to be handed some chunk of existing code and expected to add a new feature or resolve a bug. Some schools try to train in the abstract for this kind of problem set, presenting students with classes in development processes." Page 2: Programming Grads Meet a Skills Gap in the Real World



 
 
 
 
Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel