Good teams grow together.

We support software teams as they share knowledge, make technical decisions together and develop their practice through training, mentoring and coaching.

Tell us what you need
Learning that connects the team Three interlocking ribbons represent training, mentoring and coaching. A slow highlight follows each ribbon, suggesting knowledge shared across the team.
TrainingMentoringCoaching

Bring learning into the work.

At HGM Labs, we consider the way of working alongside your team’s needs. Technical subjects and how people work together inform each other.

Ways to support the team

Training and workshops

We explore clean code, SOLID, design patterns and software architecture in training and hands-on workshops. Practical exercises give the team room to discuss the decisions behind the code. We shape the content around the team’s experience, codebase and goals.

Mentoring

We work through your team’s own code, design choices and challenges. Together with a software engineer, we consider the options and their trade-offs to support technical decision-making.

Team coaching

We look at how the team collaborates, shares responsibility and develops software. Together we identify what gets in the way and work on improving the team’s way of working.

What we work on together.

The content takes shape around the team’s experience and the software it works on.

Code and design

Using clean code, SOLID and design patterns, we explore how to divide responsibilities, where abstraction is useful and what follows from design decisions.

Architecture and testing

With domain-driven design and hexagonal architecture, we explore the business domain, boundaries and dependencies. Test-driven development and OpenAPI help us discuss software behavior and the expectations between systems.

Collaborative development

Agile principles and team collaboration are considered alongside technical practice. HGM Labs can also bring an AI-first approach to this work.