For years we've been told that everyone needs to learn to code. As career software people, what are our thoughts on this? Should you learn to code? Is coding the right career for you? In this first episode of a two part series, the panel discusses how they learned to code, whether they think everyone should learn to code, and of course they offer up some unpopular opinions.And if you're thinking, "I already know how to code", don't worry, this episode contains valuable advice for you as well.As always thanks for tuning in and happy listening!Notes & Links:Ben Eater's YouTube Channel (from 53:00)John Carmack's Fast Inverse Square Root (from 1:01:47)This is actually from Quake, not Doom.Change Interviews #581 It's Not Always DNS (from 1:04:15)Chapters:(00:00) - Intro
(01:33) - How're we doing?
(04:41) - Why did we learn to code?
(06:10) - Why Kris learned to code
(07:44) - Why Ian learned to code
(08:54) - Why Dylan learned to code
(10:36) - Why Matthew learned to code
(14:22) - Computer Assembly Not Required
(16:51) - Tangent: Why Are USB-C Cables?
(17:36) - Should you focus on a specific language?
(22:45) - Do you want to solve problems?
(24:53) - Coding & Woodworking
(27:09) - Curiosity & Itches that need scratching
(31:07) - What do we mean when we say "code"?
(32:34) - You should learn Excel
(39:35) - Coding Is Configuring Computers
(43:32) - Discrete Math, Not Binary
(47:03) - Learn the low level stuff... eventually
(53:42) - The desire to learn
(57:41) - Sidequest: Networking
(01:05:52) - Learning Design & Being Load Bearing
(01:12:10) - Continual Learning
(01:14:33) - What of AI and Automation?
(01:21:49) - Share What You Learn
(01:24:24) - Should You Learn To Code?
(01:24:57) - Teaser: Episode 5 - Is Coding The Career For You?
(01:26:02) - Unpopular Opinions
(01:26:08) - Matthew's Unpop
(01:28:51) - Ian's Unpop
(01:29:29) - Dylan's Unpop
(01:33:52) - Kris' Unpop
(01:36:50) - Tangent: Chopper?
(01:37:27) - Outro
Hosts
Kris Brandow - Host
Ian Wester-Lopshire - Host
Dylan Bourque - Host
Matthew Sanabria - Host
Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
--------
1:38:38
The Gems & Warts of Go
Gems are the things we love, and warts are the things we don't. On today's episode, Kris is joined by the hosting panel of Ian, Matt, and Dylan and they are talking about the gems and warts of Go. From defer, to net/http, to vanity URLs, to modules, we cover around 30 topics! To prevent our listeners/viewers from returning an E_TOO_MANY_UNPOPS error, we didn't include the Unpopular Opinions segment (there are plenty throughout the episode). We hope you enjoy this tangent filled episode. Have a gem or wart you agree/disagree with or think we missed a few? Let us know on social media or in the comments!Thank you so much for listening. Happy listening!Notes & Links:Chandler Carruth's CPPcon talk (from 40:44)Go x/tools/guru (from 43:36)Since deprecated, however this functionality is included in gopls.go/analysis (from 47:19)go/x/tools/cmd/eg (from 1:47:25)go/x/tools/refactor/egeg documentationChapters:(00:00) - Intro
(00:31) - Introductions
(05:07) - Gem#1: net/http
(07:37) - Gem#2: defer (gem)
(09:36) - PEBKAC (tangent)
(11:36) - Gem#3: if err != nil (gem)
(16:09) - Gem#4: testing included (gem)
(19:13) - Gem#5: struct field tags (gem)
(21:57) - Gem#6: reflect & unsafe (gem)
(24:35) - Gem#7: sync/atomic (gem)
(24:54) - Gem#8: io as composeable interfaces (gem)
(25:32) - Gem#9: No inheritance (gem)
(31:20) - Gem#10: Vanity URLs (gem)
(34:33) - Gem#11: single for loop (gem)
(37:08) - Gem#12: pprof (gem)
(38:25) - Gem#13: security by default (gem)
(40:01) - Gem#14: fast compiler times (gem)
(41:16) - Gem#15: go/ast & go/* packages (gem)
(42:05) - Gem#16: implicit interfaces (gem)
(42:38) - Wart#1: implicit interfaces (wart)
(48:37) - Wart#2: slice tricks (wart)
(54:10) - Wart#3: lack of method overloads (wart)
(56:57) - Wart#4: covariance for array parameters (wart)
(59:38) - Wart#5: encoding/json marshalling unexported fields (wart)
(01:01:27) - Wart#6: encoding/json marshalling errors (wart)
(01:02:31) - Wart#7: single letter variable names (wart)
(01:08:45) - Wart#8: iota (wart)
(01:16:09) - Wart#9: map operations (wart)
(01:18:23) - Gem#17: structs as map keys (gem)
(01:20:04) - Wart#10: main function signature (wart)
(01:23:35) - Gem/Wart#1: channels (gem & wart)
(01:30:38) - Wart#11: range loop variables (wart)
(01:34:31) - Wart#12: no standard build system (wart)
(01:38:09) - Wart#13: modules (wart)
(01:53:18) - Outro
Hosts
Kris Brandow - Host
Ian Wester-Lopshire - Host
Dylan Bourque - Host
Matthew Sanabria - Host
Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
--------
1:57:15
War Stories
Our experiences are what make us the software people we are today. In this episode, Kris is joined by the hosting panel of Ian, Matt, and Dylan and they're talking war stories. You'll hear tales of coworker frustrations, our own hubris, and plenty of weird software bugs. To close the episode out, Dylan, Ian, and Kris provide some unpopular opinions! Let us know on social media if you think their opinions are unpopular as they seem to think they are!Thank you so much for listening to our first episode. Happy listening!(00:00) - Introduction
(00:43) - Talkin' Bout The Rain
(01:39) - Dates, Times, and "Helpful" Platforms
(14:17) - Y2K Flashback
(16:20) - Non-Refreshing Refresh Tokens
(21:53) - TCP, Locks, and Load Balancers
(34:16) - tar != tar
(39:52) - Bonus Story: Too Many Modules
(43:58) - pprof to the rescue!
(47:18) - netcat: the ultimate database backup tool
(49:03) - The Perfect API (In Theory)
(53:30) - Hubris and the ease of ETL
(55:38) - Problems with Proactive Fixes
(58:39) - Unpopular Opinions
(59:00) - Dylan's Unpop
(01:03:08) - Ian's Unpop
(01:09:26) - Kris' Unpop
(01:12:32) - Outro
Hosts
Kris Brandow - Host
Ian Wester-Lopshire - Host
Dylan Bourque - Host
Matthew Sanabria - Host
Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
--------
1:13:07
Falling Through: A New Perspective
Welcome to Fallthrough! In our first episode, properly numbered 0, we're discussing what this podcast is and many of the things we hope to discuss on future episodes of the podcast. If you loved Go Time, we hope that you'll love Fallthrough. Happy listening!(00:00) - Welcome to Fallthrough!
(00:29) - What's in a name?
(01:55) - A New Perspective
(03:33) - Introduction: Ian Wester-Lopshire
(04:02) - Introduction: Matthew Sanabria
(05:43) - Introduction: Dylan Bourque
(06:19) - From the prospective of Go
(06:34) - Prospective Podcast Content: Dylan
(07:46) - Prospective Topic: Other languages from the Go perspective
(13:39) - Prospective Topic: The missing bits from the standard library
(15:17) - Prospective Topic: The "Don't touch that!" parts of Go
(19:04) - Prospective Topic: The No Build movement
(23:21) - Prospective Topic: Removing old Go habits
(23:47) - Prospective Topic: Union, Sum, or Option types
(25:41) - Prospective Topic: Documentation, Code Readability, & Error Planning
(32:16) - Prospective Topic: If, Else, Switch, & Strong Opinions
(36:55) - Podcast format changes
(38:19) - Things we're planning to keep
(38:58) - Opinions of the unpopular variety
(39:29) - Ian's Unpopular Opinion
(40:56) - Matthew's Unpopular Opinion
(43:08) - Dylan's Unpopular Opinion
(45:31) - Kris' Unpopular Opinion
(46:20) - Bonus: A Popular Opinion
(47:06) - Wrap up
Hosts
Kris Brandow - Host
Ian Wester-Lopshire - Host
Dylan Bourque - Host
Matthew Sanabria - Host
Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram
--------
49:34
Falling Through: The Trailer
We're hard at work preparing the first episode of Fallthrough, but in the meantime we put together a short trailer to tease some of that episode's content. Make sure to subscribe so you'll be notified when the first episode ships. Happy listening!(00:00) - Introduction
(01:09) - Clip 1: The Unsafe & Reflect Packages
(04:03) - Clip 2: Documentation & Errors
(06:04) - Clip 3: Internet Speeds
(07:16) - Outro
Hosts
Kris Brandow - Host
Matthew Sanabria - Host
Dylan Bourque - Host
Ian Wester-Lopshire - Host
Socials:WebsiteBlueskyThreadsX/TwitterLinkedInInstagram