Great teams
grow together.

Better engineering, learned together.

Hands-on training, workshops, mentoring and coaching for developers and teams. Build your craft, share what you know, and bring better practices into everyday work.

Knowledge grows through practice and sharing. Three connected paths represent learning, applying ideas together and sharing knowledge back with the team.

Explore an idea. Understand the reasoning behind it.

A shared practice. An open mind.

Rooted in open source

From knowing how.
To doing it together.

Good engineering is more than individual knowledge. We help your team turn ideas into shared habits, through the support that fits your work.

The craft behind
better software.

Training and workshops on practical foundations for robust, maintainable applications—and the teams that build them.

We shape the focus around your team’s experience, codebase and goals.

Clean code & design

Make code easier to understand, change and discuss. Explore responsibilities, useful abstractions and the trade-offs behind a design.

  • Clean code
  • SOLID principles
  • Design patterns
Architecture & domain modeling

Connect the software model to the business it serves. Define meaningful boundaries and separate core behavior from the details around it.

  • Domain-driven design
  • Hexagonal architecture
  • Boundaries & dependencies
Testing & API contracts

Use tests to explore behavior and guide implementation. Make the expectations between systems explicit, readable and open to discussion.

  • Test-driven development
  • Testable design
  • OpenAPI
Agile & collaborative delivery

Build a shared approach to planning, feedback and delivery. Work in small steps, make decisions together and learn from the work as it happens.

  • Agile principles
  • Collaboration & feedback
  • Shared accountability

Open source.
Open possibilities.

Good ideas go further when they’re shared.

Open source is part of how we think, learn and build. Read the code, question the choices, and understand what makes it work. Knowledge becomes more useful when others can build on it.

We bring that mindset into team development: learning in the open, sharing context, and treating feedback as part of the craft.

Explore HGM Labs on GitHub (opens in a new tab)

Understand the source.

Look beneath the interface. Learn from real implementations and the decisions behind them.

Make knowledge shared.

Explain the why, invite questions, and make room for another perspective.

Build with an open mind.

Evaluate ideas on their merits. Choose tools and practices that serve the problem.

Start where
your team is.

A useful learning experience starts with understanding your work. Together, we find the focus and the format that make sense.

  1. 1

    Find the focus.

    Talk through your team’s experience, current challenges and what you want to do better.

  2. 2

    Work on it together.

    Combine the right topics with workshops, mentoring or coaching, grounded in practical work.

  3. 3

    Bring it into the everyday.

    Reflect on what you’ve learned and identify practices to carry into your next piece of work.

The same craft.
An AI-first approach.

We also offer our training, workshops, mentoring and coaching with an AI-first approach. Explore how to bring AI into the way your team learns and develops software, with engineering judgment and human review at the center.

What could your team
do better, together?

Tell us about your people, your challenges and where you’d like to go. Let’s find a useful place to start.

Prefer a conversation by email?

[email protected] +90 216 606 2046

Based in Istanbul.
Part of HGM.

All fields are required. Your details are saved so we can review your message and get back to you.

10–5000 characters.

Security check

Complete the security check before sending.