Master Go

Master Go

from $179.95

Learn what great software engineering looks like in Go, with my friendly one-to-one coaching and guidance.

Duration:
Add To Cart

About the course

If you’re new to programming, or just new to Go, my training will give you friendly, professional, one-to-one mentorship on how to get started, what to do, how to structure and design Go projects, best practices, and much more!

For beginners

If you’re thinking about learning Go, or wondering if it’s the right choice for you, your team, or your project, an in-depth conversation can help. Learn about Go’s strengths, the problems it’s designed to solve, and how it compares to other languages such as Rust, Java, Python, Ruby, and C.

Most importantly, you’ll get insight into how to write clear, readable, powerful, idiomatic Go that reflects the simple, elegant design of the language: what I like to call the Tao of Go.

For intermediate and senior developers

If you’re tackling advanced problems like refactoring a complex codebase with thousands of lines of Go, I’m a highly-experienced consultant who’s helped dozens of companies straighten out their project issues. Learn how to streamline your package structure, how to design clear and friendly APIs with powerful abstractions, and how to add and improve test coverage where it’s needed.

I can advise you on the best practices for organising code, documentation, CI/CD pipelines, release management, quality assurance, versioning, metrics, tracing, debugging, and everything else you need to know to operate a large commercial Go codebase.

For teams, technical leaders, and engineering managers

How do you write software in Go as a team? I’ve spent decades working with companies all over the world, helping them produce better, more reliable software, and even more importantly, high-functioning teams of happy, productive developers and engineering leaders. From the technical to the social, you’ll learn how to apply the patterns and practices that work, and how to avoid the ones that don’t.

I’ll help you figure out the right workflow for your team, whether pair programming or TDD makes sense in your context, and show you what I’ve found over the years to be a genuinely transformative way of working and learning together. Even a humble tool such as Git can help: I can show you how to turn branches, merges, commits, and code reviews from a chore into powerful, rewarding processes for collaboration.

I’ve trained developers and teams at Google, VMware, GitHub, HashiCorp, Pivotal, Gruntwork, Nginx, JPMorgan Chase, Facebook, Elastic, Grafana Labs, GoCardless, Cisco, Pythian, Intuit, and dozens of other successful companies all over the world and in every sector of industry. My training is unique because it doesn’t rely on a fixed syllabus or boring slide presentations—it’s completely bespoke, interactive, and tailored to your specific needs.

For group sessions of up to 5 attendees, please purchase one session per attendee, and let me know that you’d like to schedule these as a group session.

More resources

See also my Go team training sessions, books, and tutorials on Go—and please subscribe to my free newsletter for lots more!

How it works

Purchase this product to book your session, using the ‘Add to cart’ button above. I’ll contact you by email to say hello, find out what you’d like to learn, and arrange a video call for your session at a convenient time for you.

If you enjoy your first session and would like more, you can book further sessions at any time, with no obligation.

Find out more about my training here: Learn Go remotely with me.

What you get

You’ll receive a one-to-one Go training session with me, and the option to continue with further sessions if you want to. You’ll also get a selection of learning projects to work on, and access to the Bitfield Institute of Technology’s student Slack community, where you can share tips, questions, and discussions about Go programming with other learners of all levels.

You’ll also have the opportunity to work toward a prestigious BIT Certificate, giving you an employer-friendly record of your learning achievements to add to your resumé.

If you have questions about mentoring or would like further details about what’s involved, contact me for more information—I’ll be happy to chat.

Students say

Zachary Proser, AI Specialist and Dev Educator, WorkOS

“A delight to work with.”

I wanted to go deeper into Golang development and to receive feedback more frequently. I researched my options online and ultimately settled on John Arundel, who is a highly experienced developer and successful author of several books on Go development, testing and tooling.

John also happens to be a delight to work with. You start out by reading a few of his books and working through the examples and exercises. Along the way you'll also get assigned some Golang projects to start working on. As you develop these projects on the side, John will review your work and provide feedback, including detailed code reviews. This is where I began to unlock massive value from the coaching.

John's tutelage has tremendously improved my capabilities as a developer. As a result, I find more satisfaction and enjoyment in my work. It's my favorite part of the week or month when I get to pair with him—the human, emotional aspect of mentorship helps me to feel that I’m on the right track.

Jackson Kato, Staff Platform Engineer, Raft

“A great way to learn.”

John’s mentoring program has been great in building up my experience with the Go language. I'm given a project and live Go instruction via video conference. Outside of the live sessions, I work on developing the project and can ask questions if I run into into issues or need input on where to go. Overall, a great way to learn.

Melina Boutierou, Lead DevOps Engineer, Vismaya

“Immeasurable help and guidance.”

John's Go mentoring helped me build confidence and fill in gaps in my knowledge. It has provided an immeasurable amount of help and guidance, and as a result I’ve now landed my dream job!

Sam Ezebunandu, Senior Security Engineer, Grafana Labs

“A gentle, patient teacher.”

I always come out of my sessions with John feeling amazed at the quality of code we come up with together. It's test-driven software design, as taught by a gentle, patient teacher who has a strong mastery of Go. It actually makes me feel smarter!

Tom Barr, Software Engineer, Solü

“An excellent mentor.”

I've found John to be an excellent Go mentor, who offers detailed suggestions that balance performance, readability, and modularity while offering tips, articles, and videos with each problem.

Ivan Fetch, Senior DevOps Engineer, Wisetack

“Extremely valuable.”

John's mentoring was an extremely valuable part of my journey to becoming a great Go programmer, and creator of well-behaved and maintainable software. Working with John enabled me to pivot into a Go developer position with confidence and skill. I’d recommend him to anyone!

More reviews

“A wonderful mentor: clear, thorough and competent.”
—Mentee

“John is both a superb engineer and, just as importantly, an excellent teacher / communicator.”
—Luke Vidler

“I'm completely new to Go, but John was kind and helpful, informative and not condescending. I appreciate that he encourages me to think about the problem myself, rather than just telling me the answer. One of the best mentors around.”
—Mentee

“This is exciting! We typically do just canned training because it's all that's out there. To have an offering that feels so uniquely tailored to exactly where we need to grow is really awesome.”
—Adam Przybyszewski

“As a complete newbie I was a little nervous, but John made sure I felt totally comfortable asking questions and interacting. It's probably the most beneficial resource I've found so far!”
—Erin Torruella

Master AI

Master AI

from $179.95
Master Rust

Master Rust

from $179.95
Focus & growth

Focus & growth

from $179.95
Dev skills

Dev skills

from $179.95
Career growth

Career growth

from $179.95