Backend Banter
By Boot.dev
Backend BanterJan 29, 2024
#053 - Go isn’t secure?!? ft. Low Level Learning
In today's episode, we welcome Low Level Learning, a fellow programmer and content creator. With over 500k subscribers and his own course where he teaches low level programming topics, he came on the podcast to talk about what he knows most: C, low level concepts, AI, as well as share some of his own developer experiences and preferences that he garnered over the years.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Low Level Learning’s Twitter/X: https://twitter.com/LowLevelTweets
Low Level Learning's Youtube: https://www.youtube.com/c/lowlevellearning
Low Level Learning's Twitch: https://www.twitch.tv/LowLevelLearning
Low Level Academy: https://lowlevel.academy/
Timestmaps:
00:47 Who is Low Level Learning?
01:34 C is a High Level Language
02:47 Is C lower level than Rust or Zig?
04:33 Front-end vs Back-end, which is harder?
06:34 The Boot.dev stack
07:11 The Low Level Academy stack
07:59 Low Level Academy
09:56 Project-based learning
12:18 sqlc
14:44 How do you debug C?
17:26 Fuzzing Harness vs Unit Testing
22:28 Favorite Feature of C
23:45 If you could change one thing in C, what would it be?
26:53 Where do C programmers work?
29:16 The White House and Garbage Collectors
31:19 What is a side-channel attack?
33:56 Power side-channel attack
35:41 Side-channel attack on boot.dev
37:08 What tooling does Low Level Learning use to write C?
43:59 How do you deal with the lack of a package manager?
48:12 Opinion on statically compiled and dynamic libraries
50:36 Where to find Low Level Learning
#052 - AI Generates 90% of My Code
In today’s episode, we welcome Natalie Pistunovich, host of the Go Time podcast, OpenAI Ambassador and Google Developer Expert for Go. She advises companies on how to make the most of AI and adopt it properly and also teaches the Cloud and Infrastructure course for B.Sc. students at the HTW Berlin.
In this episode, we talk all about AI driven development and how is Go one of the best languages suited for code generation, the future of LLM’s and how can we boost the average developer’s job with AI, creating custom GPT’s, changes in the area of AI Chips, and a lot of other fascinating topics.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm Natalie's Twitter/X: https://twitter.com/nataliepis
Timestamps:
00:47 Who is Low Level Learning?
01:34 C is a High Level Language
02:47 Is C lower level than Rust or Zig?
04:33 Front-end vs Back-end, which is harder?
06:34 The Boot.dev stack
07:11 The Low Level Academy stack
07:59 Low Level Academy
09:56 Project-based learning
12:18 sqlc
14:44 How do you debug C?
17:26 Fuzzing Harness vs Unit Testing
22:28 Favorite Feature of C
23:45 If you could change one thing in C, what would it be?
26:53 Where do C programmers work?
29:16 The White House and Garbage Collectors
31:19 What is a side-channel attack?
33:56 Power side-channel attack
35:41 Side-channel attack on boot.dev
37:08 What tooling does Low Level Learning use to write C?
43:59 How do you deal with the lack of a package manager?
48:12 Opinion on statically compiled and dynamic libraries
50:36 Where to find Low Level Learning
#051 - Should you grind leetcode? ft. NeetCode
In today’s episode, we bring fellow developer and tech content creator NeetCode, to talk about his obstacles and observations on his path in becoming a FAANG engineer, where he shares his struggles and how he started both his tech career and content creation journeys.
Among a variety of other topics, NeetCode shares his advice for anyone that’s open to receiving it, and explains the pros and cons of grinding LeetCode, if it is even worth doing it or not, while also dabbling into why networking is somewhat important and highlights the importance of standing out in today’s job market environment.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm Neetcode's Website: https://neetcode.io/
Neetcode's Youtube: https://www.youtube.com/c/neetcode
Neetcode's Twitter: https://twitter.com/neetcode1
Neetcode's LinkedIn: https://www.linkedin.com/in/navdeep-singh-3aaa14161/
Timestamps:
00:46 Who is NeetCode and a bit of his background
02:24 Why did NeetCode start a YouTube Channel?
03:40 People don't talk about where they mess up at these big companies
04:47 Portray yourself in the best possible light at interviews
07:37 Why LeetCode?
08:44 Why Grinding LeetCode is not the smartest choice
11:31 Why LeetCode is still important if your goal is a FAANG-level company
14:47 What would be the approach for someone with CS-degree knowledge that wants to get into Google in 2024/2025
17:26 How to know if you're having trouble getting or passing interviews?
19:01 You can put projects on a resume, not LeetCode solutions
21:47 Tutorial Hell
24:47 You have to be able to prove your knowledge, just putting it on the resume isn't enough
29:20 You don't have to do content creation to get a developer job
30:29 Social Media works well for networking
33:03 NeetCode philosophy
37:57 Monetizing education content
42:17 How to level up the product experience
44:04 Amazon vs Google's culture
46:24 As usual, managers don't know what they're doing a lot of the time
49:30 Managers at these companies should be technical
51:17 Difference between Engineers and other Tech Roles
55:40 Where to find NeetCode
#050 - Python is Faster than Rust
In today’s episode, we welcome John Crickett, veteran software engineer, having worked at Staff, VP, and C-Suite positions over the years, and now focusing on helping thousands of engineers worldwide, through his coding challenges that have you building real applications, as well as helping with the soft skills through his articles and posts about software development.
Today we cover a LOT of ground where we explain exactly what a Software Architect is, discuss different leadership types, advice to get a software job, remote work, unpopular opinions on programming languages, performance and scale, and a couple other things, so stay tuned because this episode is a true fountain of knowledge.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
John Crickett's Twitter/X: https://twitter.com/johncrickett
John Crickett's Linkedin: https://www.linkedin.com/in/johncrickett/
Coding Challenges: https://codingchallenges.fyi/
Coding Challenges on Substack: https://codingchallenges.substack.com/
Research mentioned at 27:33 : https://www.researchgate.net/publication/232514133_Effect_of_self-differentiation_and_anonymity_in_group_on_deindividuation
More on the topic of Deindividuation: https://en.wikipedia.org/wiki/Deindividuation#Major_empirical_discoveries
Timestamps:
00:12 Who is John Crickett
01:13 What is a Software Architect
03:04 People vs Technical Leadership
03:53 What kind of decisions does a software architect make?
04:43 Is there a lot of "Thought Leadership" involved?
05:23 Do you prefer Technical or People leadership?
07:47 How did John start his coding career?
11:39 Most people don't start working at "sexy" companies
13:58 Juggling off-topic
14:32 What are the Coding Challenges?
19:03 Remote work and downtime
22:56 The wrong culture might spoil the remote environment and people care less about the work
27:05 Anonymity turns people into assholes
29:58 Why did we have a phone call when this could've been an e-mail?
33:42 Doing LeetCode vs Building Projects
36:54 Most of the time you'll be using already existing solutions
40:05 Is there too much abstraction nowadays?
41:56 Using the Command Line is cool again!
43:44 When talking about scale, what matters most is the architecture, not the language or framework
51:30 Why just switching to a "faster" language isn't enough
53:48 Go vs Rust performance comparison
54:44 Learning how to write performant code is more important than the programming language itself
55:25 The importance of benchmarking
58:33 Where to find John
#049 - Is OCaml SaaS Ready?
In today’s episode, we bring Leandro Ostera, a seasoned software engineer, who’s currently leading the OCaml build system team, with the mission of making OCaml SaaS ready! Join us as this episode is packed with a variety of topics, where we mainly focus on the OCaml ecosystem, compare it to other languages and frameworks, but also dabble into very obscure topics such as Idris (hint: it’s a programming language), and explore concepts such as routine blocking, scheduling, types, and other issues.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Check out Riot: https://riot.ml/
Leandro's Twitch: https://www.twitch.tv/leostera
Leandro's Twitter/X: https://twitter.com/leostera
Timestamps:
00:28 Leandro's Background
01:37 How Leandro got involved with OCaml
02:50 What the heck is Idris???
07:03 When Leandro started working with OCaml
11:34 ReasonML
15:48 The Riot Library and OCaml issues
18:00 Type Inference in OCaml
23:10 What allowed Riot to move so fast
24:17 The ecosystem of a language
28:14 Is Riot a Concurrency Library or a Web Framework?
31:01 Goroutines refresher
33:02 How Riot implements the actor-model
38:34 Cooperative Scheduling vs Preemptive Scheduling
41:30 How to fix routine blocking
43:14 What has Leandro and other contributers shipped?
46:25 How does Leandro manage his time to work on all of these projects?
49:45 Where to find Leandro
#048 - Your command line sucks ft. Bashbunni
Today, we're excited to have Bashbunni join us, a software developer and fellow tech content creator currently rocking it as a DevRel at Charm, whose purpose is all about glamming up the CLI experience. In this episode, we cover a lot of ground, from diving into Charm's cool libraries and their real-world applications to chatting about the self-taught programming journey. We also touch on TikTok and addictive social media use, content creation and its intricacies, and share some insights into the world of Golang. Learn back-end development - https://boot.dev Listen on your favorite podcast player: https://www.backendbanter.fm Bashbunni's Twitter: https://twitter.com/sudobunni Bashbunni's Twitch: https://www.twitch.tv/bashbunni Bashbunni's Youtube: https://www.youtube.com/c/bashbunni Charm: https://charm.sh/ Charm's video that Bashbunni mentioned: https://charm.sh/blog/100k/ Timestamps: 00:36 When did Bashbunni start working with Go? 02:10 School during COVID and education nowadays 04:23 Is self-taught still a viable way to learn programming? 08:50 Discipline can be learned 10:04 Why it is much harder to focus nowadays? 11:08 TikTok and Addictive Social Media Use 14:31 What kind of media does BashBunni consume, if not short-form content 18:14 Is creating content for Charm a bit part of the job? 21:05 On Tech content creators being technical 24:41 Quality vs Quantity 25:31 What is Charm? 29:09 Why Golang is the best language for CLI Applications 32:52 US vs Canadian Accents 34:05 Melt - One of Charm's Libraries 36:24 Soft serve - Self hostable git server 37:39 VHS - Terminal GIFs as code 39:10 How many people are behind Charm? 39:17 How does Charm make money? 42:40 GUI's are bloated, Terminal is the GOAT 45:56 Bashbunni's beef with JavaScript 48:47 Where to find Bashbunni
#047 - From Nursing to Programming ft. Trash Puppy
In this episode, we host Trash Puppy, with her amazing story of how she went from Nursing to becoming a Software Engineer. Today, we talk about her story, why she chose Golang, her exciting personal projects and her experiences and advice as a self-taught developer. As Trash Puppy is accepting job offers at the moment, we also dove into the current job market and job hunting process, as it definitely isn't an easy one to navigate these days, while also touching up on her thoughts of the threats of AI. Learn back-end development - https://boot.dev Listen on your favorite podcast player: https://www.backendbanter.fm Trash Puppy's Twitter: https://twitter.com/TrshPuppy Trash Puppy's Youtube: https://www.youtube.com/@trshpuppy Trash Puppy's Twitch: https://www.twitch.tv/trshpuppy Trash Puppy's Github: https://github.com/TrshPuppy Trash Puppy's LinkedIn: https://www.linkedin.com/in/trshpuppy/ Timestamps: 00:31 How Trash Puppy went from a Nurse to a Software Engineer 05:06 Lane shares how his wife went from an X-Ray technician to Software Dev 07:00 When did Trash Puppy start learning to code? 08:24 Trash Puppy pivoted to Golang? 09:29 Was there anything else about the industry that motivated Trash Puppy to switch to WebDev? 10:38 NetPuppy 13:12 Coding in Cyber Security 18:10 Do you want to hire Trash Puppy? 18:27 Current Job Market and Job Hunting 22:51 You have a better chance applying to local jobs 25:25 Lack of experience in the field when searching for a job 29:26 Outlook on AI 30:15 Impact of not having a CS Degree 33:11 Building projects or studying up on foundations? 37:19 The learning happens during the struggle 41:47 What has been the hardest thing about learning Go so far? 45:27 What do you like the most about Go? 47:03 What's your least favorite part about Go? 48:20 Installing Go modules vs GOPATH 50:31 Where to find Trash Puppy
#046 - How I Spent $100,000/mo on CI/CD
Today, we're thrilled to have Tommy Graves, co-founder of RWX, a company focusing on building tools that optimize build and test performance, reliability, and developer experience. In this episode, we're delving deep into the realm of CI/CD (Continuous Integration and Continuous Deployment), with a special focus on Mint - their latest CI platform. We'll be exploring its unique features, how it differs from its competitors, caching, security, cost-efficiency in production pipelines. Apart from that, we'll also discuss GitHub Actions along with it's biggest flaws and finally demystifying CI/CD, as it is not the big monster a lot of developers perceive it to be. Learn back-end development - https://boot.dev Listen on your favorite podcast player: https://www.backendbanter.fm Mint: https://www.rwx.com/mint Timestamps: 00:54 Who is Tommy Graves 05:14 What is Continuous Integration? 06:57 What is Mint trying to solve, that isn't solved by other CI/CD platforms 09:57 Better Semantic Output on a CI/CD platform 14:20 What's the benefit to the structure of semantic logging, apart from visualization 15:23 CI/CD course on Boot.dev 17:59 Does Mint make it cheaper for companies that have high CI/CD expenses? 19:12 Why don't other companies do caching the way Mint does? 25:49 There are security implications of using the same platform for both CI and CD 30:42 How smaller teams could benefit from Mint 33:15 Verifying changes to the deployment workflow with GitHub Actions and Mint 36:49 Is GitHub Actions dominating the space or is there still competition? 39:04 One of the biggest frustrations with GitHub Actions 42:03 Does Mint relate to the Unix philosophy? 48:07 How does configuring the CI/CD tools drive the philosophy of Mint 50:36 Just understand CI/CD, you won't need those courses dedicated to CI/CD platforms 53:45 CI/CD is not as esoteric as it sounds 58:48 Where to find Mint
#045 - Whiskey, Web, and Wagners
Today, we bring a special "Whiskey, Web and Whatnot" edition to our podcast, where we welcome Travis Wagner and Robbie The Wagner, to talk about controversial takes regarding tech CEOs, their experiences in the field, the impact of AI and other personal preferences towards technologies Learn back-end development - https://boot.dev Listen on your favorite podcast player: https://www.backendbanter.fm
Whiskey, Web and Whatnot podcast: https://whiskey.fm/Robbie's Twitter: https://twitter.com/RobbieTheWagnerTravis's Twitch: https://www.twitch.tv/techsavvytravvy Travis's Twitter: https://twitter.com/techsavvytravvy Timestamps: 01:22 Whiskey, Web and Whatnot 01:52 Elon Musk or Mark Zuckerberg, which Tech CEO of 2024 is your favorite? 03:28 Robbie's Background 04:42 Travis's background 06:23 Big company or small company? 10:07 Tenures, incentives and current market 12:33 Who would you pick for your team, Steve Ballmer or Sundar Pichai 13:41 AWS or GCP? 16:25 DevOps is not a real job 20:16 Be a DevRel or a Scrum Master? 23:38 What's the difference between DevRel and Dev Advocate? 24:56 AI or VR, which is more impactful on a developer's day-to-day? 31:53 Which Big Tech Company sucks the least? 36:21 Bigger Salary but Less Equity or Less Salary but More Equity? 41:19 Is Blockchain Gone Yet? 50:52 CS Degree or Being an Open Source Maintainer on a successful project? 55:10 Remote or On-site? 01:03:19 Where to find Robbie 01:03:43 Where to find Travis
#044 - Managers should know how to code ft. Thorsten Ball
In today's episode, we bring Thorsten Ball, author of "Writing An Interpreter In Go" and "Writing A Compiler In Go". In this talk, we discuss the different clashes and responsibilities between Product and Engineering teams, reignite the topic of working with technical managers, explain why cookie banners are dumb, and on a more interpersonal note, discuss how important coolness is in education, explain why a lot of the times, highly talented people just don't know how to work and also dabble into the ideas of fulfillment, responsibility and reliability.
Thorsten's Twitter: https://twitter.com/thorstenball
Register Spill: https://registerspill.thorstenball.com/
Thorsten's Books: https://thorstenball.com/books/
- (01:08) - The idea behind Register Spill
- (02:20) - It's a Negotiation: When Product and Engineering meet
- (05:58) - Engineering vs Product
- (07:31) - Thorsten's view of the Product team
- (09:36) - Thorsten's view of the Engineering team
- (11:06) - Engineers should inform product before building something
- (14:57) - Real-life example from Thorsten
- (18:04) - Measuring completixy in T-Shirt sizes and Time Estimates
- (22:46) - Set a cap on time dedicated to a task
- (23:50) - Do we need more technical leadership?
- (27:58) - Working with Engineering Managers that are technical is a bliss
- (35:19) - Not Every Company Is For Everybody
- (41:14) - Cookie Banners are Dumb
- (50:13) - Educators underestimate how important coolness is
- (56:19) - There are a lot of highly capable people that just don't know how to work
- (01:02:20) - Getting fulfillment just from the effort
- (01:04:23) - Be reliable
- (01:06:34) - Where to find Thorsten
#043 - Nuxt.js is better than Next.js ft. Daniel Roe
In this episode, we bring Daniel Roe, the Lead Maintainer of Nuxt.js, an open source framework that makes web development intuitive and powerful. Today, he shares his journey into the framework and sheds some light on intriguing questions surrounding its development and usage. Today's talk ranges from the origins of Nuxt to its unique features and practical tips for developers, deliberate naming, comparison with Next.js and technical and detailed discussion regarding performance optimization and project structuring.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Daniel's Twitter: https://x.com/danielcroe
Daniel's Website: https://roe.dev/
Nuxt Framework: https://nuxt.com
- (00:14) - How did Daniel Roe join Nuxt?
- (02:53) - Elk, Moose and Wilderness
- (06:07) - Was it named Nuxt intentionally to confuse people?
- (08:32) - Next.js vendor lock-in criticism and does Nuxt have any similar issues
- (11:31) - Boot.dev moved from a Vue 3 SPA to Nuxt
- (14:19) - Auto-importing by default?
- (20:01) - Using longer variable names because of global namespace
- (21:58) - Explaining the default Nuxt payload behavior
- (26:59) - Default prefetching
- (30:17) - What are the most common use cases for Nuxt apps
- (32:32) - Who has control in your project?
- (33:45) - Enabling JavaScript or not?
- (37:25) - Updating head tags in Nuxt
- (39:09) - New feature that improves script handling in Nuxt
- (41:01) - What do you prioritize? Interactivity or Scripts?
- (42:06) - Google Tag Manager
- (46:07) - What's Daniel's favorite Nuxt feature?
- (47:11) - Types are amazing!
- (49:37) - How did the Idea of Boot.dev came to be?
- (51:24) - Gamification of coding
- (53:46) - Theory is picked up from practice
- (56:05) - What's one thing you'd instantly change about Nuxt if you could
- (59:04) - Separation of what goes on in the client vs the server in the same file
- (01:04:44) - Where to find Daniel
#042 - Rust is the WORST language to learn first ft. Teej DeVries
In today's episode, we bring back Teej DeVries, the first guest ever on our podcast! Today we are discussing Teej's new course on Boot.dev on Memory Management. In this talk, we discuss the importance of memory, why Go is a C-programmer minded language, garbage collectors, among other technical topics. We also talk about why understanding the fundamentals in crucial in helping you increase your learning ability, how different it is hiring juniors and seniors and why being curious gives you the advantage over everyone else.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Teej's Twitter: https://twitter.com/teej_dv
Teej's Channel: https://www.youtube.com/c/tjdevries
- (00:00) - Introduction
- (00:57) - Teej will have a course on Boot.dev!
- (01:35) - Why Memory Management is so important
- (05:17) - Go is a C-programmer minded language
- (07:00) - 25% off on boot.dev!
- (07:22) - How far in the curriculum will Teej's course be?
- (09:13) - Should you learn Rust or C first?
- (12:43) - Dropping out of college
- (13:49) - You should know WHY you're doing something
- (15:29) - Self motivated learning
- (18:52) - Internal Boot.dev tooling for this course
- (21:59) - OCamls' garbage collector
- (23:55) - Functional language, performance and immutability constraints
- (30:24) - Roc programming language
- (32:42) - Wasm (WebAssembly) vs Machine Code
- (36:07) - C's Standard Library vs Go's Standard Library
- (37:01) - Installing dependencies
- (41:09) - C as an educational tool
- (43:27) - You have to think when using C
- (45:42) - Enterprise machines are weaker compared to local machines
- (47:43) - Why this course is before the Job Search chapter
- (49:44) - Being curious gives you the advantage
- (51:16) - Every program uses memory, so we should have at least some level of understanding about it
- (54:28) - Just being able to speak like an engineer goes a long way
- (57:14) - There are still a ton of jobs that involve embedded systems, not just WebDev
- (01:00:13) - Be eager to learn
- (01:01:51) - Hiring Seniors vs Hiring Juniors
- (01:02:50) - You learn better if you understand fundamentals
- (01:04:10) - Analogy to Dota 2
- (01:08:54) - Where to find Teej
#041 - From Roblox to software founder ft. Lewis Menelaws
In this episode, Lane chats with Lewis Menelaws, a Full-Stack developer and entrepreneur. Today he takes us through his coding journey and insights as a developer influencer. From his early days coding Roblox games, tech stacks, and the challenges of freelancing, to his shift into content creation and thoughts on the current programming meta.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Lewis's Twitter: https://twitter.com/LewisMenelaws
Lewis's Channel: https://www.youtube.com/c/CodingwithLewis
- (02:01) - Intro
- (02:18) - We need to talk about developer influencers
- (02:53) - When did Lewis first learn to code
- (05:17) - Java and PHP
- (06:17) - Shift from Python2 to Python3
- (07:02) - Why Python
- (07:34) - Dynamic Typing Isn't Enjoyable
- (09:09) - Dynamic Languages are just a tool
- (09:47) - When did Lewis Start a WebDev Agency
- (12:30) - Pivotal moment at the agency
- (15:50) - Website vs WebApp
- (21:53) - Tech stacks
- (24:54) - Not so Open Source
- (27:09) - Opinion about TypeScript
- (29:13) - Understanding topics at a deeper level
- (33:23) - 1 layer deeper than where i do most of my work
- (35:45) - Be the glue
- (38:28) - Dependencies as a cost
- (39:57) - What motivated Lewis to start his own agency
- (40:52) - Freelancing is playing on hard mode
- (43:14) - Transition to content creation
- (46:42) - Confidence in your technical abilities
- (49:12) - We need to talk about developer Influencers
- (56:19) - Catering towards the algorithm
- (56:56) - Take on the current programming meta
- (58:55) - Future of Coding with Lewis channel
- (01:01:55) - Where to find lewis
- (00:00) - Chapter 28
#040 - The man who wrote the book on DynamoDB ft. Alex DeBrie
In this episode, Lane talks to Alex DeBrie, author of the DynamoDB book. Today's talk covers various aspects such as DynamoDB's comparison with Amazon S3, its benefits, use cases, constraints, and cost considerations, while also covering other AWS and Google Cloud services. Alex also shares his insights into his journey of writing the book on DynamoDB and touches on topics like access patterns, secondary indexes, and billing modes. Alex also shares his professional experiences, including consulting vs freelancing, thoughts of entrepreneurial aspirations, and gives helpful advice for those that are considering pursuing a similar career.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Alex's Twitter: https://twitter.com/alexbdebrie
Alex's Website: https://www.alexdebrie.com
- (00:00) - Introduction
- (01:27) - Who is Alex DeBrie?
- (02:39) - What is DynamoDB?
- (04:15) - EC2 instance
- (05:50) - Amazon S3
- (06:25) - DynamoDB is more like S3
- (07:40) - Difference between DynamoDB and S3
- (08:20) - What do we mean when we say NoSQL
- (10:08) - BigQuery and BigTable
- (12:31) - Some of DynamoDB's benefits
- (13:15) - When to use DynamoDB
- (15:58) - Constraint of number of connections
- (18:06) - DynamoDB is a multi-tenant service
- (19:21) - How does DynamoDB shake up against something like MongoDB
- (22:22) - DynamoDB is opinionated, but it provides good results consistently
- (25:54) - You can only do certain things in DynamoDB, but they are guaranteed to be fast
- (26:42) - Relational Databases - Theory vs Practicality
- (31:08) - How Alex came to write a book about DynamoDB
- (32:15) - What happens when SQL runs, depends heavily on the system underneath
- (33:57) - DynamoDB doesn't have a query planner
- (36:08) - Access patterns
- (38:04) - Use case for Secondary Indexes
- (39:43) - Costs of DynamoDB
- (40:45) - Billing modes for DynamoDB
- (45:26) - Provisioning and planning for expenses
- (48:40) - Super Mario 64 Hack
- (49:34) - What Was Alex's Last Full Time Job
- (51:02) - Consulting vs Freelancing
- (52:23) - Does Alex see himself going back to a Full Time Job?
- (53:07) - Does Alex have any entrepreneurial urges?
- (54:01) - What you should think about before jumping into freelance/consulting
- (56:01) - Authority in the consulting world
- (57:11) - Where to find Alex
#039 - Get promoted by being lazy ft. Dax Raad
In this episode, Lane talks to Dax Raad, a well rounded engineer that is currently a developer for SST, a framework that helps people build Full-Stack applications on AWS with ease. Today, they talk about personal opinions on industry practices, scale, financial decisions, infrastructure mistakes, reflections on long-term company commitments and many more!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Dax's Twitter: https://twitter.com/thdxr
- (00:00) - Introduction
- (00:51) - Dax's Tweets and Personal Branding
- (01:31) - You have to learn to be yourself
- (02:56) - Intrusive thoughts
- (03:33) - When did Dax become active in the Tech Twitter scene
- (06:30) - What was the Zero Interest Rate Phenomenon (ZIRP) in the tech scene
- (09:33) - Should people choose fun early in their career?
- (12:22) - Lane's take on the expertise when abstracting
- (14:15) - SST's Philosophy in regards to abstractions
- (16:35) - Merging roles
- (19:28) - People don't want to care about the cloud
- (21:31) - Less stressed about work = better results
- (24:10) - Managers vs leaders
- (25:20) - Dax shares stories about managing vs leading
- (29:36) - Did Dax ever have users?
- (31:24) - Most Startups Fail
- (32:09) - Dax's reason for joining startups
- (33:25) - Staying at a company for decades
- (35:53) - Main downside of staying at an established company for a long time
- (36:34) - The World changes, so don't look at how already established companies do things
- (37:57) - Scale has a different meaning for different companies
- (40:07) - So much goes away when you have less people at the company
- (41:51) - Sometimes not saving money is a better option
- (43:35) - Moving off Stripe
- (46:54) - Rolling your own payment processor
- (49:05) - Which debate on Tech Twitter annoys Dax the most
- (50:52) - Stored Procedure debate
- (53:31) - What's a BIG mistake in the infrastructure space?
- (57:31) - Kubernetes
- (01:02:58) - What Dax misses from Google Cloud
- (01:03:19) - Is Sundar Pichai a bad CEO?
- (01:04:51) - Where to find Dax
#038 - I Got Caught Rolling my Own Auth... feat. Dev Agrawal
Lane chats with Dev Agrawal— content creator & Developer Advocate at Clerk! Tune in as they discuss DevRel, authentication vs. authorization, JWT, and so much more in this episode.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Dev's Twitter: https://twitter.com/devagrawal09
Dev's Youtube: https://www.youtube.com/@devagr
- (00:00) - Introduction
- (00:50) - Is Dev's name really Dev?
- (02:10) - What is it about writing code that scares Dev?
- (02:50) - JavaScript is one of the worst with dependencies
- (03:09) - Dev's ideal world
- (03:20) - .NET and Blazor
- (03:59) - Blazor explained
- (04:36) - WASM on the Front-end
- (05:04) - Is Blazor unique to C# ?
- (06:11) - What is a DevRel?
- (08:07) - Lane's experience
- (09:13) - You shouldn't roll your own Auth
- (11:59) - Undifferentiated work
- (13:56) - Authentication vs Authorization
- (16:19) - Regarding Auth, which is a bigger pain point for companies
- (16:48) - Pain points of Authorization
- (18:38) - Pain Points of Authentication
- (20:23) - Lane's perspective
- (22:29) - Using a third party for authorization
- (24:27) - Is Clerk used for both Authentication and Authorization?
- (26:16) - JWT explained
- (28:39) - Where is the users' data stored?
- (29:27) - Features are developed as needed
- (29:52) - Auth coupling to the rest of the system
- (30:16) - Webhooks listeners to access user session data
- (31:03) - Postgres foreign-data wrapper
- (32:09) - Microservices sharing databases
- (34:29) - CQRS
- (37:37) - Average size of a company that uses Clerk
- (40:50) - What are the most used ways to sign-in
- (42:04) - Stances on passwords
- (46:56) - OAuth
- (50:33) - Why Lane dropped Sign-in with Twitter/X
- (51:14) - What do popular services usually use?
- (52:24) - Sign-in with Google
- (57:39) - Unpopular opinion on Auth related web architecture
- (01:00:17) - 2 ways of doing authentication
- (01:05:59) - Where to find Dev
#037 - Caddy Chronicles with Matt Holt
Lane chats with Matt Holt-- a renowned figure in backend engineering and the creator of Caddy, a leading platform for serving sites and apps written in Go. In this episode, they discuss the origins of Caddy, its unique features, and Matt's journey in Go programming and web development.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.fm
Matt Holt Twitter: https://x.com/mholt6?s=20
Caddy Web Server Twitter: https://x.com/caddyserver?s=20
#036 - BadCop's Bash Breakdown
Lane chats with BadCop-- a senior Bash engineer, Twitch streamer and the mastermind behind their online presence. From the origins of 'BadCop' to the recent emergence of 'BashCop,' they explore scripting languages, focusing on Bash, shells, terminals and more. Follow the conversation in this enlightening episode, unraveling the intricacies of online identity and the technical landscape of Unix shells!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
BadCop Twitter: twitter.com/badcop_
BadCop Twitch: twitch.tv/badcop_
#035 - Discussing Roc and functional systems with Richard Fieldman
Lane chats with Richard Feldman, creator of the Roc programming language, about why he decided to create it. They discuss object oriented programming and whether it did irreparable damage to the industry - or not. Follow along as they talk about all of that and functional programming too!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Richard Feldmans Twitter: twitter.com/rtfeldman
Roc Programming Language: https://www.roc-lang.org/
Software Unscripted can be found on any podcast platform!
#034 - Brain Oriented Programming with Philip Winston
Lane chats with Philip Winston, a software engineer with a storied history who recently published an article titled "Brain Oriented Programming". Tune in as Lane and Philip talk about the pros and cons of object oriented programming and... guitar hero? Don't miss this episode of Backend Banter!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Philip Winston's Twitter: https://twitter.com/pbwinston
Brain Oriented Programming Article: https://tobeva.com/articles/brain-oriented-programming/
#033 - WebI is not a package manager feat. AJ O'neal
Lane chats with AJ O'Neal about giving up on Rust, the challenges of using brew from a permissions standpoint, and how, exactly, WebI is not a package manager. Tune in as they discuss why AJ developed WebI, and why you should be using it as well.
AJ O'Neal's Twitter: https://twitter.com/coolaj86
WebI: https://webinstall.dev/
#032 - React Server Components... in Go? With JLarky
In this episode of Backend Banter, Lane chats with JLarky about React server components... in GO. Why would anyone want to do that? Find out here! They also discuss how JLarky came up with the idea to use React in the backend, what other people think about the practice, and how he uses it to streamline his process. All this is intermixed with discussing the differences between frontend and backend, and how knowing how both work can make either job easier!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
JLarky's Twitter: twitter.com/JLarky
#031 - Trying (Practically) Every Functional Language and Landing on OCaml with Sabine
Lane chats with Sabine, one of the primary maintainers of OCaml.org, about how she built web apps in Django on the side, only to land her first programming job working close to the OCaml ecosystem, and quickly become enveloped in the project. Her backstory about skipping grades, dropping out of school, and teaching herself various web languages is fascinating, give it a listen.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Sabine's Twitter: https://twitter.com/sabine_s_
OCaml Homepage: https://ocaml.org/
#030 - The Future of Backend JavaScript with a Node.js Maintainer: Matteo Collina
Matteo Collina is a member of the Node.js technical steering committee and has one of the most impressive developer resumes we've ever seen. His 500 NPM modules have over 17 billion downloads. Today, he sits down with Lane to discuss Node, the future of backend web development, and Platformatic, his new startup.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Matteo's Twitter: https://twitter.com/matteocollina
#029 - Write Laravel, not PHP (feat. Aaron Francis)
Lane and Aaron Francis sit down to talk about Laravel and PHP, and why everyone who uses them tends to make a lot of money. There seems to be something to avoiding the technical hype cycle and just shipping web apps that people want to use.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Aaron Francis' Twitter: https://twitter.com/aarondfrancis
Aaron Francis' YouTube: https://www.youtube.com/@UCbixkBITOOa2XNviJLxMh2w
Aaron Francis' SQL Course: https://planetscale.com/learn/courses/mysql-for-developers/introduction/course-introduction
Learn to make Screencasts: Screencasting.com
#028 - Learning Go: A Discussion of the Language with the Author, Jon Bodner
#027 - 2023 vs 2001 Tech Recessions and Distributed Systems with Russ Ross
Lane chats with his distributed systems professor from when he was a computer science undergraduate, Dr. Russ Ross. They talk about the state of the hiring market in 2023, LLVM, and of course, distributed systems!
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Russ Ross's Twitter: https://twitter.com/_russross?lang=en
Like & subscribe for the algo if you enjoyed the video!
#026 - Why PubSub Architectures are Still Cool with Byron Ruth and David Gee
Byron Ruth and David Gee from the NATS and the Synadia team join Lane today to chat about distributed systems, and more specifically, PubSub architectures. If you've ever wondered about the difference between a distributed monolith and a truly distributed system, this episode is for you. We break down NATS and how it relates to other systems like RabbitMQ, Kafka, and more.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Byron's Twitter: https://twitter.com/thedevel
David's Twitter: https://twitter.com/davedotdev
NATS: NATS.io
Nats By Example: https://natsbyexample.com/
Synadia: https://www.synadia.com
Synadia Newsletter: https://www.synadia.com/newsletter
Byron's website: byronruth.com
NATSFM Podcast: Nats.FM
Like & subscribe for the algo if you enjoyed the video!
#025 - Rust Developer Admits to Enjoying Dynamic Types with Sean Walker
Lane sits down with Sean Walker to talk about Ruby on Rails, dynamic typing, and even a bit of Rust. Sean's been writing Ruby on Rails for years, and has some opinions on DHH's recent articles.
Sean Walker's Twitter: https://twitter.com/swlkr
Sean Walker's Twitch: https://www.twitch.tv/swlkr
#024 - Behind HTMX: Carson Gross on the re-Rise of Hypermedia
This is a podcast about backend development, so I couldn't miss the chance to chat with Carson Cross, the creator of HTMX and author of the book Hypermedia Systems. HTMX is all about giving backend developers the power to build modern webapps, without needing to write a line of frontend JavaScript. In a way, it's a return to the way the web used to work pre-React.
Find more about HTMX below!
https://htmx.org/
https://hypermedia.systems/
https://bigsky.software/
https://twitter.com/htmx_org
#023 - Has Web Development Regressed? A Conversation with Wes Bos
Has web development gone full circle? Should we really just be writing PHP monoliths? Maybe all go back to WordPress? Wes and Lane break down how web development has changed over the years, and where its heading next.
Wes Twitter: https://twitter.com/wesbos
Wes Insta: https://www.instagram.com/wesbos/
Wes YouTube: https://www.youtube.com/@WesBos
Wes site: https://wesbos.com/
Wes Linkedin: https://www.linkedin.com/in/wesbos/
#022 - Job Hunting as a Self-Taught Programmer with Don the Developer
If you're nervous about searching for programming jobs this episode is for you. Lane sits down with Don the Developer to chat about everything from resumes and cover letters to how to present yourself in an interview.
DonTheDeveloper's YouTube: https://www.youtube.com/c/donthedeveloper
#021 - TypeScript vs Elixir: An FP Showdown with Theo Browne
Theo Browne is a notorious tech YouTuber and streamer, CEO of Ping.gg, TypeScript advocate and creator of the t3 stack. In this episode Theo sheds some light on his background in Elixir, a functional programming language that runs on the Erlang VM, and why he made the switch to TypeScript while working at Twitch.
#020 - Running SQLite on the Edge with Pekka Enberg
Pekka is the CTO of TursoDB, a cloud database product that helps developers run SQLite on the edge. Lane and Pekka talk about all the tradeoffs involved with SQLite, as well as the tradeoffs of putting your database geographically near your backend servers.
Pekka's Twitter: https://twitter.com/penberg
Turso: https://turso.tech/
LibSQL: https://github.com/libsql/libsql
Backend Banter | Official Trailer
The near-cinematic trailer for the backend banter podcast. Featuring The Primeagen, Melkey, TJ Devries, Miriah Peterson, Bill Kennedy, and Brian Morrison from PlanetScale. Hope you like the pod!
#019 - Full-time vs Freelancing vs Starting a Company with Rob Walling
Lane chats with Rob Walling. Rob is the author of several books, including the SaaS playbook and Start Small Stay Small. He founded Drip, TinySeed and even runs MicroConf, the largest conference for bootstrapped and mostly bootstrapped founders. In this episode they chat about how new backend developers can use their skills in a full time job, but how those skills are also unbelievably valuable when it comes to starting companies.
Rob Walling's Twitter: https://twitter.com/robwalling
Rob's Book, "The Saas Playbook": https://saasplaybook.com/
TinySeed: https://tinyseed.com/
Rob's Podcast: https://www.startupsfortherestofus.com/
#018 - Data Engineering for Gophers with Miriah Peterson
Miriah Peterson chats with Lane about how great Go tends to be for not only backend application development, but also data engineering roles. Miriah hosts Golang meetups and conferences alongside her full time job, so they also discuss how in person networking can help your new career as a programmer.
#017 - Writing Go at Multi-Million Dollar Companies with Mat Ryer
Lane chats with Mat Ryer, a host of the amazing GoTime.fm podcasts sits down with Lane to chat about his experience as a Go developer. Among other things, they chat about how Mat used Go to successfully build and sell a multi-million dollar company.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Mat Ryer's Twitter: https://twitter.com/matryer
GoTimeFM: https://changelog.com/gotime
Mat on YouTube: https://www.youtube.com/@matryer7143
Blue Monday: https://github.com/microcosm-cc/bluemonday
Big Tent Pod: https://bigtent.fm/
#016 - Is Python even good? A debate with Dr. Michael Green
Lane chats with Michael Green about Python programming on the backend side of the web stack. They debate Python's efficacy in large production projects. It gets spicy, bring a glass of milk.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Michael's Twitter: https://twitter.com/mgdotdev
Michael's site: https://michaelgreen.dev/
ZeroToPy Discount: https://leanpub.com/zero-to-py/c/bootdotdev
Like & subscribe for the algo if you enjoyed the video!
#015 - Forking Rust into Crablang with Travis Wagner
Lane chats with Travis Wagner, aka TechSavvyTravvy, the man behind the "crablang" fork of Rust. They talk about the issues with the Rust foundation that caused the fork, how the fork works from a technical perspective and other open-source shenanigans.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Travis's Twitter: https://twitter.com/techsavvytravvy
Travis's Twitch: https://www.twitch.tv/techsavvytravvy
Crablang: https://github.com/crablang/crab
Like & subscribe for the algo if you enjoyed the video!
#014 - Building the Best Tools and Tests with The Primeagen
Lane chats with The Primeagen about unit tests, how to build good cli tooling, Golang, Rust, and a ton of stuff about Prime's history and how he got into coding and came to work at Netflix.
Prime's Twitter: https://twitter.com/ThePrimeagen
Prime's Twitch: https://www.twitch.tv/theprimeagen
Prime origin: https://www.youtube.com/watch?v=JjHFubUPLV0
Article on Mocks: https://blog.boot.dev/clean-code/writing-good-unit-tests-dont-mock-database-connections/
References:
https://world.hey.com/dhh/programming-types-and-mindsets-5b8490bc
#013 - Landing your First Coding Job with James Q Quick
Lane chats with James about all his best tips for landing your first ever job as a developer.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
James on YouTube: https://www.youtube.com/c/jamesqquick
James on Twitter: https://twitter.com/jamesqquick
James Discord: https://t.co/LUOsSsixq2
Like & subscribe for the algo if you enjoyed the video!
#012 - Becoming a Netflix-Level Engineer with Trash Dev
Lane chats with Trash, a Netflix engineer and code streamer on Twitch. They break down Trash's story: how he got into coding, from being a mainframe developer all the way through his days as a backend engineer to a frontend developer at Netflix.
Learn back-end development - https://boot.dev
Trash Twitter: https://twitter.com/trashh_dev
Trash Twitch: https://www.twitch.tv/trash_dev
Trash YouTube: https://www.youtube.com/@trash_dev
#011 - Writing Go and doin' DevOps with Jonathan Hall
Lane chats with Jonathan Hall, a long time Go developer, host of the cup o' go podcast, and prolific DevOps guy. They discuss what DevOps is, what it isn't and why Go is such a good option for backend and devops work.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Jonathan on Linkedin: https://www.linkedin.com/in/jhallio/
Cup o Go Podcast: https://cupogo.dev/
Boldly Go YouTube: https://www.youtube.com/@boldlygo
#010 - Distributed Web Apps with Kyle Simpson
Lane chats with Kyle Simpson, principal software engineer at Socket Supply. They talk about a new wrapper around mobile apps that allows developers to distribute the backend data required for their apps to run directly on various client's devices.
Learn back-end development - https://boot.dev
Listen on your favorite podcast player: https://www.backendbanter.com
Kyle on Linkedin: https://www.linkedin.com/in/getify/
Socket Supply: https://socketsupply.co/
#009 - Scaling MySQL with Brian Morrison from PlanetScale
Lane and Brian talk about scaling databases, particularly MySQL, Vitess, and the PlanetScale platform. Brian is a developer educator at PlanetScale, and he breaks down how you can think about scaling databases for your own projects, or for the companies you work for. PlanetScale is used for cloud MySQL deployments in the new CI/CD course on Boot.dev that just dropped!
Brian on Twitter: https://twitter.com/brianmmdev
PlanetScale: https://planetscale.com/
#008 - Accelerating Your Coding Career with Charles Max Wood
Lane and Charles talk about how you can get ahead in your coding career, and move up more quickly from junior to senior developer. Charles is the founder of topenddevs.com and hosts myriad tech podcasts, and has spoken prolifically about how to level up your career as a developer.
Charles on Twitter: https://twitter.com/cmaxw
Topenddevs: https://topenddevs.com/
#007 - Switching from .NET to Go with Bill Kennedy
Bill Kennedy joins Lane on this episode of Backend Banter to discuss his origin story: why he left .NET and the Microsoft stack years ago to become a full-time Go developer.
Learn back-end development - https://boot.dev
Listen on your podcast player - https://www.backendbanter.fm
Bill Kennedy on Twitter: https://twitter.com/goinggodotnet
Ardan Labs: https://www.ardanlabs.com/
#006 - Building a FAANG Career with Melkey (Senior Go Dev @ Twitch)
I chat with Melkey, a senior Go developer at Twitch about how he would reverse engineer his successful backend software engineering career at FAANG if he were starting over.
Learn back-end development - https://boot.dev
Melkey Twitter: https://twitter.com/MelkeyDev
Melkey Twitch: https://www.twitch.tv/melkey
#005 - Scaling Databases Every Which Way with Glauber Costa
Lane chats with Glauber Costa, a founder of Turso DB, maintainer of the Linux kernel, and ex-Scylla DB developer. If you're curious how databases scale up to trillions of records, or how they scale out to geographic edge platforms, this conversation is for you.
Learn back-end development - https://boot.dev
Glauber on Twitter: https://twitter.com/glcst
Turso DB: https://turso.tech/
Leave a review and subscribe in your podcast player if you enjoyed the episode!