Episodes
Hi folks, In this episode I say a tearful adieu.  I have taken a very exciting new role at Sourcegraph, and I only want to talk about that from now on, so I'm semi-retiring this podcast. I will release a few episodes a year on this channel, and I will likely put more work than usual into them, so stay subscribed if you would like to see occasional new drops on this channel. Thanks so much for listening, and I hope to see you all on my Sourcegraph talks! Cheers, Steve
Published 09/26/22
Published 09/26/22
Featuring special guest Alex Eagle, Founder and CEO of Aspect.dev, which specializes in Enterprise Bazel support.  I worked with Alex for years back at Google and we both have a ton of respect for the Bazel build system, which is the open-source version of Blaze (Google's internal build system). I have some sound issues on my end this week, though Alex's sound came out great.  But the biggest problem with this week's episode is that my stream (in postproduction) wound up about 1.5 seconds...
Published 07/05/22
Hey folks!  Today's episode is an intro to Service Meshes. There are many, many players in this space, and I only talk about a few of them.  Notably I left out Buoyant, which provides a mesh based on linkerd.  So this is not a full comparison of all possible options. But it does cover a lot of the big ones. This episode has some sound and picture issues.  I recorded it in my guitar/music studio instead of my regular studio, because I am considering consolidating them and wanted to try out a...
Published 06/20/22
Hey folks, Someone asked me for career advice on whether they should make the jump over onto the management track.  We had a nice conversation about it and I decided to give a little talk on it this week. I had some technical issues and wound up getting delayed a day; my apologies. I also apologize that the editing is a bit choppy. It's a little bit of a bumpy ride, but I wanted to keep myself on topic and I wound up deleting a good 25-30% of the talk.  I hope it's intelligible. If you...
Published 06/14/22
Hey folks! I'm very pleased to be hosting Jeff Atwood as our guest this week. Jeff was co-creator of Stack Overflow, which is by far one of the most successful Q&A sites ever created, and is every programmer's best friend. Jeff and I talked about all sorts of stuff.  I didn't have a fixed agenda and just let the conversation roll.  Jeff talks about quite a few topics near and dear to his heart, especially hardware and colocation.  He also talks about his $10k bet with John Carmack over...
Published 06/06/22
Today I talk about how (and why) after 2 years of really enjoying retirement, I've decided to go back into the industry. Feel free to give this one a pass if you are looking for something more like one of my usual "tech talks".  This is basically a status update that was suggested by next week's guest, while we were recording.
Published 05/30/22
Hey folks!  This was an overly-ambitious attempt to do a mini-lecture on the Farmer, Dog, Chicken, Grain puzzle and its programming solutions. This was one of the homework questions I had in my Intro to Programming Languages course in the University of Washington's undergraduate Computer Science program, taught at the time by Linda Shapiro. She had us solve this problem in Lisp, Smalltalk, and Prolog. So this is a fairly in-depth technical discussion that might seem a BIT on the boring...
Published 05/24/22
Hey folks! This week I talk about Ruby, which is one of my Top 3 favorite programming languages (if you count "Lisp" as a single language), the third being Kotlin. If you want to get straight to the hand-waving ranting, you can jump to around the 40 minute mark. This week we're having a competition!  We're going to re-do the Farmer, Dog, Chicken, Grain competition I held at Amazon.com around 18 years ago. Sometime this week, if you have time, try writing a succinct and elegant solution to...
Published 05/16/22
Hey folks!  Sorry this one is a day late.  I had to redact some confidential information and it took a little extra time. Today we talk about the Lisp family of languages, and how coooool they are, and how cool yoooouuu would be if you learned one or more of them. http://paulgraham.com has the essays I mentioned in the talk.  Enjoy!
Published 05/03/22
Hey folks, Apologies for 2 weeks of missing podcasts.  The episode 2 weeks ago was all coding and didn't make much sense to just do the audio for.  And last week I was busy redoing my recording studio cabling and equipment. In this episode I talk about compilers:  a bit about how they work, and a lot about how useful they have been at various points in my career. They are a fun subject and it was an easy episode to record! I mentioned a book, The Essentials of Programming Languages. It's...
Published 04/25/22
I'm joined today by a Google buddy who left for Facebook/Meta 3 years ago.  We talk about a broad range of fun topics, including comparing Google and FB in various ways. If you enjoy this content, please head over to YouTube and Like the video, Subscribe to the channel, and if you think it's appropriate, comment on the video as well.  It takes years to grow a channel these days, but your actions really do help move us forward. Thank you!
Published 04/04/22
Hey folks, A commenter asked if I could talk about whether you need a CS degree to be in Big Tech and make it as a software engineer.  So that's the topic for today! In this episode, I talk about what you would actually need to study in order to get the equivalent of a CS degree, and I also call our the most core fundamental stuff, which would be:   * discrete math, linear algebra, and statistics   * theory of computation, algorithms, data structures   * compilers, operating systems,...
Published 03/28/22
Hi folks, Given that my Emacs tour from 2 weeks ago is in 2nd place overall on views, I'm gonna see how far I can push my luck, and do another one about Emacs. Apologies to the podcast listeners. I narrate everything but this probably isn't that fun to listen to without seeing what I'm doing. Let me know. This episode is a bit more disjointed than usual because I actually had about 90 minutes of material and I had to edit heavily.  I can always redo the parts I edited out in a future...
Published 03/21/22
In this week's episode I talk about reorgs!   How and why to do them, when and why to avoid them, and how to make sure they go as smoothly as possible when you really do have to do one. I also tell some war stories about particular reorgs I experienced at Amazon and Google. If you like this content, please go over to my YouTube channel and subscribe. It improves my placement with the YT algorithm and helps the channel grow.  Thank you!
Published 03/14/22
Hey folks, This week I did a guided walkthrough of Emacs, on my computer, while narrating what I was typing out. It went pretty smoothly and I _think_ I did an OK job of narrating what we were looking at, as well as speaking aloud almost all the operations I performed during the tour.  So I'm hoping that it still works as a podcast, because honestly Emacs is pretty plain and it's not hard to imagine what I'm describing. :)  You're probably imagining something fancier than what was actually...
Published 03/07/22
Grigory Javadyan, the commenter who inspired episode 37, has graciously agreed to be a guest on today's show. In this episode we talk about all sorts of interesting things, including:   * Zynga and the game industry   * Interviewing at big tech companies   * Being an SRE vs being a SWE   * Google infrastructure and database migrations   * Android emulators   * Command line vs IDEs (last week's episode)   * The future of programming I really enjoyed this chat, and I hope you do too! If you...
Published 02/28/22
In this episode I dig in my heels and defend my position that you have to know command-line interfaces and shell scripting (or equivalent) in order to be a great programmer and a great generalist. I didn't say it explicitly, but the bottom line is that sometimes you need to do custom batch (and/or streaming) tasks that are not handled by your IDE or your favorite tools.  So what do you do?  Scripting to the rescue.
Published 02/21/22
Here are some a few thoughts on how to be the best software engineer you can be.  It's not comprehensive; just some thoughts I've had about it over the years. Hope it's helpful! We'll talk a lot more about this stuff in future episodes, and I'll bring guests.  I know a lot of engineers who are far more badass than I am, and it'll be nice to get their perspective.
Published 02/14/22
This is basically the contents of a tech talk I used to give at Google, to help Google engineers get promoted as fast as possible. I hope it helps!
Published 02/14/22
In this episode I talk for way too long about how Flutter is going to take over the entire world of UI programming, from web pages to mobile apps to desktop apps. I didn't do a dry run on this video, and learned my lesson the hard way. I had to do 12+ hours of editing to get it down to something reasonable, and also had to remove about 500 umms and ahhs.  And it's still not great. Next time I will do a dry run! One point I didn't make very well is that my Flutter game client, written by a...
Published 02/14/22
Hi folks!  I'm very pleased to present our second guest interview, with my good buddy Eni Segun.  I've known him for many years; he has been playing my game Wyvern since he was 8 years old, and has been a member of the core contributor team for the past several years. We talk about Eni's path from tinkering with computers through graduating from Drexel and heading to Microsoft, working in Azure. We cover a wide range of topics, but the biggest theme is the importance of good engineering...
Published 02/14/22
Hi folks!  We have our first-ever guest on the show.  Ex-Googler David Herman has been kind enough to be the guinea pig. In this episode we talk about how to detect and deal with stagnation in your career, lots about mentoring, and a bit about corporate culture. Plus lots of Google stories.
Published 02/14/22
This week's episode is all about the Technical Program Manager role, and how it helps companies execute at their highest level. A TPM is a special role that requires "capital-T" technical expertise and a whole bunch of leadership. TPMs are tasked with delivering large, cross-functional, typically internal-facing projects such as database migrations, system rearchitectures, or performance/security initiatives. I talk about my own experience as a TPM at Amazon, and the right and wrong way to...
Published 02/14/22
Hey folks!  This topic was suggested to me by a buddy.  I tackle the problem of engineers saying something is "impossible", and how to prove them wrong.
Published 02/14/22