Stay up to date with the Go community in about 15 minutes per week
This show is supported by you. Stick around till the ad break to hear more about that.
Shay Nehmad:This is Cup o' Go for 06/10/2026. Keep up to date with the important happenings in the Go community in about twenty minutes per week. I'm Shay Nehmad.
Jonathan Hall:And I'm Jonathan
Shay Nehmad:Hall. And we're coming to you live physically in the same space for the first time
Jonathan Hall:Ever.
Shay Nehmad:Ever. And I'm going to prove it. I'm running away from my mic. And I'm speaking into Jonathan. And I'm back live from ElevateDev twenty twenty six.
Shay Nehmad:Yeah. What
Jonathan Hall:is ElevateDev twenty It's 20
Shay Nehmad:a conference we were invited to to speak because of the podcast, which is crazy. We really appreciate it. From a company called Genetech. We will have an interview with a Genetech employee coming to you soon, but let's start with some news. Alright.
Shay Nehmad:Should we keep old stuff around?
Jonathan Hall:Yes. Done. What's next? So the proposal we're discussing is number seventy nine four fifty three. The proposal was to drop GCC Go.
Jonathan Hall:What do you think about that, Shay?
Shay Nehmad:So I know GCC is like a compiler. Yep. And I know I like Go. Yep. But it's probably not the Go compiler, so I don't understand what it is even.
Shay Nehmad:I don't know. I don't think I've used it.
Jonathan Hall:Probably not.
Shay Nehmad:So what is it?
Jonathan Hall:GCC Go. You may remember we I we probably talked very briefly about this on the episode with Ian Lance Taylor because he wrote GCC Go.
Ian Lance Taylor:Yeah. Sure. I've been on the Go team since twenty o eight, actually, before the first public release. I mean, as we all know, Go was started by Rob, Ken, and Robert in twenty o seven as an internal project at Google.
Jonathan Hall:So Ian Leslie Taylor wrote GCC Go, and I think its primary purpose was to be the other implementation of Go. And the value there is having two implementations of the same spec gives you sort of the ability to try things out different ways, see does this thing make sense in two different ways. And as this issue actually has talked about, there have been times when the spec and Go disagreed with each other. And so they would refer to GCC Go as sort of the tiebreaker to see which is correct. The problem is that GCC Go hasn't been updated for quite a while.
Jonathan Hall:GCC is continually updated, of course. It compiles many different languages, not least of which is C. Yes, of course. But it compiles other languages too. So this is the Go, I guess, back end to GCC.
Jonathan Hall:It's been stuck since generics were introduced, so it's still on Go 1.17.
Shay Nehmad:That's quite a while ago. We're on '26 coming on '27, so that's five years. Easy to count on.
Jonathan Hall:Five years behind. Yeah. So the question here was, this hasn't been used for quite a while. I'm sorry. I made a mistake.
Jonathan Hall:I said it was the back end. It's the front end. It's the Go front end.
Shay Nehmad:Well, it depends how you look at it. But
Jonathan Hall:sure. If you're standing behind it, then it's the front end. If you're standing in front, it's the back whatever. The point is this is the Go support for GCC. It's well updated.
Jonathan Hall:The proposal was to drop support for it, sort of make it official that we're not doing anything with it. And there were a couple reasons. There were a couple things, not big things, but a couple things that are being maintained to support GCC Go. The question is In
Shay Nehmad:the language, you mean.
Jonathan Hall:In the language? Let me see here.
Shay Nehmad:Alright. It's not it's not free to keep it around is what you're saying.
Jonathan Hall:It's not free. Right. The conclusion was it's still useful to keep GCC Go around for the for the tiebreaker, if nothing else, a reason occasionally comes up. And also, Ian Lance Taylor himself says that there is a chance that it will catch up again, and he hopes he'll have time to work on it.
Shay Nehmad:I hope so too, Ian. One of the things having GCC Go helps you with is the fact that you can compile Go to, like, more exotic architectures. Is there any chance I used it and I don't know, or will it have to be, like, old hardware, you know, whatever? I don't know if
Jonathan Hall:it has to be old, but it's going to be less well supported hardware, or I shouldn't say less supported, but Less ubiquitous. Less common. Yeah. Less ubiquitous hardware. Because the GCC back end supports all sorts of architectures that the Go project itself doesn't want to maintain.
Jonathan Hall:So old versions of macOS might be an example.
Shay Nehmad:Or maybe embedded stuff, or is that not the right
Jonathan Hall:To some extent, although for a lot of embedded stuff, you're going want to use tiny Go.
Shay Nehmad:Yeah. That's what I thought. Yep. And this is a sort of a weird proposal because it's negative. I would expect it to be proposal, keep GCC Go, and then it's like accepted.
Shay Nehmad:But this is actually drops GCC Go, close as not planned, which, you know, the Go proposal process has a thing where you shouldn't like reopen issues unless there's been a major change. But I don't know, they should have put a time on it where if in three years we still haven't upgraded it, maybe we need to reopen this again. I'll just put a reminder to reopen this in three years or whatever. We're at episode, what, like 200 almost?
Jonathan Hall:Something like that? We're this will be episode one sixty one.
Shay Nehmad:Okay. So episode three three three hundred twenty and two, something like that.
Jonathan Hall:Very good.
Shay Nehmad:Cool. I have a question for you.
Jonathan Hall:Ask me.
Shay Nehmad:Do you use AI coding agents?
Jonathan Hall:I do. You actually have
Shay Nehmad:a podcast coming up about that.
Jonathan Hall:Right? Yes. I've recorded three episodes. I haven't released them yet. I need to get them edited.
Jonathan Hall:Filippo, I'll be reaching out to you soon.
Shay Nehmad:But don't edit this part out.
Jonathan Hall:So
Shay Nehmad:which AI agents are you using?
Jonathan Hall:I use Claude Code or not use OpenCode?
Shay Nehmad:So I use Claude Code, Codex.
Jonathan Hall:K.
Shay Nehmad:I used another one for a little while. I don't remember which one. I think the cursor one. And today I'm starting out with AMP as well because someone recommended it to me.
Jonathan Hall:AMP? AMP. AMP. Yeah.
Shay Nehmad:We had Thorsten on the show. Remember? Mhmm. Thanks for having me. My name is Thorsten.
Shay Nehmad:I am software engineer, occasional writer. I've been riding Go since one point zero came out in 2011 or '12, something like that. I don't know. Yeah. It's by something he's working on, which is pretty cool.
Shay Nehmad:Anyway, how do you keep OpenCode and Claude, and in my case Codex and others, in sync with like AI agent specific configuration? Because Claude has ClaudeMD, but OpenCode may have like .opencode.
Jonathan Hall:OpenCode supports ClaudeMD and agents. Md. I think it starts with agents and falls back to Claude if it doesn't exist. What's the question? How do I keep it in sync?
Shay Nehmad:Yeah. Like skills, MCP servers that are installed and configured. And, you know, there is harness specific work, you know, like skills that doesn't look the same. Like Claude skills are at .claud and Codex skills are like, I think in .agents or .codex. And the config of like, even like what's the token backend, the API key that you use and stuff like that, in case you, like in my case, you actually get your tokens from Azure Foundry and not directly from the providers and stuff like that.
Shay Nehmad:How do you keep that in sync?
Jonathan Hall:It does manually.
Shay Nehmad:So that's a pain. And if you search for it, a lot of people are saying this. It kind of sucks. Like if you have Cloud Code, Cursor, Codex, oh, GitHub Copilot. Of course, I forgot about it.
Shay Nehmad:You just got to keep your skills, MCP servers, repositories all in one place. We did it manually and we're doing it manually right now, but I'm very excited about this tool that made it the rounds on Reddit that's written in Go, of course, which is why we're talking about I don't know how to pronounce it. G A A L. Gal. Gal.
Shay Nehmad:Like a woman Southern accent, right? Gal.
Jonathan Hall:Yeah.
Shay Nehmad:But yeah, GAAL, supposedly you have one YAML file because that's everybody's favorite format.
Jonathan Hall:And it has such good support in the standard library.
Shay Nehmad:Don't even get me started. And it helps you, like, keep everything in sync. So you put one YAML file, and then you run this tool, and it'll make sure all the AI tools are in sync. What do you think about it?
Jonathan Hall:It sounds like a good idea.
Shay Nehmad:I think it's stupid. Okay. It's stupid that we need this tool. The tool exists because it solves a pain, but the pain is so stupid. Like these companies cannot agree on one name for the folder, maybe like .agent, and then just They have infinite tokens and they can develop infinite features, but they can't do this one because they're trying to stay like closed garden, walled garden, whatever.
Shay Nehmad:It's so stupid. Like, why can't we sync all? And there is differences, you know, the Claude backend and OpenAI backend, they don't exactly support the same features.
Jonathan Hall:Right.
Shay Nehmad:That's fair. But like Skills, it's a bunch of empty files. Why can't we put them in the same folder? That's crazy. I think there is a good reason, like they're trying to do a walled garden.
Shay Nehmad:Like, they think people will be too lazy to move .claud to .agents. Are they really? You think people will stay on cloud just because the folder's there? So it's a stupid problem, but with a pretty nice solution. So check it out, g a a l.
Shay Nehmad:I'll try it, and I'll let you know if it's actually good.
Jonathan Hall:Yeah. Let me know how it goes. Next up, a quick thing I just noticed dropped earlier today, new releases of Versus Code Go. Versus Code version 0.54 and the 0.55, which is identical, are released, 5.5 being the upcoming pre release and 5.4 being the stable release, add support for interactive refactorings. So certain refactorings will ask for user input before proceeding.
Jonathan Hall:A couple of other features, new debugger options in menu, and a package outline view.
Shay Nehmad:Oh, nice. So
Jonathan Hall:a couple of cool What
Shay Nehmad:does interactive code actions like, I'm asking to implement an interface, it says? Or does that require something from me? Someone asked me about this today. Oh, if you have a class and you need to implement an interface in my session. At ElevateDev, which we're at.
Shay Nehmad:Anyway, why would you need a user input for that?
Jonathan Hall:Okay. So the basic idea is that some refactorings require user input. It's not as simple as right click. Like, for example, right click, extract function is pretty straightforward. Like, there's only one thing to do.
Jonathan Hall:You extract the function. It gives it a generic name, but you can change the name later. This is things that require some input, so it's not as simple as like right click and do the thing. So it needs some interactive input from the user. The example is so this is unlike standard action, which can be applied immediately, these operations prompt the user for one or more additional pieces of information before proceeding.
Jonathan Hall:Surprised that hasn't been there already, but I
Shay Nehmad:guess when I refactor a thing, it moves it to a name like func one, and then I rename it. It's not like additional input. It felt to me like this feature existed.
Jonathan Hall:Yeah. I can see that. Yep. Well, cool. So if you ever need to use Versus Code again instead of Claude or Codex.
Shay Nehmad:My editor of choice now is Zed. It's so fast. Can't choose Versus Code. It's like Electron. It's too slow.
Shay Nehmad:I get like the typing delay. I like type a character, and then it doesn't show up in time. And I'm like, Crowd agrees with me, right? Yeah. No, no, don't want to shit on VSCO.
Shay Nehmad:Maybe there's some people. All right. Last item of this news segment, I think, is going to be about this accepted proposal 77,273, generic methods in Go. We talked about this in the past. So what do we have to update on?
Jonathan Hall:Yeah. So generic methods in Go, just as a reminder, we had generic functions for a long time, but no methods. Now we have generic methods, or I shouldn't say we now have them. They have been implemented. They will be released in 01/2027 coming in August, so we will have them soon.
Jonathan Hall:What's new? What's new is now Go sucks.
Shay Nehmad:We saw yeah. Are other influential people in the Go world, except Jonathan and I. Specifically, there's a person on YouTube, Primogen. I hope I'm saying that incorrectly. Like a super, super famous influencer type of person.
Shay Nehmad:I watch his videos every now and then. Not exactly my cup of tea, but really cool. A lot of development type stuff. And he posted, I'm done with Go. And I was like, Oh my God, what did I miss?
Shay Nehmad:Because we cover all the important news that's happening in Go. It was like, How is it possible that something happened? Because he was like on record saying, Oh, Go is awesome. I love Go. It's like my favorite language.
Shay Nehmad:Apparently, because we have generic methods now, we technically can implement slightly more complex code bases that use like method chaining and Rust like error handling, because I can define a result type and define a generic method unwrap on top of it. So far, everything I said is true, because I just said, I can do these things. The crux of the video is like, now every code base is going to be like this, and therefore Go is like declining and it sucks and whatever. I have my response to it, but you had a really poignant point to say that this is not a valid worry. So first of all, if Primogen's listening, hey, come on the show, But like I said, come argue your point.
Shay Nehmad:We're like arguing against you, but you're not here. That's not that fair. But what do you think?
Jonathan Hall:So I had the same fear about generics, which was what, did we establish five years ago?
Shay Nehmad:Yeah. Four and a half.
Jonathan Hall:So my concern with generics was that this is everybody's going to start using generics and it's going be terrible. And I have seen a few libraries that use generics too much. In general, generics are useful, but they're easy to overuse if you want to. But I haven't seen that become a problem. So I think And
Shay Nehmad:you see a lot of Go code bases. You're like a freelance it's not like this is based on one company. You've worked with many clients.
Jonathan Hall:Yeah. Over the last five years, I've seen a large number of code bases, open source and closed source alike. And, you know, I haven't seen my fears come true at all. So I don't think these fears are founded. If they are, if they are well founded, we'll find out soon.
Shay Nehmad:Yeah.
Jonathan Hall:But I don't think that this is going to be the I don't think the predictions are going to come true.
Shay Nehmad:I agree. I also think that as a like, if I'm just a developer, like a guy, I don't have a following, I don't have a show, I don't have a whatever, I can make these choices based on these predictions. But here it's like almost insider information on Polymarket, you know, the guy who ran into the NBA field, like a court in the finals, and then turns out he bet on himself in Polymarket that someone is going to break into Like the when someone with as influential as Primogen that has like hundreds of thousands of views per episode says, per video, I mean, has a statement that Go is bad because of X. Even if I can say that X is, I don't think is true and has been demonstrably false about generics in the past, it sort of creates this effect that it might become true just because someone famous enough said it. In your country, I think it's called the Trump effect, right?
Shay Nehmad:He can say something that's obviously false, completely wrong, just not true, but he said it. So the effects of the thing as if it was true, they happen in the real world. So I don't know, I don't super love this justification. I agree with you that it's not very true. I think if you'll see someone do it, like it's a valid code review to say, Hey, this is not idiomatic Go.
Shay Nehmad:Like error handling in Go, you can point to the 2025 blog post, Oh, no, syntactic error handling in Go, which we talked about on the show, where they said, We're explicitly not going to do any other type of error handling in Go. Even if we can, we're not going to introduce another way to do a thing, because Go is not about doing the same thing two different ways. So you have like a sort of an official Go guideline on don't do that. Like don't do the thing you posted in the video.
Jonathan Hall:Yeah. And I think there are many other examples of things we can do in Go that we don't, not just generics, not just this.
Shay Nehmad:Yeah. People try to keep it pretty simple, I guess. That's why you picked this language. He didn't recommend towards the end a language I haven't even heard of, Odin. I think I heard of it in the context of game development, just like a few freelance game developers I follow.
Shay Nehmad:So if you are also done with Go because 1.27 is going to ruin all the code bases immediately, I guess that's the alternative. I've never heard of it in a production sense, but maybe it's great and I'm just missing the boat. That's always possible. As always, we have more stuff in our backlog, but I think that's twenty minutes or twenty minutes ish. Stick around because after the ad break, we have an interview with a Genentech employee, Louis.
Shay Nehmad:Stick around. As I mentioned at the top of the show, this show is supported by you. A way to support the show would be financially, just give us money. That's always nice. You can do so via Patreon.
Shay Nehmad:You can find the Patreon link on cupago.dev, that is cupago.dev, where you can find stickers and hoodies and the extremely unfortunate shirts that Jonathan and I bought, designed and bought specifically for this conference. And you know what? You know who's never going to sponsor this show? FedEx, Filippo Bleecher that told me, Your shipment's going to be here by Monday. Don't worry, bro.
Shay Nehmad:Your driver's on his way. He's coming right now. He's so excited. And then just calling me like, Psych, we're going to come tomorrow instead. And then the distribution center is seven minutes from my house and they didn't let me drive there.
Shay Nehmad:Anyway, we don't know if the shirts are good yet. We'll let you know next week, but you can find all of that at cup o' dev. Other ways to support the show include sharing it. We don't pay to advertise. The show is only grown through word-of-mouth.
Shay Nehmad:So leave a review on Spotify, Apple Podcasts, wherever you listen to your podcasts, or just share this show with a friend or a coworker or your mom or a co student or whatever. A 100%. Any other?
Jonathan Hall:No, I'm hungry and I hear the crowd outside eating food. Want to go, let's finish this up.
Shay Nehmad:right. Let's go do the interview then. All right. We're here in the Genentech conference, ElevateDev twenty six. I guess we'll just grab someone random.
Louis Cerona:Hey, who are you? I'm somebody random.
Jonathan Hall:Hey, somebody random. Was great to have you on the show.
Shay Nehmad:Thank you. Happy to be here. Hi, Louie. I want you to introduce yourself to our listeners.
Louis Cerona:Yeah. My name is Luis Ciorone. I'm working in the R and D department here at Genentech. I've been an employee at Genentech for about ten years. And starting maybe back in 2024, I was given a team with the explicit objective of exploring opportunities in developing our code bases and Go going forward.
Shay Nehmad:Cool. Cool. Cool. What is Genentech? We said this name like a million times, but if you can tell the listeners who maybe aren't into physical security.
Louis Cerona:Sure.
Shay Nehmad:Genentech is I assume actually our crowd, our listeners being software developers, that many of them are actually into physical insecurity. I mean,
Louis Cerona:I'm sure I'll butcher this definition for the my coworkers and colleagues that are going listen, but I'll do my best. Genitech is a Montreal based company that handles physical security for kind of making sure that our customers have a one stop shop for the variety of security solutions. So we're talking access control, video surveillance, intrusion, license plate recognition, and etcetera.
Shay Nehmad:Yeah. We saw some demos at the conference this morning with big, like, companies like Lowe's and whatever. It was really, really cool.
Louis Cerona:Yeah. I attended that one as well. I missed an earlier one with Home Depot that I heard a lot of great things about. So I'll probably try and check a recording of that if it's available.
Shay Nehmad:Cool. The videos they shared were really some of them were really funny. Just guys showing up with a white box truck huge white box truck, trying to load some equipment from the store and then your system's detecting it. And then like local PD swooping in and they're like, Oh, I can't believe it. I came to a store that has cameras and they caught me.
Shay Nehmad:How is that possible?
Louis Cerona:Yeah. It looks straight out of a Bad Boys two movie. It's great. I mean, it's funny because we had other talks throughout the weekend, one of which was our product life cycle history. And part of that is to make those fake videos.
Louis Cerona:So we have kind of actors that do like fake shootouts and fake stealing. If you, we were told if you see someone walking around the hallways kind of just leaving a knapsack, don't grab it. They're probably filming, something for PR reasons.
Jonathan Hall:So now I know how to steal something from Genentech.
Shay Nehmad:Yeah.
Jonathan Hall:I just need to look like an actor.
Shay Nehmad:Just just keep your lapel mic just keep your lapel mic on. Like, No, no, I'm filming, guys.
Louis Cerona:Yeah. It's like the walk, you know, as long as you're carrying a ladder, anybody will let you in.
Shay Nehmad:Exactly. Is actually, y'all inviting us to the conference has been great already. Super good conference. I honestly can say I recommend working at Genentech. We'll get to that later, but it looks like an awesome place.
Shay Nehmad:Also spoke to your CEO and he seems like a nice guy. I guess that's a good signal as well. But this is also perfect for one of our listeners, Tom Vendenberg, I hope I'm saying that name correctly, who recently asked on our Slack channel, I think Go is great. I'm convinced. I like it.
Shay Nehmad:And I'm trying to figure out strategies or tips on how to get my company to migrate to Go. Because any change obviously is difficult. People are resistant to change. Generally, they don't like it. And changing a programming language is, for some people, an identity crisis.
Shay Nehmad:Like, what do you mean? Of course, I'm a Python developer. That's my job. Any other, insert any other language, you know what mean? And you said that since '24, you started exploring Go for Genitive.
Shay Nehmad:How's that been? How's that working?
Louis Cerona:Yeah. So it's funny you say that a person's programming language kind of comes off as an identity, and being told to change that is is a panic because that's that's exactly how, my colleague and I felt when we were given this team. You know, we were kind of our our our reputation is built on on our ability to write .net c sharp, and then we were told, nope. You're doing Golang now. Good luck.
Louis Cerona:And, we kinda panicked internally, And it was I was told
Shay Nehmad:You're getting it already because that's how you do errors in it. You panicked. You don't you didn't throw an exception. Yeah.
Louis Cerona:We remained, so panic was fine. It was all you know, it was before the Christmas bakes. I I at the Christmas break rather, so I immediately bought, you know, a forty hour Pluralsight course. It was like, learn, go. And and of those forty hours, maybe two of it was relevant because I I realized that thirty eight was just kind of fluff that was common to any programming language and and to that two hour chunk was what was specific.
Louis Cerona:And my colleague and I realized, oh, the the ramp up on Go is is actually negligible. And this is not to say that Go is is an easy language to learn by far, but instead that it's it's a simple language to pick up, which immediately came became kind of our talking point. I've tried to do a lot of talks internally here at Genentech, and that's a point I keep bringing up is that to get from I don't know what Go is to productive has not taken longer than a week for any of the devs I've worked with, and we're talking about senior devs and devs straight out of university.
Shay Nehmad:So that you're saying this is an attractive quality of Go. Like, you can get pretty proficient at it pretty quick. So if you're trying to, like migrate a company of one tech stack onto Go, rather, I should say, that's that's been working for you, saying the ramp up is pretty easy.
Louis Cerona:Yeah. Mean, helps kind of taper the fear that that comes. Because there's a there's a natural resistance to change that everybody has, and this kinda helped temper the fears that people were having. They're like, just spend a week. Look at it.
Louis Cerona:See if you like it. And the more we've used it, the more we've understood the methodology of Go and and the the mentality shift that comes with it, which is, like, minimalist, like, you do simple stuff explicitly, verbosely. You look at code. You can read it. Strategies beyond that have been well, the Elevate.
Louis Cerona:The Elevate has Go branding everywhere, but at Genentech, we're we're we're kinda open to doing a lot of internal talks and and projects and hackathons internally. So that's how we've kinda gone about spreading the word of Go, so to speak. So I've done a few tech talks. We've also tried to develop templates so people can spin up, you know, a REST API in Go pretty seamlessly, and it it has
Shay Nehmad:all project, component templates and project templates, you mean.
Louis Cerona:Exactly, yeah.
Shay Nehmad:Yeah. You're not kidding about the branding, by the way. Jonathan and I, we just shared a photo of us from the conference floor. It's like a huge ass gopher statue. It's like as big as me.
Louis Cerona:I'm I'm really wondering what they're what they're gonna do with it. My my director No.
Shay Nehmad:I'm taking it. I hope Eric Canada is gonna let me take it as a carry on.
Louis Cerona:Alright. Go for it. Yeah. Our director said the same thing about some of the stuff hanging in in the atrium. That where I
Shay Nehmad:was that's
Louis Cerona:where I was saying. But oh, yeah. So the the the branding here. So it it it was kind of amazing for my team and I to see all this branding because there we were not the only team that was doing Go development. We were just the team that was told explicitly, do Go, tell us if it's good or bad, spread the words, convince us.
Louis Cerona:And our our CEO was very invested too because he
Jonathan Hall:So I'm I'm curious why you were tasked with learning Go. I guess two questions related. Why the interest at the corporate level or whatever to start doing Go and why did you get looped into this? Was it your choice or was it a mandate or voluntold? Voluntold is great.
Louis Cerona:Right. So I'll start with the easier of the two to answer and move on to the more difficult Why me specifically? It was really just the right place at the right time. We were in a transitionary period going through a minor restructuring in our department, and I was tasked with starting a new team with the objective to rewrite some of our kind of on prem design features to be cloud native.
Jonathan Hall:Okay.
Louis Cerona:So they saw that as a, oh, they're writing a bunch of stuff from scratch, and it's gonna be on a cloud distributed platform that might be a good opportunity for Go. Start there. That's about how that went. Not because I had expressed previous, you know, knowledge of Go or anything like that. Mhmm.
Louis Cerona:But we did grab a senior dev that did have professional knowledge and experience working in Go, and he's he's been a a really big help. Shout out to to Carl because I know he's a listener of this podcast, so I feel like I need to give him a shout out. So yeah. Yeah. He's he told me about you guys this morning at breakfast because we were sharing which talks we were gonna attend.
Louis Cerona:And he said, yeah. These two guys, they do a podcast. I listen to it every week. I'm like, oh, cool. And then one and a half hour later, the director from our committee messaged me and said, hey.
Louis Cerona:I have a question from you. And can you you wanna record a podcast tonight?
Shay Nehmad:That rate sounds like you're hosting the show next week, and you're you're designing the Go committee a week after that, and you're officially the compiler next month. So be ready.
Louis Cerona:I've been I've been the front man. I've been I've been the guy doing the talks and and doing the self deprecating jokes. To to get back to your question, the second question being why Go why are we exploring Go? It's it's definitely a multilayered question. I'll answer it to the best of my abilities.
Louis Cerona:Firstly, we wanted to see what we can do without the Microsoft tech stack. We wanted to see how difficult it would be to transition away from that because we're pretty heavily coupled with the Microsoft tech stack right now. Secondly, with, like I said, moving to a cloud distributed platform, we wanted to see if there was more efficiency and and less overhead and and doing stuff in Go. Specifically, could talk about an experience where we saw an opportunity immediately to switch to go and we're we're going with. I work in the access control department and gotta be careful what I say and make this as vague as possible.
Louis Cerona:We've had an we have an appliance, to which we develop the firmware of in this company. It is older than my time here at Genentech, and as such, it wasn't really designed with the cloud in mind. And so over the years, we've tacked on the cloud to that appliance, and we reached the situation
Shay Nehmad:I just wanna clarify because a lot I think a lot of our listeners are not, like, physical. They're like just software developers. Appliance, mean a physical thing in
Jonathan Hall:means the physical box.
Louis Cerona:Yes. But we're talking about an edge device thing.
Shay Nehmad:I'll share for Tom. This episode is only for Tom. If you're not Tom Vanderberg, could turn it off. But what you just said that happens is like, Oh, wait, Go, I brought it for this thing, but it's actually useful for this. If it hasn't happened already, what's going to happen is that internal CLIs are going to start be written in Go, because it's so easy to install them, like brew install from your local brew tap or wherever.
Shay Nehmad:It's just a binary that just works. And you never send a CLI to someone and it doesn't work on their computer because they don't have the right Python version or dot net framework or whatever, doesn't or work on their machine at all because they use a Mac and whatever. You know what I mean? It's just a binary that works. It sort of spreads around, like all the good stuff about it sort of spreads around because people find out, Oh, well, a lot of people write CLIs in Go.
Shay Nehmad:And I have this, my team has distressed API and I don't want people to experiment with it. Let me ship it as a Go binary instead or whatever. So I think what you said about the list, it's useful for one thing, they're bringing it on for one thing, but it turns out it's useful for another, is one of these things that, you know, the team should hunt for if they're looking to increase adoption. You know what I mean? Like other places where, Hey, maybe try this and go, like invest one extra day, We'll get you some pizzas.
Shay Nehmad:Let's do a hackathon and
Louis Cerona:I mean, the LLM models, I mean, Go is pretty conducive to that. There's very you know, Go Go is a language where, I guess you guys repeat this under the podcast, but I guess I'll say it for for the record, you know, there's only really one way to do something in Go and using AI to kind of just five code stuff in Go is is a lot simpler than in other languages sometimes.
Shay Nehmad:Yeah. We talked about what's his name? The terraform guy. Yoshimoto? Yeah, Mitchel Hashimoto.
Shay Nehmad:Jonathan's been looking at me. When we do the show not live, you don't have that Your eye roll doesn't have that much power. He said that he just got back into Go from Zig and he was like, Oh my God, Go is so fun with LLMs. They have GoPlizz and GoDoc on the command line and such like superpowers. It's really great.
Shay Nehmad:So the company's interested because of various reasons, multilayered answer, there's a lot of places to implement it in. And you were chosen because you were just the open taxi at the time. It's like finding near programmers near you in Uber, and you're like, Ah, I guess I'm free. What's been tough? What's been difficult in this implementation journey?
Shay Nehmad:What hasn't gone, you know, as well as Did you find some people who totally resist and are like, Ah, but I like dot net, or No, Go is a bad fit, or Go is a bad language, or was it just, This is a large organization and takes time for knowledge to trickle through? Or was there any technical problems that Go wasn't good enough for?
Louis Cerona:Yeah. Short answer, all of the above. Difficulties on a personal programmer level was not the syntax, which is what we thought it was going to be. It wasn't, you know, lower spec devices. But the Not to say we ever shipped broken software because that never happens, but we had to quickly find some optimizations.
Louis Cerona:And this seemed like the ideal language to tackle those problems on the edge device. So it's not only for our cloud services, also, you know, shipping firm around the edge device because it's just less overhead and really minimalistic to to ship and easy to build.
Shay Nehmad:Hey, future Shay here. Sorry for the next part. We had some technical difficulties with the audio. So you're gonna hear Luis answer just out of the background noise of, my microphone. We tried our best to make it sound good, but that's how we got it.
Shay Nehmad:So sorry about that. Please continue to enjoy the rest of the interview. So thanks a lot for coming on the show. This is a good chance for you to like plug your your Twitter or your LinkedIn or Genentech itself. Are Genentech hiring?
Louis Cerona:Yeah. Genentech is always hiring. Were one of those companies who worked for AI. Was kind of cool. Maybe a lot of companies were hiring as fewer hired more.
Louis Cerona:So if you're interested, we got multiple offices, mainly our head office in the Montreal office. But if you are curious, go to Genentech dot com. That's ateanttc, because there are kind of a lot of variations of spelling around those areas. You have to be careful, but I'm sure it'll be
Shay Nehmad:Yeah. Link in the show notes. And honestly, being at the conference, I recommend it. I've never worked for Genentech, but this seems like a cool ass place to work, man, especially as a software developer. Like, this conference is one of the best conferences I've been to, not corporate conferences.
Shay Nehmad:Conference period. This has been great. We have a stumper question we ask every interviewee. We changed it every year. I never remember what it was in the first years, but now it's what's your Go library.
Shay Nehmad:So not not standard library. You're not allowed to say SLOG. I know it's SLOG, but
Louis Cerona:Yeah. I can see why that's a that's a stumper.
Jonathan Hall:I don't know if that's
Louis Cerona:a good answer, but it's mostly setting up a build packages with other people. I noticed it's gonna be a controversial answer because I heard about Donovan talk regarding testing, though. So
Jonathan Hall:we're
Louis Cerona:going testify. We saw
Jonathan Hall:a deal
Shay Nehmad:for a
Louis Cerona:lot of the factor standard package right now. But this is only because the journey that might be booked where ads has a data imposed a testing framework that was spinning around the India gate code omega. And the from some of the other teams that were doing go into a big pushback because they said it looked like spectral and not doing that. Which yeah. Fair enough.
Louis Cerona:And it very quickly became overly complicated and all skip the debug, and we realized that onboarding team members, it took them longer to understand that in Google made a test suite than the Go language, which, you know, we realized this kind of against methodology of life ago. So we switched to testify.
Shay Nehmad:That's one way to get Jonathan on your side. Well, Louis, thanks a lot for coming on the show and thanks all Genentech for hosting us. That wraps it up for this week. We're sorry if this episode was a little bit all over the place. It is live.
Shay Nehmad:I guess that's program exited. Goodbye.
Jonathan Hall:Program exited. Goodbye.