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?