Created with Sketch.
70 minutes | 6 days ago
011: Listener Questions #1
Cunningham's Law states:The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer.The crew recently experienced a bit of this law first hand in response to their episode on Testing. Adam Cameron - friend of the show and long-time friend of the hosts - posted a scathing (but loving) rebuttal of basically everything that Ben said in episode 009. This week, the crew meets to discuss Adam's post; and, to dig more deeply into how testing gets applied in real world scenarios.Thew crew also attempt to pick apart the relationship between DevOps and engineering - a question posed by @LD2. Just don't ask us (or anyone) to define what exactly DevOps is; you ask 10 different people and you'll get 15 different answers.Oh, and Adam totally built a website for the show! So, heck yeah! It's built on Eleventy and is generated based on Markdown files.Triumphs & FailuresAdam's Triumph / Failure - His application had a Cross-Site Scripting (XSS) vulnerability that was exploited. Which is definitely unfortunate. However, he was able to take a bad situation and turn it into an opportunity to practice transparency, clear communication, and a sense of urgency with his customers. In fact, in the end, he was commended by his customers for how well he handled the situation.Ben's Triumph - He attached some analytics to a user interface (UI) within his application and suddenly a part of the application which has historically been a blackbox was transformed into a rich, emotional experience in which he could "see" users actually consuming the tools that he built. This recent adoption of analytics (into his workflow) has forever changed the way that he will think about what is and is not an important part of the application that he's building. It's amazing how powerful "user empathy" can be to an engineer's motivation.Carol's Triumph - Her company is over-committed in terms of the work that they have on their schedule. But, instead of making the engineers freak-out over this planning problem, her managers are doing their job right and are protecting their reports from the organizational chaos. It's rare to see managers that understand how to manage both up and down within a company hierarchy! As Adam says in the episode, a good manager is worth their weight in gold.Tim's Triumph - His frustration over debugging an issue in Redis had grown to the point where he was walking around his house angry. But, instead of trying to "just muscling through it", he decided to step back, be kind to himself, and take a break.ASIDE: You won't know this from the current recording but this break gave him the opportunity to rethink the problem and ultimately come back and figure out what was going wrong. Such is the magic of mental rest and relaxation!Notes & LinksOWASP: XSS - consistently on the Top 10 vulnerabilities outlined by the Open Web Application Security Project (OWASP).Data Breach Response Plan - an organizational play that outlines how a company responds to data breaches, how quickly they have to notify users, and what immediate and longer-term steps they have to take to mitigate such breaches in the future.Shattered Glass - a movie in which Hank Azaria's character demonstrates excellent managerial skills.Segment - a popular data pipeline and aggregation platform.Amplitude - a popular analytics platform for digital teams.Eleventy - a simpler static site generator.Adam Cameron: Thoughts on Working Code podcast's Testing episode - the rebuttal that we discuss on the show.Cunningham's Law - states, "the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer."Test-Driven Development - a test-first methodology for software application development.Singleton Pattern - a software design pattern that restricts the instantiation of a class to one "single" instance.Cory Haines - a well known programmer in the Ruby and testing worlds.Ben Nadel: Singleton vs. Single Instance And A Decade Of Unnecessary Guilt - the realization that everything he thought about the "Singleton Pattern" was wrong.DevOps - who the heck knows what it actually is - platform things mostly? Code++? A mindset? A job title?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 love, support us on Patreon.
69 minutes | 13 days ago
An engineer at SquareSpace once referred to his company as "an overnight success, 7-years in the making." This cheeky insight pays homage to the marathon of work that is often required when building a successful product and / or business. Which begs the question: when is it appropriate to start thinking about scale? Should you be taking it into account during early ideation and the construction of your MVP (Minimum Viable Product)? Or, should you kick the can down the road with the assumption that you can always throw money at the problem later (either by hiring smart people or by vertically scaling your existing compute resources)?This week, the crew talks about their experience in scaling web application systems; what they have - and haven't yet - had the need to consider; and, how they calculate the return on investment (ROI) when it comes to adding complexity to a potential solution ("innovation tokens", anyone?).If you like this episode about scaling, you may also enjoy our previous episode on Monoliths vs. Microservices.Triumphs & FailuresAdam's Triumph - After switching to a new platform, his ORM (Object-Relational Mapping) code stopped working for "reasons". And, instead of spending a whole week trying to figure it out, he just spent a single day replacing the problematic ORM queries with native SQL statements. This was a veritable "Master Class" in pragmatic problem solving.Ben's Failure / Triumph - This week has been kicking his butt! He's exhausted and stressed out - even his feet hurt. This is due, primarily, to the HTML emails that he's been crafting at work. That said, he's been able to take his "failure" and transform it into a "triumph" by channeling that frustration into an exciting new approach for building HTML emails that's powered by ColdFusion Custom Tags. It's still early, but he's hella stoked on the concept!Carol's Triumph - She wrote some rather complicated code that dealt with edge-cases in her application that weren't really ever going to happen. And, when her teammates discussed this with her, she did the honorable thing and removed her code, leaving in its place a much simpler solution. The real triumph here is that she was able to overcome the "sunk cost fallacy" we engineers often succumb to when having to confront the questionable value of our own solutions.Tim's Failure - What started out as a thrilling exploration of Redis has turned into a battle for sanity! For reasons that he has not yet been able to understand, the data that he's been writing to a Redis cache isn't always available for immediate read. This is in his local development environment and he's the only one hitting the code. It just doesn't make any sense!Notes & LinksRedis - a blazing-fast in-memory data structure store.CFRedis - a ColdFusion client for the Jedis Java driver for Redis.Jedis - a blazingly small and sane Java client for Redis.Mango Blog - an extensible blog engine released under the Apache license, built with ColdFusion.CockroachDB - a distributed SQL database built on a transactional and strongly-consistent key-value store.Dan McKinley: Boring Technology Club - a spoken word version of Dan's essay, "Choose Boring Technology".Ben Nadel: "Enterprise" is not a dirty word - a blog post discussing the merits of "enterprise" software.FrameworkOne (FW/1) - a light-weight conventions-over-configuration framework for ColdFusion web applications.Blocking-Request Budget - a concept in which serving a user's request can only entail a limited number of blocking requests.AWS Fargate - services compute for containers.AWS Lambda - a "functions as a service" (FaaS) platform.Mailgun - an email service provider (ESP) built for developers.Let's Encrypt - a nonprofit Certificate Authority that has brought free TLS certificates to the masses.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 love, support us on Patreon.
58 minutes | 20 days ago
71 minutes | a month ago
008: Origin Stories Pt 2
All super heroes have an origin story. And, so do nerds. Many of us can remember back to that moment when we realized that there was magic in the world - magic that we could be part of; and, magic that we could help create. This week, we get personal with the crew and learn more about where they came from, what kind of stuff makes them tick, and what it is that they love about being web application developers.This Part II of a two-part series. Part II will includes Carol and Adam. Part I was Ben and Tim.But (drum roll please) thank you to our first patrons! You are helping us make this podcast better. For anyone who wants to know more, check out our Patreon listed at the end of the show notes.Triumphs & FailsBen's Failure - He, like many of us, just doesn't "people" well at times. He makes an effort to improve this by staring emails with the goal being a reply. But with weeks of stared emails lacking replies, the effort feels a tad null. Maybe he should accept this flaw and consider it a feature. And... if he hasn't replied to your text message yet, don't feel bad, yours is only 1 of 1248.Carol's Triumph - She mentioned last week that she was feeling a tad bit down at work, struggling to learn the business side as fast as she expected herself to. The self-induced kind of worries. This week during her 1-on-1, she was provided feedback which put that worries to rest. She is feeling less stress and more fresh.Tim's Failure & Triumph - Boy oh boy, has Tim failed. He turned the chipper marketing team at work into a slightly less chipper set of people by avoiding delivering of a marketing approach he was on the hook for. No sweat team, he will get around to it. His Triumph for the week stem from our previous episode about 2021 Hopes and Goals. He wrote his own blockchain! The man is non stop! He also revels a great idea for using his new found blockchaining power. Perhaps a podcast coin?Adam's Triumph - He's seesawing on if his triumph is a real triumph or not, and it is! He made it an entire day without sitting down. He is making an effort to stand more with the assistance of an electric sit/sand desk.Notes & LinksTinker - Means: to work in the manner of a tinker especially : to repair, adjust, or work with something in an unskilled or experimental mannerThe Oregon Trail - A popular game for kids of the 90's to play. The game was released in 1990 and was developed by MECC.Tent.io - Was a suite of distributed networking protocols which had a goal to provide a consistent data layer that any app could tie into. In 2019 they closed shop due to funding.Our first search engines: Carol: Ask Jeeves, Tim: Altavista, Ben: HotBot, Adam: DogpileWelcome to the MachineTerminal VelocityTeach yourself VB4 in 21 days - Adams entry book into learning how to write code.Church of Mountain Dew - Web archive to the original church of mountain dew webpageFirst stop to find the church of dewAnother relic to the church of dew12 year old Adam created his own Church of Mountian Dew in a notepad text editor.The token ring network - A token ring network is a local area network (LAN) in which all computers are connected in a ring or star topology and pass one or more logical tokens from host to host. Only a host that holds a token can send data, and tokens are released when receipt of the data is confirmed.REST Assured - If you think rest is napping, pick up Adams book to understand Rest and API Design.Taffy - Adams REST Web Service Framework for ColdFusion and LuceeChristian Ready - Christian Ready is a great friend of ours. We all love his work and listening to him present any chance we get. Check him out on YouTube.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 love, support us on Patreon.
58 minutes | a month ago
007: Origin Stories Pt 1
57 minutes | a month ago
006: Hopes for 2021
43 minutes | 2 months ago
005: Monolith vs. Microservices
Monoliths are bad! Microservices are good! These are the "obvious" truths that many engineers hold close to heart. So, why is it that Ben Nadel has been slowly merging some of his Microservices back into his Monolith? It turns out that a Monolith - like a Microservice - is a valid architectural choice that carries its own set of pros and cons. And, for him, his team, and their particular set of skills, the Monolith is proving to contain the right set of trade-offs.This week, the crew talks about Ben's journey; why InVision started using Microservices in the first place; and, what made him realize that it was time to start pulling services back into the core Monolith. There are no hard truths here - only thoughtful, context-aware considerations.Follow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter & Instagram. New episodes weekly on Wednesday.Triumphs & FailsAdam's Triumph - He took the week off! He's usually not that good about taking time off; so, taking a whole week off between Christmas and New Year's was actually quite relaxing.Ben's Triumph - He managed to stay production at work during the "deployment freeze" that takes place during the holidays! This meant creating lots of small, parallel git branches tied up in a bow, ready and waiting for the 2021 deployments to begin.Carol's Triumph - She stayed up until 3am writing Unit Tests! She doesn't often work in an environment that does much testing; so, this was a new and thrilling experience. Who knew that one could be so happy thinking about the unhappy path!Tim's Triumph - He also took the week off (his company always takes Christmas week off)! But, he's not used to taking so much time off; and, he started to get bored by Thursday (such a classic engineer).Notes & LinksGitHub "Draft" pull-requests - it's just like a regular Pull Request (PR); but, it's intended to be a "work in progress" (WIP).Silento - Watch Me (Whip/Nae Nae) - official music video.Archer - a wonderfully raunchy animated series about spies (for adults). Sploosh!Microservices - an architectural choice, write-up by Martin Fowler Monolithic application - an architectural choice.Conway's Law - how organizational structure relates to programming structure:Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.Single-Tenant architecture - configuration in which one customer shares no resources with another customer.Multi-Tenant - configuration in which many customers share the same set of resources (such as all existing in the same database).Single Page Application (SPA) - a common front-end application architecture in which the front-end dynamically re-renders the UI based on data-fetches.Distributed Monolith / Microlith - an architectural anti-pattern in which you combine the worst properties of both monoliths and microservices while reaping none / few of the rewards.ColdFusion / Lucee CFML - a modern web programming language for dynamic server-side rendering.Mark Richards - The Rise and Fall of Microservices - presentation from O'Reilly Software Architecture Conference 2019.Sam Newman - Building Microservices - the canonical book on Microservices.Sam Newman - Monolith To Microservices: Evolutionary Patterns To Transform Your Monolith - Sam's follow-up book to Building Microservices - it should be required reading.Simon Brown - Modular Monoliths - presentation from DevNexus 2016 that famously had the slide:If you can't build a well-structured monolith, what makes you think microservices is the answer?Amazon AWS Lambda - serverless compute services.Amazon AWS Fault-Injection Simulator - aka, Chaos Monkey as a Service.Amazon Cloudwatch - a reliable, scalable, and flexible monitoring solution.Kevin Conway - Principal engineer at InVision and a strong proponent for microservices.Chris Richardson - he was doing Microservices before there were Microservices. He's the maintainer of microservices.io.Hype Cycle - from the "Peak of Inflated Expectations" to the "Trough of Disillusionment" and every emotion in between, this is how the technology world experiences new technology.Reactive Manifesto - an approach to building robust applications.Lagom Reactive Microservices framework - an opinionated microservices framework.
78 minutes | 2 months ago
004: Impostor Syndrome
Impostor Syndrome is a psychological pattern in which people doubt their skills, talents, and accomplishments. Most of us have felt something like this in our careers, whether it's a fleeting moment or a persistent fear that we're going to be discovered as frauds. These feelings can be overwhelming, even debilitating; but, they can also drive us towards self-improvement.This week, the crew talks about their own mistakes, feelings of fraud, insecurities, and how Impostor Syndrome manifests in their own careers.Follow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter & Instagram. New episodes weekly on Wednesday.Triumphs & FailsAdam's Failure - Adam accidentally destroyed a database by running a migration script on the wrong database! Thankfully it was a QA (Quality Assurance) database which could be restored - no critical client-data was lost.Ben's Triumph - He's deleted 200K lines of unused vendor code. That means shipping less code to production with every deployment. He also merged one of his unnecessary microservices back into the monolith.Carol's Triumph - She's not dying! Woot woot! She had gotten COVID-19 right on the heels of a kidney infection; but it is currently feeling much better (and is nursing her sons back to health as well).Tim's Triumph - He's been playing around with Redis as a means to make his applications more resilient. One thing he wants to do is centralize his Session management such that he can pushed new code to production without having to reset user-session data.Notes & LinksBreaking Bad - critically acclaimed TV drama.Adam Sandler's Click - comedy about appreciating your life.Redis - blazing fast in-memory database and data-structure storage.PM2 - a production-grade process manager for Node.js.Amazon ECR - Elastic Container Registry.Amazon Fargate - serverless compute for containers.GitHub Actions - automation tools for your GitHub workflows.The Push Train - Dan McKinley's presentation on managing the human side of continuous delivery.Lagom Framework - an opinionated microservices framework for moving away from the monolith.Little Bobby Tables - classic XKCD comic.Multi-Stage Builds in DockerMike Cannon-Brookes: TED Talk on How you can use impostor syndrome to your benefitWTFs per minute - Coding Horror comic on code quality.1 Corinthians 10:12 - "Therefore let him who thinks he stands be careful that he does not fall."GoTime podcast - one of the ChangeLog podcasts.Mythical Man Month - iconic essays on software engineering.99 Bugs in the code - grumpy cat's take on the 99 Bottles song.Perfect is the enemy of the good - trap that many product companies fall into.Neil Gaiman's address to the University of the Arts Class of 2012 - "Make good art".The 10x programmer - toxic programming myth about unicorn developers.Ruby Rogues EP 220 with Laurent Bossavit - discusses the book, "The Leprechauns of Software Engineering", which covers among other things the myth of the 10x programmer.Radio Lab: Lying to OurselvesThe "Peter Principle" - people in a hierarchy tend to rise to their "level of incompetence".The Dunning-Kruger Effect - a cognitive bias in which people with low ability at a task overestimate their ability.
64 minutes | 2 months ago
003: Burnout, Mental Exhaustion, and Productivity
Your hostsAdam Tuttle -- Twitter, WebsiteBen Nadel -- Twitter, WebsiteCarol Hamilton -- TwitterTim Cunningham -- TwitterFollow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter & Instagram. New episodes weekly on Wednesday.Triumphs & FailsCarol's Triumph: Her college freshman son, majoring in computer science, called mom to ask for comp-sci help!Ben's Fail: R&D effort exposed that he doesn't remember how to start a new project any more. Tim's Triumph: He turned in the paperwork to get his team their raises on time.Adam's Triumph: Testing on a new platform for his giant application has reached 100%, and a looming deadline may actually be met.Notes & LinksWe are not medical professionals! If you need help, talk to your primary care physician.SisyphusMaslow's Hierarchy of NeedsAdam's waterproof Bluetooth shower speaker recommendation. This one isn't particularly special. There are dozens of different cheap Chinese speakers that look just like it. He's had three over the years, but they're all plenty decent.The Spoon Theory by Christine MiserandinoTED Talk: Your elusive creative genius by Elizabeth Gilbert, author of Eat, Pray, Love.Chuck Close: Inspiration is for amateurs - the rest of us just show up and get to work. And the belief that things will grow out of the activity itself and that you will - through work - bump into other possibilities and kick open other doors that you would never have dreamt of if you were just sitting around looking for a great "art idea". And the belief that process, in a sense, is liberating and that you don't have to reinvent the wheel every day. Today, you know what you'll do, you could be doing what you were doing yesterday, and tomorrow you are gonna do what you did today, and at least for a certain period of time you can just work. If you hang in there, you will get somewhere.Black Lives Matter
54 minutes | 2 months ago
002: Working from home
Your hostsAdam Tuttle -- Twitter, WebsiteBen Nadel -- Twitter, WebsiteCarol Hamilton -- TwitterTim Cunningham -- TwitterFollow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter & Instagram. New episodes weekly on Wednesday.Triumphs & FailsBen's Triumph and Failure: He finally backs up his computer! Only 5 years in the work.Tim's Triumph: He was invited to speak at a virtual conference this week as a community expert. It was really amazing.Carol's Triumph and Failure: She was locked out of a database only to realize she configured the connection wrong from the first day. Total face/palm time.Adam's Failure: He committed to main... tsk tsk. Who commits to main?? Oh yeah, Adam does...Notes & LinksWe want discuss how we handle remote working. Adam and Ben are pros at it but Tim and Carol are new. We go over communication styles and how they differ between face to face and virtual. How we balance home life and work life when we work in our home. We might not get it right, but we keep trying. Grab a drink and laugh with us as we figure it all out.Freakonomics PodcastRich Hickey: Hammock Driven DevelopmentRich Hickey: Simple Made EasyBlack Lives Matter
68 minutes | 2 months ago
001: Adam's Secret Shame
Your hostsAdam Tuttle -- Twitter, WebsiteBen Nadel -- Twitter, WebsiteCarol Hamilton -- TwitterTim Cunningham -- TwitterFollow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter & Instagram. New episodes weekly on Wednesday.Triumphs & FailsAdam's Triumph: His team realized that they could write a tool that would log, per controller method, how many times it had been run, whether or not it threw exceptions, and some performance stats, which is reducing the pain of transitioning app server platforms without a comprehensive test suite. They're currently at 90% tested!Carol's Fail: Having just started a new job, she thought she would make a good first impression by bringing down the production site!Tim's Triumph+Fail: A product he's been working on developing in secret for FOUR years is finally going to see the light of the day... just not through his years of persistence trying to push it past the finish line.Ben's Triumph+Fail: A R&D project failed to get any traction, but on the plus side he got to delete thousands of lines of code!Notes & LinksThe VS Code plugin that Adam couldn't think of is Git LensCargo Cult ProgrammingCFML ("ColdFusion Markup Language") a.k.a. ColdFusion is a web-dev language and app server that the four of us have some shared history with. Lucee is its open source alternative engine.Spoiler alert: You can write awful code in every language!"Life with chapters" is a concept stolen from the No Dumb Questions podcast, which is fantastic, and a huge inspiration for Working Code. If you don't already listen, give them a shot!There are a variety of different ways people prefer to learn, but teaching a concept is the best way to help yourself find your weak spots.Never compare your beginning to someone else's middle!The Martian is a fantastic movie and a better book; and yes, the audiobook was narrated by Wil Wheaton, of Star Trek fame.GraphQL is an interesting new(ish) idea in the world of web API's."The right tool for the job"? NOPE. The right tool for the job, for the team, at that particular point in time. You heard it here second!Black Lives Matter
8 minutes | 3 months ago
000: Hello, World!
Your hostsAdam Tuttle -- Twitter, WebsiteBen Nadel -- Twitter, WebsiteCarol Hamilton -- TwitterTim Cunningham -- TwitterGet subscribed, share with your friends and coworkers, and follow the show! We're on Twitter & Instagram.New episodes publish weekly on Wednesday morning! (US/Eastern)
Terms of Service
Do Not Sell My Personal Information
© Stitcher 2020