Learning to be a software engineer in a complex organization: A case study focusing on apprenticeship/practice based learning for getting new engineers productive in contributing to the Google codebase

Max Senges
Journal of Workplace Learning, 22, no. 3 (2010), pp. 180-194

Abstract

PurposeThis paper seeks to analyse the effectiveness and impact of how Google currently trains its new software engineers (“Nooglers”) to become productive in the software engineering community. The research focuses on the institutions and support for practice-based learning and cognitive apprenticeship in the Google environment.

Design/methodology/approachThe study uses a series of semi-structured interviews with 24 Google stakeholders. These interviews are complemented by observations, document analysis, and review of existing survey and statistical data.

FindingsIt is found that Google offers a state-of-the-art onboarding program and benchmark qualities that provide legitimate peripheral participation. The research reveals how Google empowers programmers to “feel at home” using company coding practices, as well as maximizing peer-learning and collaborative practices. These practices reduce isolation, enhance collegiality, and increase employee morale and job satisfaction.

Research limitations/implicationsThe case study describes the practices in one company.

Practical implicationsThe research documented in the paper can be used as a benchmark for other onboarding and practice-based learning set-ups.

Originality/valueThis is the first research that gives insights into the practice-based learning and onboarding practices at Google. The practices are assessed to be state-of-the-art and the insights therefore relevant for benchmarking exercises of other companies.

Research Areas