What we do
We help technology organisations improve their engineering practice. We offer assistance growing effective development teams, a ready-to-use apprenticeship program, product design sprints, code reviews, and skills workshops.
Grow effective development teams
We assist with hiring processes and hiring for diversity. We coach tech leads in effective management practices, and we improve overall engineering processes.
Technology companies survive by their ability to hire and retain fantastic employees. With software engineers that means delivering an environment that offers autonomy, opportunities for learning, and values craft.
Organising targeted training and on-boarding lets employees contribute to the business fast, without sacrificing quality. Every new software engineer needs to understand your technology platform, your culture and your shared vocabulary more swiftly so they can meaningfully contribute earlier. We include veteran employees as much as the new ones. This leads to increased retention and higher skill levels across the board. In many companies, deadlines edge out professional development but this approach improves total outcomes for everyone involved.
We will partner with you to develop and maintain a lasting culture of learning that can:
- recruit great candidates;
- do a better job interviewing those candidates, with better results, in less time;
- keep top performing employees interested and productive;
- raise the bar for current employees; and
- fill the long-standing knowledge gaps that hold employees back.
Ready to use apprenticeship program
Many companies employ a sink or swim approach to educating less experienced employees, relying on on-the-job learning. This leaves critical gaps in knowledge. Business As Usual (BAU) assignments are vital for your product(s) but do not reliably offer opportunities to pick up new skills, or to keep up with the changing nature of our industry.
The result will be engineers who understand more of the full stack, are able to make more informed decisions, and exhibit more autonomy. Code designs will become cleaner, better architected, and your testing regimen will improve. They will be less often inclined to take shortcuts in face of difficulties. Consistency between “generations” of employees will increase as everyone gets on the same level over time. In short, a decreased 'Time to Value' for new employees and increased skills for veterans.
The program is focused on:
- up-skilling less experienced developers;
- allowing intermediate developers to build upon their already strong foundation;
- reducing your cost of acquisition and churn;
- covering technical skills such as Ruby, Rails, clean code, design patterns, Git, test driven development, databases; and
- developing interpersonal topics such as effective communication and how to do code reviews.
Product design sprints
We believe that there cannot be improvement when there are no standards. A product design sprint allows us to set clear goals for your project and define methods of measuring our progress towards them.
Conducted over five days, a product design sprint is an opportunity to gather small-scale data early, when there is still time to course-correct at low cost.
A product design sprint is a series of exercises to develop our joint understanding of a problem you are addressing and brainstorm different ways to solve it. We then create a prototype from what we have learnt and put it in front of real users to validate our assumptions.
Instead of guessing and hoping you are on the right track, while investing months of time and money, a product design sprint will improve your probability of making something people really want.
We analyse and review your codebase to identify its key practices and conventions. We report back on code quality, for example percentage code coverage, suggestions for Ruby and Rails best practices and conventions that have not been followed, object-oriented design flaws, and Rails anti-patterns.
We then detail recommendations for improvements as needed and can work with your team to put practices into place to ensure the improvements in regards to better architecture, scaling, and performance are adopted.
We offer technical training on topics such as Test-Driven Development in Ruby on Rails, using Git and GitHub for better workflows, and refactoring techniques.