Hiring Millennial Students as Software Engineers: A Study in Developing Self-Confidence and Marketable Skills

Software engineering courses and internships aim to equip students with skills that are vital in the software engineering industry. Millennial students are expected to emerge from an undergraduate education ready to step directly into software developer positions and succeed. And yet, for a variety of reasons, these experiences often fail to adequately prepare students for the expectations of the industry. The capabilities of a typical undergraduate simply do not align well with the needs of the industry, resulting in disappointed employers, unhappy employees, and a poor reputation for the quality of a higher education in software engineering. This paper describes the Student Software Developers Program, where students are developing real-world applications that solve business needs for departments on campus, leveraging those departments as customers. Students are immersed in the program for a full year, providing them with adequate time to experience both the depth and breadth of skills desired by the curriculum and by industry. Our evaluation shows the program provided students with confidence in their engineering abilities, a wealth of hard and soft skills valuable in industry, all while learning software engineering in a way that aligns with the values of their generation.

[1]  Gerald C. Gannod,et al.  Using the inverted classroom to teach software engineering , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[2]  Michelle K. Smith,et al.  Active learning increases student performance in science, engineering, and mathematics , 2014, Proceedings of the National Academy of Sciences.

[3]  Stephen Travis Pope,et al.  A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System , 1998 .

[4]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[5]  Remco M. Dijkman,et al.  Deriving use case diagrams from business process models , 2002 .

[6]  Mary Poppendieck,et al.  Lean Software Development , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[7]  Keith Decker,et al.  A synergy of industrial and academic education , 1988 .

[8]  M. Shaw,et al.  Deciding what to design: closing a gap in software engineering education , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[9]  Helen Partridge,et al.  Educating the Millennial Generation for evidence based information practice , 2006, Libr. Hi Tech.

[10]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[11]  Cynthia J. Martincic Combining Real-World Internships With Software Development Courses , 2007 .

[12]  E. Ng,et al.  New Generation, Great Expectations: A Field Study of the Millennial Generation , 2010 .

[13]  Tebring Daly Minimizing to maximize: an initial attempt at teaching introductory programming using Alice , 2011 .

[14]  Mary Shaw,et al.  Software engineering education: a roadmap , 2000, ICSE '00.

[15]  Roseanne Tesoriero Tvedt,et al.  The Software Factory: combining undergraduate computer science and software engineering education , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  A. Bandura GUIDE FOR CONSTRUCTING SELF-EFFICACY SCALES , 2006 .

[17]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[18]  Anne Venables,et al.  A Scalable and Portable Structure for Conducting Successful Year-long Undergraduate Software Team Projects , 2007, J. Inf. Technol. Educ..

[19]  A. Lancaster,et al.  Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces , 2004, IEEE Transactions on Professional Communication.

[20]  Thomas P. Schambach,et al.  Student Perceptions of Internship Experiences , 2003 .

[21]  Richard J. Anderson,et al.  Pedagogical techniques supported by the use of student devices in teaching software engineering , 2006, SIGCSE '06.

[22]  Guido Lang,et al.  Agile Learning: Sprinting through the Semester. , 2017 .

[23]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[24]  Chang Liu,et al.  Enriching software engineering courses with service-learning projects and the open-source approach , 2005, ICSE.