show-image

Working Code

Water-cooler conversation about web-development. We want to entertain, inspire, and motivate you -- or to put it another way, make your coding career more enjoyable.

Episodes

045B: The Aftershow
Show Details24min 43s
045: Join Our Discord
Show Details10min 57s
044: Facebook's No Good Very Bad Week
Show Details55min 5s
043: Relay Race Programming
Show Details50min 8s
042: Potluck #3
Show Details51min 53s
041: The Third Age of JavaScript, with Shawn @Swyx Wang
Show Details1hr 9min
040: Automaticity Is a Weird Word
Show Details41min 59s
039: Ben's Future at InVision
Show Details51min 54s
038: Holding Developers Accountable
Show Details57min 54s
037: Brian Klaas Talks Cloud
Show Details1hr 17min
036: Blogs and Digital Gardens
Show Details58min 32s
035: Being a Swamp Guide
Show Details47min 39s
034: Some of My Best Friends Are React Developers!
Show Details44min 18s
033: Software Patents
Show Details42min 35s
032: What Comes After Senior Developer?
Show Details49min 52s
031: To The Cloud! But Why?
Show Details1hr 1min
030: Carol's Consult Catch-Up Conversation
Show Details48min 34s
029: Potluck #2
Show Details46min 8s
028: Buy vs. DIY
Show Details47min 30s
027: Giving Technical Presentations
Show Details34min 15s
026: Passwords
Show Details59min 6s
025: Breaking Up With Your Stack
Show Details1hr 1min
024: The Archetype of an Effective Developer
Show Details1hr 25min
023: Book Club #1 Clean Code by "Uncle Bob" Martin (pt2)
Show Details1hr 6min
022: Book Club #1 Clean Code by "Uncle Bob" Martin (pt1)
Show Details1hr 11min
021: Listener Questions #2
Show Details1hr 21min
020: Carol Needs a Consult
Show Details58min 15s
019: Makefiles
Show Details1hr 15min
018: Feature Flags (Finally!)
Show Details1hr 25min
017: Premature Optimization
Show Details53min 47s
016: Interviewing
Show Details1hr 16min
015: Potluck #1
Show Details1hr 22min
014: Zen and the Art of Pull Requests
Show Details1hr 12min
013: Do What You Love And You'll Never Work A Day In Your Life
Show Details46min 51s
012: Idiomatic Code
Show Details42min 3s
011: Listener Questions #1
Show Details1hr 10min
010: Scaling
Show Details1hr 9min
009: Testing
Hide Details58min 13s

There are very few people in the programming world who will argue against the idea of testing software. But, when it comes to the mechanisms though which code is tested, the conversation starts to get interesting. There are those who feel that TDD - Test Driven Development - is "the way"; and, that any divergence from TDD is not only laziness but is, in fact, borderline malfeasance. At the other end of the spectrum are the people who perform all their testing manually; often, relying on QA (Quality Assurance) teams and smoke tests to find regressions before each deployment.


Most people sit somewhere in the middle of these extremes. This week, the crew talks about their own views and experience with testing; and, how they currently implement testing at work. Ben swings heavily towards the manual testing end of the spectrum; Adam and Carol swing heavily towards the automated end of the spectrum; and Tim, who often feels very hypocritical, sits somewhere in the middle.


Triumphs & Fails

  • Adam's Triumph: He's been working hard to get his company's application migrated over to a new open-source software stack. And, as of this recording, he's successfully moved 9 of his 13 production servers over to the new setup; and, everything seems to be running smoothly! He's feeling very strong on hitting his goals of migrating the rest of the servers by the end of January.
  • Ben's Failure: This week has been kicking his butt! He hasn't been sleeping well, he can't get comfortable in his chair, and everything seems to hurt. He's carrying a boat-load of tension in his neck and shoulders and he just can't seem to get past it. The only saving grace is that he can use his "standing desk" controls to select the perfect height for sitting.
  • Carol's Failure: She's also having a tough time getting comfortable! Her body hurts from her tail-bone up to her head; and, the heating pad she's using just ain't doing it. She's currently on the hunt for a new chair that might help offer some relief. But, being the Amazonian warrior that she is makes things a bit more challenging. As she says: "I can't help it - I have six feet of legs and they have to go somewhere!" And, as the icing on the cake, she accidentally deleted the configuration settings for all seven of her home networks. She had automatic backups configured; but, she accidentally turned them off 3-months ago.
  • Tim's Triumph: It's been a while since he was able to get into a groove; but, this week, he finally achieved flow state: that moment when the world disappears, time loses meaning, and all you can see is the code in front of you as it appears to pour out of your hands without effort or thought. He summed this feeling up quite nicely: "I feel less like I'm pushing a stone uphill and more like there's a river just flowing through me." I mean, come on, he even wrote a Regular Expression!

Notes & Links

  • Pure Function - a function that produced no side-effects; and, whose outputs are determined entirely by its inputs.
  • CFML - ColdFusion Markup Language, a language specification for one of the most powerful web application runtimes.
  • Jest - a popular JavaScript testing framework.
  • Unit testing - a low-level test of an individual unit of code.
  • Integration testing - a mid-level test of a group of software units running together.
  • End-to-End / Functional testing - a high-level test of an entire software system, typically looking at happy paths through an application.
  • Manual testing - using human to run tests on a piece of software.
  • Automated testing - using computers to run tests on a piece of software.
  • Static testing - evaluation of code without having to execute it (think linters and strongly typed languages).
  • Testing budget - a concept in which the tests that can block a deployment have to run within a certain time window.
  • Rich Hickey: YouTube - please, just go watch all of his videos.
  • Software regression - a bug that appears, and often breaks, a previously-working piece of code.
  • Guillermo Rauch - CEO of Vercel.
  • REST Assured - a testing framework for application APIs.
  • Gatling - load testing software.
  • Feature flags - tooling that allows you to turn parts of an application on or off without having to redeploy it.
  • Strangler pattern
  • Ben Nadel: My Personal Best Practices For Using LaunchDarkly Feature Flags - a tome that Ben wrote on how he uses feature flags.
  • Kent C Dodds: Testing JavaScript - a popular online course about about testing JavaScript.
  • EggHead.io - a popular subscription service that provides tutorials on web application development.
  • MockBox - a module within TestBox that allows the internal execution of a software module to be observed.


Follow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter and Instagram. New episodes weekly on Wednesday.


And, if you're feeling the lovesupport us on Patreon.

58min 13s
Published Feb 10, 2021 at 12:00pm
008: Origin Stories Pt 2
Show Details1hr 11min
007: Origin Stories Pt 1
Show Details58min 5s
006: Hopes for 2021
Show Details57min 13s
005: Monolith vs. Microservices
Show Details42min 44s
004: Impostor Syndrome
Show Details1hr 18min
003: Burnout, Mental Exhaustion, and Productivity
Show Details1hr 4min
002: Working from home
Show Details54min 24s
001: Adam's Secret Shame
Show Details1hr 8min
000: Hello, World!
Show Details8min 4s