The on-boarding and integration of junior development resources is a critical yet challenging undertaking for all software development focused organizations. More often than not the new staff members are immediately ‘thrown into the mix’ without being given proper orientation on product, process, operations and organizational software development best practices/culture. This approach nearly always results in substandard work being completed and integrated into the existing code base. Over time this technical debt begins to accumulate and results in a tightly coupled substandard brittle application that can’t easily be debugged, modified, tuned nor can it be easily re-factored… the dreaded big ball of mud! Missing Link Technologies has had very good successes on-boarding new junior talent. Its approach can be summarized as follows:
Developer Orientation Plan:
- Do a basic skills assessment in order to determine development strengths and weaknesses
- Identify and overview supporting frameworks and technologies such as Spring Boot, React, JUnit, Postman, OWASP Zed Attack Proxy…
- Explain the company’s policy on the use of open source code.
- Introduce supporting devops tools such as npm, maven, git, gitlab, jfrog, jenkins, TFS, Nuget,…
- Introduce the build pipeline from source code commit to release candidate and company’s source code branch management strategy.
- Get new employee to read the first 3 chapters of Pro GIT and selected chapters of Clean Code.
- Discuss SOLID + TDD and explain the importance of and provide further reading material/unit testing examples
- Provide necessary training in order to address skills gap.
- Introduction to organizational software development approaches and best practices
- Introduction to roles and responsibilities within the Software Development Department
- Introduction to key project management concepts and explain company’s interpretation of the agile process with focus on the spirit of the original agile manifesto.
- And lastly, encourage personal development with focus on effective communication skills combined with technical competencies that span multiple domains.
- Document candidates baseline strengths and weaknesses
- Understand candidate’s preferred method of ‘processing new information’
- Monitor how candidate communicates/participates in technical meetings and provide encouragement.
- Define approach on how to ‘best integrate the new resources’
- Track performance progress or lack thereof
Developer Task Assignment: Set them up for success!
- Clearly defined simple task that targets new employee’s strengths.
- Senior developer to provide support, code review and assist with committing code to source control
- Assess results and provide constructive feedback
- Increase complexity and scope of assignments as developer gains experience.
Missing Link Technologies has had very good results following the above protocol. Setting up a new hire for success is a win for both the developer and the company. The developer gains confidence and valuable experiences and the company sets competency expectations, development protocols + boundaries as well as enforces the quality control of its code base and technical assets.
By Jeff Carter, Chief Software Architect
Missing Link Technologies Ltd.
Find Jeff’s Original Article Here