Preparing the Next Generation of Developers
Preparing the Next Generation of Developers

		This week’s guest post, from the venerable Christopher Judd, shows how he and others are fixing a shortcoming with new developers in central Ohio. Please contact the magazine at mashedcodemag@gmail.com or Manifest Solutions for more information.
As we all know, America is suffering from an unprecedented shortage of good and qualified IT talent. We regularly read articles or see news reports of how many IT jobs go unfilled. While most other fields are suffering from high unemployment, IT has remained relatively unaffected. Yet there are still many recent college grads with computer science (CS) or equivalent degrees finding it difficult to become employed in the field. So why are we experiencing such a discrepancy? From my experience based on interviewing nearly a hundred recent grads in the past two years, I  have repeatedly seen recent grads lacking the skills and experience necessary to meet the challenging demand of today’s competitive IT environment.
Colleges are doing a decent job of giving their respective student’s a foundation in computer science. However, as the technology continues to rapidly grow and change, a chasm is growing wider between what students learn in school and what employers are expecting. Unfortunately there is not one simple answer to solving this problem. I think preparing students requires a combined effort from educators, students and employers. But effort from any of them could have significant impact.
Unfortunately students don’t have enough knowledge to know what questions to ask, so educators have to be the first line of defense. Educators need to pay attention to what skills and frameworks employers are looking for. This can be accomplished by looking at the job postings that recent grads are applying for and/or talking to recruiters. Then it means keeping their skills up to date with those needs as well as adjusting curriculum appropriately.
I routinely interview recent grads whose entire Java experience is in developing simple Swing applications or possibly writing socket code. Personally I haven’t written a swing application professionally in over 12 years and I have only had to write socket code once. In addition, I know of only two organizations in my market who are looking for Swing resources and I don’t know of any targeting socket skills. Most recent grads I interview have never interacted with a database via code or written a complex, dynamic website which are skills highly in demand.
I often hear from recent college grads; “I have never even heard of unit testing, continuous integration, Struts, Spring, Hibernate, etc let alone have experience with them”.
For students hoping to go into the IT field, they can’t wait until after graduation to start looking for opportunities or preparing for the work force. Students who want to be competitive should start trying to determine what employers are looking for using the same techniques mentioned earlier for educators. Then they should start writing code that utilizes what employers are looking for. A great way to get this experience is with internships. The most impressive candidates I interview almost always have had an internship during the summer and possibly an entire semester actually writing code for a large organization. Getting an internship often provides the additional benefit of making money. Another great opportunity is to contribute to open source projects. This has the benefit of having lots of people review and comment on your code and begins a portfolio you can point employers to.
Finally, employers have to change their expectations. Instead of expecting to find junior talent with 2 years of experience with framework X, plan to higher recent college grads and train them. At Manifest Solutions (www.manifestcorp.com) we are doing just that. For the past two years we have been hiring batches of three to six recent college grads and putting them through a six week bootcamp. The bootcamp is designed to produce enterprise Java developers, acceptance test driven testers as well as Agile practitioners. The bootcamp consists of four hours of instructor lead training on relevant topics Java, Eclipse, unit testing and mocking, JavaScript, jQuery, patterns, performance, Agile and craftsman practices, etc with the remainder of the day spent working on a real project in an Agile environment. Our students frequently tell us they learned more in six weeks then they did in four years of college. More importantly they are prepared for the fun and fast paced world of IT consulting.
Christopher Judd is the CTO and a partner at Manifest Solutions, an international speaker, an open source evangelist, the Central Ohio Java Users Group and Columbus iPhone Developer User Group leader, and the co-author of Beginning Groovy and Grails (Apress, 2008), Enterprise Java Development on a Budget (Apress, 2003) and Pro Eclipse JST (Apress, 2005) as well as the author of the children’s book Bearable Moments. He has spent 16 years architecting and developing software for Fortune 500 companies in various industries, including insurance, retail, government, manufacturing, service, and transportation. His current focus is on consulting, mentoring, and training with Java, Java EE, Groovy, Grails, Cloud Computing and mobile platforms like iPhone, Android, Java ME and mobile web.

			
				