Many software development organizations hire junior developers and train them to develop, using senior and lead developers as mentors. Thus, the developer simultaneously learns the tech stack, how to program, and how to work on a team of developers. In contrast, Rolls-Royce has many self-taught developers, many of whom are highly-educated experts in various fields, such as finance, aerodynamics, or structural dynamics. They have often worked on projects of various sizes as solo developers. They rarely need significant education or mentoring on their programming language or how to think as a programmer. However, they usually need significant coaching in the tools and practices of working on a software development team. Topics such as building a system on a different machine than it will be deployed on, using version control as a team, communication, pull requests, compromising on programming style and architecture with others, etc., are generally where they need help. Many of them are excellent programmers in some ways while having some best-practice blind spots. They are a heterogeneous group who need personalized coaching and mentoring.
This talk will outline the characteristics of subject-matter experts who have worked as solo developers for some time, and the challenges we have repeatedly seen when integrating them into software development teams. I will present some best practices for ensuring that this integration is successful and results in a cohesive, high-performing team that delivers value and helps the newer and older members of the team fulfil their high potential. These include respecting the expertise of the new team member, treating teamwork and communication as disciplines as valuable as technical ones, and choosing pair-programming partners and tasks with team-integration goals in mind.