Building a team

When contemplating the migration of applications, one key concern for management is availability of talent/developers. Fortunately, Go is a very simple and easy-to-learn language, and if you have good engineers, they will pick it up quickly. The Phase 1 – Learning Go subsection of the Migration strategy section mentions some learning resources. In my experience, people get productive within a week of starting hands-on experiments.

Another good resource is the Go Proverbs list (https://go-proverbs.github.io/). It provides a set of pithy recommendations; some of them, such as "the bigger the interface, the weaker the abstraction," are pretty profound.

The flip side is that there is high demand for Go programmers. So once you train them, remember to keep the developers energized and engaged. When interviewing developers for the team, what has worked for me is hiring developers who have great basic computer science skills and programming ability. A knowledge of multithreading, deadlocks, and synchronization primitives are also essential for non-trivial Go programs. On multiple occasions, I've found it easy to build a team of developers from non-Go backgrounds, teach them Go, and then get things done. The following plot shows median salary of developers using different languages and their programming experience:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset