Angelica is joined by Cameron Balahan, Sameer Ajmani & Russ Cox from the Go Team at Google to talk about how things get done on the Go Team, how do they decide what to improve and then how do they go about improving it. We also discuss how they decide what to work when & what the future of Go might look like.
Matched from the episode's transcript đ
Sameer Ajmani: So Iâll ground this in just what are the opportunities for the existing house, versus the other opportunities. Letâs look at cloud, for example. Go is a fantastic language for building cloud applications, multi-threaded servers, doing a lot of communication. All the estimates I hear of point at the majority of workloads that could be on the cloud still arenât. So thereâs a huge still future for building scalable software and infrastructure that needs to be reliable and production ready and efficient, and all the things that Go is. So I think our existing sort of base for Go is still really important, and it still requires a lot of investment to do really well.
At the same time, as Cameron pointed out, software engineering and software development is transforming. And we need to pay attention to how that is changing. So I donât think we know â I remember seeing in your notes, you were asking like âWell, what about ML? What about frontends?â We even looked at Go mobile years ago⌠We try not to chase next new opportunities just based on whatâs hot. We try to be selective. For example, when it was all the crypto and mining stuff, some of the crypto people adopted Go, and people at Google asked âOh, we see [unintelligible 00:54:56.19] and we basically said âNo, weâre good. We donât need to chase that ball.â But with supply chain security we saw the opportunity to do something that was truly differentiated and was well-aligned with what our existing users would want.
And so with AI - again, weâre not trying to chase the data scientists and the Python users who are iterating on model development. What weâre looking at are people who build in production at scale - theyâre going to have to deal with AI, and deal with incorporating AI into their existing systems, and theyâre going to deal with models and security and observability. So how do we serve them? So thereâs a way to take our existing user base, with their existing concerns, and also think âWell, how are their needs expanding? How is the Go userâs job going to change?â And so itâs both building systems that use models, and also using AI themselves to generate Go code, or understand their Go programs. So I guess thatâs the way I think about how our jobs change, is if you are an average Go user, how is your world changing, and how can we, the Go team, facilitate that change?