Go's revolving door, live from ElevateDev - podcast episode cover

Go's revolving door, live from ElevateDev

Jun 19, 202635 minEp. 161
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Transcript

Shay NehmadShay Nehmad

This show is supported by you. Stick around till the ad break to hear more about that. 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 HallJonathan Hall

And I'm Jonathan

Shay NehmadShay Nehmad

Hall. And we're coming to you live physically in the same space for the first time

Jonathan HallJonathan Hall

Ever.

Shay NehmadShay 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. Yeah. What

Jonathan HallJonathan Hall

is ElevateDev twenty It's 20

Shay NehmadShay 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. Should we keep old stuff around?

Jonathan HallJonathan 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. What do you think about that, Shay?

Shay NehmadShay 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. I don't know. I don't think I've used it.

Jonathan HallJonathan Hall

Probably not.

Shay NehmadShay Nehmad

So what is it?

Jonathan HallJonathan 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 HallJonathan 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.

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. It's been stuck since generics were introduced, so it's still on Go 1.17.

Shay NehmadShay Nehmad

That's quite a while ago. We're on '26 coming on '27, so that's five years. Easy to count on.

Jonathan HallJonathan 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. I said it was the back end. It's the front end. It's the Go front end.

Shay NehmadShay Nehmad

Well, it depends how you look at it. But

Jonathan HallJonathan 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. 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 NehmadShay Nehmad

the language, you mean.

Jonathan HallJonathan Hall

In the language? Let me see here.

Shay NehmadShay Nehmad

Alright. It's not it's not free to keep it around is what you're saying.

Jonathan HallJonathan 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 NehmadShay 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 HallJonathan 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. So old versions of macOS might be an example.

Shay NehmadShay Nehmad

Or maybe embedded stuff, or is that not the right

Jonathan HallJonathan Hall

To some extent, although for a lot of embedded stuff, you're going want to use tiny Go.

Shay NehmadShay 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.

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 HallJonathan Hall

Something like that? We're this will be episode one sixty one.

Shay NehmadShay Nehmad

Okay. So episode three three three hundred twenty and two, something like that.

Jonathan HallJonathan Hall

Very good.

Shay NehmadShay Nehmad

Cool. I have a question for you.

Jonathan HallJonathan Hall

Ask me.

Shay NehmadShay Nehmad

Do you use AI coding agents?

Jonathan HallJonathan Hall

I do. You actually have

Shay NehmadShay Nehmad

a podcast coming up about that.

Jonathan HallJonathan Hall

Right? Yes. I've recorded three episodes. I haven't released them yet. I need to get them edited. Filippo, I'll be reaching out to you soon.

Shay NehmadShay Nehmad

But don't edit this part out.

Jonathan HallJonathan Hall

So

Shay NehmadShay Nehmad

which AI agents are you using?

Jonathan HallJonathan Hall

I use Claude Code or not use OpenCode?

Shay NehmadShay Nehmad

So I use Claude Code, Codex.

Jonathan HallJonathan Hall

K.

Shay NehmadShay 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 HallJonathan Hall

AMP? AMP. AMP. Yeah.

Shay NehmadShay Nehmad

We had Thorsten on the show. Remember? Mhmm. Thanks for having me. My name is Thorsten. 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. 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 HallJonathan 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 NehmadShay 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.

How do you keep that in sync?

Jonathan HallJonathan Hall

It does manually.

Shay NehmadShay 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.

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. Like a woman Southern accent, right? Gal.

Jonathan HallJonathan Hall

Yeah.

Shay NehmadShay Nehmad

But yeah, GAAL, supposedly you have one YAML file because that's everybody's favorite format.

Jonathan HallJonathan Hall

And it has such good support in the standard library.

Shay NehmadShay 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 HallJonathan Hall

It sounds like a good idea.

Shay NehmadShay 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.

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 HallJonathan Hall

Right.

Shay NehmadShay 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. 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. I'll try it, and I'll let you know if it's actually good.

Jonathan HallJonathan 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. A couple of other features, new debugger options in menu, and a package outline view.

Shay NehmadShay Nehmad

Oh, nice. So

Jonathan HallJonathan Hall

a couple of cool What

Shay NehmadShay 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. Anyway, why would you need a user input for that?

Jonathan HallJonathan 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.

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. Surprised that hasn't been there already, but I

Shay NehmadShay 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 HallJonathan 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 NehmadShay 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. 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.

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 HallJonathan 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. What's new? What's new is now Go sucks.

Shay NehmadShay 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. 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?

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.

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.

We're like arguing against you, but you're not here. That's not that fair. But what do you think?

Jonathan HallJonathan Hall

So I had the same fear about generics, which was what, did we establish five years ago?

Shay NehmadShay Nehmad

Yeah. Four and a half.

Jonathan HallJonathan 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 NehmadShay 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 HallJonathan 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 NehmadShay Nehmad

Yeah.

Jonathan HallJonathan 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 NehmadShay 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?

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.

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 HallJonathan 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 NehmadShay 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.

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.

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.

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.

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. 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.

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 HallJonathan Hall

No, I'm hungry and I hear the crowd outside eating food. Want to go, let's finish this up.

Shay NehmadShay 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 HallJonathan Hall

Hey, somebody random. Was great to have you on the show.

Shay NehmadShay 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 NehmadShay 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 NehmadShay 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 NehmadShay 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 NehmadShay 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. 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. 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 HallJonathan Hall

So now I know how to steal something from Genentech.

Shay NehmadShay Nehmad

Yeah.

Jonathan HallJonathan Hall

I just need to look like an actor.

Shay NehmadShay 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 NehmadShay 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.

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.

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. 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.

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. And, we kinda panicked internally, And it was I was told

Shay NehmadShay 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.

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 NehmadShay 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.

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.

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 NehmadShay Nehmad

all project, component templates and project templates, you mean.

Louis Cerona

Exactly, yeah.

Shay NehmadShay 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 NehmadShay 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 NehmadShay 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. And our our CEO was very invested too because he

Jonathan HallJonathan 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 HallJonathan 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.

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.

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. I have a question from you. And can you you wanna record a podcast tonight?

Shay NehmadShay 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.

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.

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 NehmadShay 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 HallJonathan Hall

means the physical box.

Louis Cerona

Yes. But we're talking about an edge device thing.

Shay NehmadShay 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.

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.

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.

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 NehmadShay Nehmad

Yeah. We talked about what's his name? The terraform guy. Yoshimoto? Yeah, Mitchel Hashimoto. 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.

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?

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.

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 NehmadShay 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. 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. 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 NehmadShay 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.

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. 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 HallJonathan 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 HallJonathan Hall

we're

Louis Cerona

going testify. We saw

Jonathan HallJonathan Hall

a deal

Shay NehmadShay 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.

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 NehmadShay 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. I guess that's program exited. Goodbye.

Jonathan HallJonathan Hall

Program exited. Goodbye.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android