Coaching

Coaching, mentoring, and online support

I offer coaching, mentoring, and online support for individuals or teams. Coaching and support can be customised to your needs, experience, and learning style. They can be combined with each other or with a training course.

These services let you or your team learn quickly and effectively, ensuring you have the skills and understanding you need. We'll focus on the topics which are relevant to you. We'll dive deep into why things work the way they do, and the mental models and principles underlying specific solutions. You'll be able to check your understanding as we go along and we'll apply lessons to your own code and projects. As well as language fundamentals, we'll cover best practices, idiomatic code, good design, and potential foot-guns around performance or design.

Coaching/mentoring can be focussed on developing Rust skills (at any level) or more general engineering issues (augment your team with a drop-in staff engineer). Typically, we'd have weekly or fortnightly calls during which we'd cover your questions in depth, dive into code, or have a discussion-based tutorial on a pre-arranged topic. We can also include some code or design review, or review engineering processes and policies.

For online support, I can be available for Q&A on Slack or similar software, and available for deeper discussion via video calls as required. With over ten years of Rust experience, I can help you gain a deep understanding of Rust issues including context and principles, pros and cons, and specific application to your software. My support will help you fix your immediate problems quickly, and make your team more effective Rust developers.

I'm based in Aoteroa New Zealand, so can cover time zones from Asia to the Americas.

To discuss coaching or support options, get in touch! If you have more short-term, concrete goals you might be more interested in my consulting services.

Pro bono mentoring

I have some limited availability to offer individual, remote mentoring free of charge. I want to help engineers to develop their understanding of software engineering and computer science, and to help them progress in their careers. As well as general industry experience to share, I'm likely to be able to help you work on the Rust project (although my knowledge of specifics, e.g., compiler internals, is somewhat out of date), work on developer tools and some distributed systems, learn Rust, or work on communication and presentation skills.

I expect we'd chat roughly once per week and keep in touch on Slack or similar. It'll work best if we have some time zone overlap (which means living somewhere between central Asia and mid-America). Mentoring would last from one to four months, depending on your goals. I'm not able to offer any paid or unpaid employment, and I'm unlikely to be able to find you work elsewhere. I'm happy to discuss work from your job, as long as you're allowed to and the benefit is mainly to you, not your employer (I'm not going to do your homework for you :-) ).

I have pretty limited bandwidth for this, so sorry in advance if I can't help you out. I currently have availability from September 2024. If you're keen, send me a message and tell me a little about yourself and your goals for the mentoring. Some of my priorities for selecting someone to mentor are: working on Rust or other programming languages, working for a charity or similar org, belonging to a group which is under-represented in software engineering, or living in a less-developed country or in Aoteoroa New Zealand.