POPULARITY
Wie weniger Kommunikation zu besserem Softwaredesign führt. Meetings über Meetings – und trotzdem keine Klarheit? Ein weitverbreitetes Missverständnis in der agilen Produktentwicklung: Mehr Kommunikation heißt nicht automatisch bessere Kommunikation. Im Gegenteil: Zu viele Meetings können kreative Energie blockieren, Zeit vernichten und die UX- und Softwaredesign-Prozesse nachhaltig behindern.Wir zeigen wie Kommunikationsstrukturen in digitalen Projekten oft zum Selbstzweck werden – und wie man sie wieder zielführend gestaltet. Warum Regeltermine der letzte Ausweg sein sollten, wie asynchrone Kommunikation helfen kann und weshalb eigenverantwortliche Teams oft effizienter arbeiten. Dabei geht es nicht nur um Tools und Prozesse, sondern auch um Teamkultur, Meetingmüdigkeit und das Schaffen produktiver Schutzräume im Arbeitsalltag.Viel meetingfreie Zeit wünschen …Alex & Chrisvon https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Im Softwaredesign und UX-Design geht es nicht darum, das perfekte Tool zu finden – sondern das passende Mittel, um besser zu kommunizieren.Denn gute digitale Produkte entstehen nicht durch komplexe Tools, sondern durch gemeinsames Verstehen, Hinterfragen und Gestalten. Warum Tools im Designprozess immer Kommunikationswerkzeuge sind – und weshalb zu viel Fokus auf Tools die eigentliche Arbeit oft behindert. Je einfacher das Werkzeug, desto offener der Austausch, desto agiler die Umsetzung. Ein funktionierender Designprozess braucht nicht das neueste Tool, sondern ein gemeinsames Ziel, Dialog auf Augenhöhe und die Bereitschaft, sich auf Veränderungen einzulassen.Viele Erkenntnisse und gute Kommunikation wünschen …Alex & Chrisvon https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Vom Hufschmied zum Softwareentwickler bei Wahnsinn Design. Chris spricht mit Christian über seinen ungewöhnlichen Werdegang, seine Faszination für Technik und seinen Einstieg ins Team von Wahnsinn Design. Was haben Pferdehufe mit guter Software gemeinsam? Eine ganze Menge – zum Beispiel der Wunsch, Menschen (und Tieren) das Leben leichter zu machen.Christian teilt, wie ihn frühe Programmiererfahrungen mit 8 Jahren geprägt haben, warum handwerkliches Denken auch in der Softwareentwicklung wertvoll ist und was ihn an modernen Tools wie Astro, Next.js oder KI-gestütztem Design besonders reizt. Außerdem geht es um die Frage, wie Design und Code noch enger zusammenwachsen können – für bessere digitale Produkte mit echtem Nutzen.Christian & Chris & Alex (im Gedanken)von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Expertise ist gut – aber sie kann auch blockieren.Warum im Softwaredesign und UX-Design gerade erfahrene Teams oft die größten Hürden für echte Innovation darstellen. Denn wer tief im Detail steckt, verliert leicht den Blick für das große Ganze: das Ziel hinter dem Prozess.Wir zeigen, wie ein zu starker Fokus auf bestehende Abläufe zu ineffizienten Optimierungen führt – während der mutige Schritt zurück oft der Schlüssel zu radikal besseren Lösungen ist. Wer in der digitalen Produktentwicklung wirklich Neues schaffen will, braucht nicht nur Wissen, sondern auch die Bereitschaft, alte Denkmuster zu hinterfragen. Einen offenen Blick und neue Denkmuster wünschen …Alex & Chrisvon https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Wir beantworten zwei spannende Hörerfragen: Wie kann Technologie so gestaltet werden, dass sie das Arzt-Patienten-Verhältnis verbessert? Und: Lässt sich ein Design-Mindset auch auf Business Development und Unternehmenskultur übertragen?Wir sprechen darüber, wie wichtig intuitive Benutzeroberflächen im medizinischen Kontext sind – besonders dann, wenn Vertrauen und Kommunikation im Mittelpunkt stehen. Wir teilen unsere Erfahrungen aus 16 Jahren Wahnsinn Design: Warum wir lieber gute Dinge gut tun als schlechten Prozessen folgen – und wie Designprinzipien uns helfen, Teams aufzubauen, Entscheidungen zu treffen und Kundenbeziehungen nachhaltig zu gestalten. Tausend Dank an Sassan und Uwe sagen:Alex & Chris von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Muss Software immer stabil sein? Es geht um das Konzept der Antifragilität und was es für gutes UX-Design und Softwareentwicklung bedeutet. Denn: Systeme, die sich nie dem echten Leben stellen, werden auch nie wirklich robust. Erst durch gezielten „Stress“ – zum Beispiel durch frühes Nutzerfeedback oder reale Einsatzbedingungen – kann digitale Produktentwicklung nachhaltig besser werden.Wir zeigen, warum es sinnvoller ist, mit kleinen, unperfekten Prototypen zu starten, statt viel Energie in das „perfekte“ System im stillen Kämmerlein zu stecken. So entstehen Softwarelösungen, die lernen, sich anpassen und langfristig überleben. Antifragiles Denken hilft Teams, schneller, effizienter – und letztlich erfolgreicher – zu entwickeln. Nassim Nicholas Taleb über Antifragilität: https://de.wikipedia.org/wiki/Nassim_Nicholas_Taleb Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
This interview was recorded for the GOTO Book Club.http://gotopia.tech/bookclubRead the full transcription of the interview hereJacqui Read - Software Architect, Speaker & Author of "Communication Patterns"Gregor Hohpe - Author of "Platform Strategy", "The Software Architect Elevator", et al.RESOURCESJacquihttps://bsky.app/profile/tekiegirl.bsky.socialhttps://jacquiread.comhttps://fosstodon.org/@tekiegirlhttps://www.linkedin.com/in/jacquelinereadhttps://github.com/tekiegirlGregorhttps://twitter.com/ghohpehttps://www.linkedin.com/in/ghohpehttps://architectelevator.comLinkshttps://acedmodel.comDESCRIPTIONJacqui Read and Gregor Hohpe discuss her book "Communication Patterns", which aims to bridge the gap in effective communication for software professionals. Jacqui highlights the importance of core communication skills, covering topics like visuals, writing, knowledge management, and remote collaboration.The book offers practical patterns for improving diagrams, addressing multimodal communication issues, and ensuring accessibility, particularly for neurodiverse individuals. Jacqui also introduces her upcoming ACED Model, a strategic framework to align software development with business needs while remaining adaptable.RECOMMENDED BOOKSJacqui Read • Communication PatternsGregor Hohpe • Platform StrategyGregor Hohpe • The Software Architect ElevatorGregor Hohpe • Cloud StrategyGregor Hohpe • Enterprise Integration Patterns, Vol 2Gregor Hohpe & Bobby Woolf • Enterprise Integration PatternsErich Gamma, Richard Helm, Ralph Johnson, John Vlissides • Design PatternsNeal Ford, Matthew McCullough & Nathaniel Schutta • Presentation PatternsMartin Fowler • UML DistilledBlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
Was passiert, wenn in Unternehmen der Fokus auf die Schuldfrage liegt, statt aufs Lernen? Wie klassische Management-Ansätze wie „Accountability“ oft zu einer Kultur der Angst führen – und warum genau das Innovation und echte Verbesserung verhindert. Wir zeigen, warum Fehler notwendig sind, wenn neue Wege gegangen werden sollen, und wie eine lernorientierte Fehlerkultur mutige Entscheidungen im User Experience Design überhaupt erst möglich macht.Mit einem Design-Mindset bedeutet Verantwortung nicht Schuldzuweisung, sondern kontinuierliche Verbesserung. Denn wer sich fragt, was wir daraus lernen können, statt wer versagt hat, schafft Raum für Kreativität, Vertrauen und bessere Ergebnisse – besonders in komplexen und dynamischen Umfeldern.Neues & Fehler machen mit fantastischem Lernen wünschen…Chris & Alex von https://wahnsinn.design Links zur Folge:Yves Morieux, TED Talk (2015): https://www.ted.com/talks/yves_morieux_how_too_many_rules_at_work_keep_you_from_getting_things_done/transcript Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
In this episode of Book Overflow, Carter and Nathan discuss ReWork by Jason Fried and David Heinemeier Hansson. Join them as they each share their five favorite "proverbs" the book has to offer!-- Books Mentioned in this Episode --Note: As an Amazon Associate, we earn from qualifying purchases.----------------------------------------------------------ReWork by Jason Fried and David Heinemeier Hanssonhttps://amzn.to/43vgO7T (paid link)Grokking Concurrency by Kirill Bobrovhttps://amzn.to/4mwuAzP (paid link)Slow Productivity: The Lost Art of Accomplishment Without Burnout by Cal Newporthttps://amzn.to/43bW06q (paid link)Thinking in System by Donella H. Meadowshttps://amzn.to/43xYATl (paid link)Philosophy of Software Design by John Ousterhouthttps://amzn.to/43xYCdV (paid link)Why We Sleep: Unlocking the Power of Sleep and Dreams by Matthew Walker (https://amzn.to/3F94ZfD (paid link)Getting Real: The smarter, faster, easier way to build a successful web application by Jason Fried and David Heinemeier Hansson https://amzn.to/3SQlakS (paid link)----------------00:00 Intro01:50 About the Book and Authors05:00 Initial Thoughts on the Book14:20 Top 5 Favorite Chapters Discussion15:00 Tone is in Your Fingers - Tools vs Skills19:00 Anti-Workaholism Philosophy22:32 Focus on What Won't Change27:14 Make a Dent in the Universe33:24 Interruption is the Enemy of Productivity39:59 Go to Sleep - The Importance of Rest46:58 Say No by Default51:35 Welcome Obscurity - Private Launches56:12 Scratch Your Own Itch - Build What You Need1:01:04 How to Say You're Sorry - Proper Apologies1:04:42 Final Thoughts----------------Spotify: https://open.spotify.com/show/5kj6DLCEWR5nHShlSYJI5LApple Podcasts: https://podcasts.apple.com/us/podcast/book-overflow/id1745257325X: https://x.com/bookoverflowpodCarter on X: https://x.com/cartermorganNathan's Functionally Imperative: www.functionallyimperative.com----------------Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week!The full book schedule and links to every major podcast player can be found at https://www.bookoverflow.io
Ein Einblick hinter die Kulissen mit Kerstin, unserer Assistentin der Geschäftsführung bei Wahnsinn Design.Kerstin ist nun über ein Jahr bei Alex & Chris Wahnsinn Design. Wir sprechen über unseren Alltag. Was bedeutet es eigentlich, ein Design-Mindset nicht nur auf Softwareentwicklung und UX-Design, sondern auch auf Organisation, Führung und Zusammenarbeit anzuwenden?Kerstin teilt ihre Eindrücke von einer Unternehmenskultur, die auf Vertrauen statt Kontrolle setzt, in der Fehlerkultur nicht abschreckt, sondern zum Lernen einlädt – und wo Gestaltung nicht bei digitalen Produkten aufhört. Neben Einblicken in unsere Arbeitsweise sprechen wir auch über Kerstins eigenes Mode-Label k.made und darüber, wie kreatives Arbeiten – ob in der digitalen Produktentwicklung oder an der Nähmaschine – immer mit Haltung beginnt.Mehr über Kerstin und ihr Label k.made: https://www.kmade.de/ Wir hoffen das erste Interview hat Euch gefallen.Kerstin & Chris & Alex (in Gedanken) von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Hör auf Pixel zu zählen.Denn in der Softwareentwicklung geht es nicht darum, Screens eins zu eins umzusetzen – sondern darum, digitale Produkte zu gestalten, die flexibel, funktional und für reale Nutzungssituationen gemacht sind. Ein statisches Design ist immer nur eine Momentaufnahme. Wirklich gutes UX-Design entsteht erst dann, wenn Entwickler verstehen, warum etwas so gestaltet wurde – nicht nur, wie es aussieht.Wie Missverständnisse zwischen Design und Entwicklung entstehen, warum Kommunikation wichtiger ist als exakte Abstände – und wie Teams gemeinsam zu besseren Ergebnissen kommen, wenn sie Design als dynamischen Prozess verstehen.Alles Gute für ein besseres Zusammenarbeiten…Alex & Chris von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
It's another hot questions episode. Tabs vs spaces, whether we have imposter syndrome, why software keeps getting heavier, the correct length of functions and files, and what every programmer should know. Some things we mentioned: Interesting Characters (UTF-16, utf-8, Unicode, encodings) Software Design is Knowledge Building The Absolute Minimum Every Software Developer Must Know... Read More
It's another hot questions episode. Tabs vs spaces, whether we have imposter syndrome, why software keeps getting heavier, the correct length of functions and files, and what every programmer should know. Some things we mentioned: Interesting Characters (UTF-16, utf-8, Unicode, encodings) Software Design is Knowledge Building The Absolute Minimum Every Software Developer Must Know... Read More
Gute Software erkennt man nicht daran, wie durchdacht sie entwickelt wurde – sondern daran, wie mühelos sie genutzt werden kann. Es gibt einen fundamentalen Unterschied zwischen dem Planen und dem Benutzen von Software. Wir beziehen uns auf Daniel Kahnemans Konzept von System 1 und System 2 und erklären, warum gerade im Design digitaler Produkte der Perspektivwechsel entscheidend ist: Wer Software entwirft, denkt bewusst, langsam und analytisch – wer sie nutzt, braucht schnelle, intuitive Lösungen.Warum Komplexität in der Realität kein Freifahrtschein für komplizierte Interfaces ist, und wie gutes UX-Design dabei hilft, auch anspruchsvolle Prozesse einfach bedienbar zu machen. Denn echte Nutzerfreundlichkeit entsteht nicht durch zusätzliche Funktionen, sondern durch ein tiefes Verständnis für menschliches Verhalten. In beiden Modi nur das Beste wünschen…Chris & Alex von https://wahnsinn.design Links zur Folge:Schnelles Denken, langsames Denken nach Daniel Kahnemann: https://de.wikipedia.org/wiki/Schnelles_Denken,_langsames_Denken Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Nur weil ein Prozess digital ist, wird er nicht automatisch gut. Warum Design nicht dazu da ist, schlechte Abläufe schöner oder digitaler zu machen – sondern grundlegend bessere Lösungen zu ermöglichen. Wir plädieren für einen Wechsel der Perspektive: Statt bestehende Prozesse einfach zu digitalisieren, sollte zuerst hinterfragt werden, welches Ziel überhaupt erreicht werden soll. Denn nur wenn wir verstehen, warum ein Prozess existiert, können wir mit Design echte Verbesserungen schaffen.Auf Besseres mit Design vonAlex & Chris von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
Besser mit Design geht in die zweite Runde! In dieser kurzen Teaser-Folge verraten wir, was dich in Staffel 2 erwartet: knackige Episoden jeden Mittwoch, tiefgründige Interview-Specials an Sonntagen und neu – Folgen mit Euren Fragen und unseren Antworten. Außerdem haben wir am Sounddesign geschraubt und das Format weiter verfeinert. Hör rein, sei gespannt und gestalte die neue Staffel gerne mit uns mit – wir freuen uns auf dich!Beste Grüße von Alex & Chris von https://wahnsinn.design Das ist Besser mit Design, ein Wahnsinn Design PodcastVielen Dank fürs Zuhören
This interview was recorded for the GOTO Book Club.http://gotopia.tech/bookclubRead the full transcription of the interview hereEvelyn van Kelle - Behavioral Change Consultant at XebiaGien Verschatse - Senior Consultant at AardlingKenny Baas-Schwegler - Collaborative Modeling Facilitator at Weave ITXin Yao - Independent Consultant Contextualizing DDD & Sociotechnical ArchitectureRESOURCESEvelynhttps://bsky.app/profile/evelynvankelle.bsky.socialhttps://evelynvankelle.comGienhttps://bsky.app/profile/selketjah.bsky.socialhttps://www.gienverschatse.comKennyhttps://bsky.app/profile/kenny.weave-it.orghttps://weave-it.orgXinhttps://www.linkedin.com/in/xinxinhttps://bsky.app/profile/settling-mud.bsky.socialLinkshttps://collaborative-software-design.comhttps://bsky.app/profile/collaborative-software-design.comDESCRIPTIONIn a spirited discussion on collaborative modeling and decision-making, the the authors of “Collaborative Software Design: How to Facilitate Domain Modeling Decisions”—Evelyn vVan Kelle, Gien Verschatse, and Kenny Baas-Schwegler—explored the power of inclusive decision-making, shared understanding, and how to navigate social dynamics like bias, ranking and conflict in teams together with Xin Yao.They highlighted the importance of facilitating not just through structured methods, but by empowering everyone in the team to contribute and lead decisions. Drawing from their experiences, they shared insights into the process of making better decisions through collaboration, the impact of "Deep Democracy", and the value of being able to step back and allow teams to thrive independently. Their conversation also touched on resources like Thinking, Fast and Slow, Jam Cultures, and Sitting in the Fire—tools to help teams make smarter decisions and grow together.RECOMMENDED BOOKSvan Kelle, Verschatse &Baas-Schwegler • Collaborative Software DesignJitske Kramer • Jam CulturesDanielle Braun & Jitske Kramer • The Corporate TribeArnold Mindell • Sitting in the FireDaniel Kahneman • Thinking, Fast and SlowGeBlueskyTwitterInstagramLinkedInFacebookCHANNEL MEMBERSHIP BONUSJoin this channel to get early access to videos & other perks:https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/joinLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket: gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted daily!
In this episode, Thomas Betts speaks with Vlad Khononov about balancing coupling in software design, the subject of his recent book. They discuss how coupling is necessary for a system to function, but has to be balanced to allow the system to evolve. Vlad identifies three factors that can be used to measure coupling: knowledge sharing, distance, and volatility. Read a transcript of this interview: https://bit.ly/3YdyjHU Subscribe to the Software Architects' Newsletter for your monthly guide to the essential news and experience from industry peers on emerging patterns and technologies: https://www.infoq.com/software-architects-newsletter Upcoming Events: InfoQ Dev Summit Boston (June 9-10, 2025) Actionable insights on today's critical dev priorities. devsummit.infoq.com/conference/boston2025 InfoQ Dev Summit Munich (October 15-16, 2025) Essential insights on critical software development priorities. https://devsummit.infoq.com/conference/munich2025 QCon San Francisco 2025 (November 17-21, 2025) Get practical inspiration and best practices on emerging software trends directly from senior software developers at early adopter companies. https://qconsf.com/ QCon AI NYC 2025 (December 16-17, 2025) https://ai.qconferences.com/ The InfoQ Podcasts: Weekly inspiration to drive innovation and build great teams from senior software leaders. Listen to all our podcasts and read interview transcripts: - The InfoQ Podcast https://www.infoq.com/podcasts/ - Engineering Culture Podcast by InfoQ https://www.infoq.com/podcasts/#engineering_culture - Generally AI: https://www.infoq.com/generally-ai-podcast/ Follow InfoQ: - Mastodon: https://techhub.social/@infoq - Twitter: twitter.com/InfoQ - LinkedIn: www.linkedin.com/company/infoq - Facebook: bit.ly/2jmlyG8 - Instagram: @infoqdotcom - Youtube: www.youtube.com/infoq Write for InfoQ: Learn and share the changes and innovations in professional software development. - Join a community of experts. - Increase your visibility. - Grow your career. https://www.infoq.com/write-for-infoq
Software Engineering Radio - The Podcast for Professional Software Developers
Software architect and author Vlad Khononov joins host Jeff Doolittle for a discussion on balancing coupling in software design. They start by examining coupling and its relationship to complexity and modularity. Vlad explains the historical models for assessing coupling and introduces his updated approach, integration strength, which aims to simplify earlier frameworks and adapt them for modern practices. The episode explores three dimensions of coupling: integration strength (knowledge sharing), distance (proximity of components), and volatility (likelihood of change). Vlad illustrates how design decisions can lead systems toward complexity or modularity, and he emphasizes the importance of managing coupling to minimize cognitive load and cascading changes. The conversation wraps up with insights on applying these principles to real-world software projects and a reminder of coupling's critical role in software architecture. Brought to you by IEEE Computer Society and IEEE Software magazine.
Following up on their recent discussion on software design (inspired by Book Overflow!), John Ousterhout and Robert "Uncle Bob" Martin join Carter and Nathan for their first ever joint interview! Join them as they discuss what it was like working together, how the discussion came to be, and what they both learned from the process!Ousterhout/Martin Discussion: https://github.com/johnousterhout/aposd-vs-clean-code-- Books Mentioned in this Episode --Note: As an Amazon Associate, we earn from qualifying purchases.----------------------------------------------------------A Philosophy of Software Design by John Ousterhouthttps://amzn.to/3XCPliz (Paid Link)Clean Code by Robert Martinhttps://amzn.to/4iJ4Ttq (Paid Link)Clean Coder, The: A Code of Conduct for Professional Programmers by Robert C. Martin https://amzn.to/3E9zf9l (Paid Link)We, Programmers: A Chronicle of Coders from Ada to AI by Robert Martinhttps://amzn.to/42aW194 (Paid Link)Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissideshttps://amzn.to/4hRbYa3 (Paid Link)Structured Analysis and System Specification by Tom DeMarco, P. J. Plaugerhttps://amzn.to/3E0Y7QD (Paid Link)Practical Guide to Structured Systems Design by Meilir Page-Joneshttps://amzn.to/4hNd8mV (Paid Link)Design by Contract: By Example First Edition by Richard Mitchell, Jim McKim, Bertrand Meyerhttps://amzn.to/4i4X6VW (Paid Link)Structured Programming by Edsger Wybe Dijkstra, C. A. R. Hoare, Ole-Johan Dahlhttps://amzn.to/42fXfzX (Paid Link)On the Criteria To Be Used in Decomposing Systems into Modules by D.L. Parnashttps://wstomv.win.tue.nl/edu/2ip30/references/criteria_for_modularization.pdf----------------00:00 Intro03:11 Origin of the debate06:52 Motivation for the debate11:35 How did you settle on the terms of the debate?14:30 Overcoming Self-Doubt and Engaging with others20:06 Influences in Developing Design Aesthetics28:45 Taking time for Deep Thinking vs Shallow thinking33:58 Writing Code and Reducing Cognative Load39:05 Encouraging healthy debate42:38 Coding Style, Retirement, and what's next49:40 Final Thoughts----------------Spotify: https://open.spotify.com/show/5kj6DLCEWR5nHShlSYJI5LApple Podcasts: https://podcasts.apple.com/us/podcast/book-overflow/id1745257325X: https://x.com/bookoverflowpodCarter on X: https://x.com/cartermorganNathan's Functionally Imperative: www.functionallyimperative.com----------------Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week!The full book schedule and links to every major podcast player can be found at https://www.bookoverflow.io
Luca Casanato, member of the Deno core team, delves into the intricacies of debugging applications using Deno and OpenTelemetry. Discover how Deno's native integration with OpenTelemetry enhances application performance monitoring, simplifies instrumentation compared to Node.js, and unlocks new insights for developers! Links https://lcas.dev https://x.com/lcasdev https://github.com/lucacasonato https://mastodon.social/@lcasdev https://www.linkedin.com/in/luca-casonato-15946b156 We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket provides AI-first session replay and analytics that surfaces the UX and technical issues impacting user experiences. Start understand where your users are struggling by trying it for free at [LogRocket.com]. Try LogRocket for free today.(https://logrocket.com/signup/?pdr) Special Guest: Luca Casonato.
Ep 254Jaanus Kase: I turned on Advanced Data Protection for my iCloud accountNinja Repair: How to Reset Battery Health to 100% and Remove Notification after IOS18.3 (BMS Swap method) Mac Mini M4 Pro 64GB RAM Upgrade to 4TBSkype Is Finally Shutting Down on May 5 — MacRumorsMicrosoft is shutting down Skype — The VergeApple Announces $500B US Investment Plan, Adding 20K JobsApple's New U.S. Chip Factory to Produce AI Servers With High-End M5 ChipsApple introduces the new MacBook Air with the M4 chip and a sky blue colorApple unveils new Mac Studio, the most powerful Mac everApple reveals M3 Ultra, taking Apple silicon to a new extremeApple introduces iPad Air with powerful M3 chip and new Magic KeyboardA discussion between John Ousterhout and Robert Martin about differences between John's book "A Philosophy of Software Design" and Bob's book "Clean Code".ZahvalniceSnimano 8.3.2025.Uvodna muzika by Vladimir Tošić, stari sajt je ovde.Logotip by Aleksandra Ilić.Artwork epizode by Saša Montiljo, njegov kutak na Devianartu
Survivorship Bias, Burnout und die (Nicht)-Notwendigkeit von harter Arbeit; Urlaub ohne Formular und Chris' Grabsteinspruch. Danke Christian, dein Lob ist unser Thema. Was bedeutet es eigentlich, ein Unternehmen zu führen, das nicht nur erfolgreich, sondern auch lebenswert ist?Chris hinterfragt das oft propagierte Credo, das Erfolg ausschließlich durch harte Arbeit entsteht. Aus persönlicher Erfahrung – darunter ein Burnout mit 23 Jahren – erzählt er, warum er überzeugt ist: „Es geht auch anders.“ Vielleicht sind auch daraus die Überzeugungen und Ursprünge unserer Firma Wahnsinn Design entstanden: ein Ort, wo wir versuchen, großartig zu arbeiten, ohne sich ausbrennen zu müssen. Prognose aus 1930 für 2030 war eine 15h-Arbeitswoche:„Three-hour shifts or a fifteen-hour week may put off the problem for a great while. For three hours a day is quite enough to satisfy the old Adam in most of us.“ Essay ‚Economic Possibilities for Our Grandchilderen‘ (1930), John Maynard Keynes Als Unternehmer tragen wir die Verantwortung, dass es den Mitarbeitern gut geht. Wie kann z. B. der „Get rid of the shit day“ dabei helfen, ein kreatives und entlastendes Arbeitsumfeld zu fördern? Statt ständig mehr Input lautet die Devise: besser und effektiver arbeiten. Doch was heißt das konkret?Warum ist „mehr Kommunikation“ oft nicht die Lösung. „Bessere“ Kommunikation sollte das Ziel sein. Kontrolle führt nicht zu guten Ergebnissen. Das vorherrschende Denken: Ich brauche keine fähigen Leute, um etwas umzusetzen, wichtig sind nur richtige Anweisungen. Der daraus oft resultierende Dokumentations- und Anforderungsberg ist schlichtweg verlorene Lebenszeit. Wir müssen zwar etwas zu nahe 100 % verstanden haben, um richtig Gutes zu kreieren, aber braucht es dafür wirklich 300 Seiten Anforderungsmaterial? Chris findet, all diese Gedanken verdienen einen größeren Rahmen – vielleicht bald als Vortrag? Bleibt neugierig, bleibt mutig – und lasst uns gemeinsam eine Arbeitswelt gestalten, die produktiv und lebenswert ist. Viel Spaß! P.S. Liebe Grüße auch an Chris Ma =) In der Folge erwähnt: John Maynard Keynes, Economic Possibilities for our Grandchildren (1930): http://www.econ.yale.edu/smith/econ116a/keynes1.pdfJohn Maynard Keynes: https://de.wikipedia.org/wiki/John_Maynard_KeynesSurvivorship Bias: https://de.wikipedia.org/wiki/Survivorship_BiasChristians Post auf Linkedinaerzteblatt.de - Krankenhausärzte verbringen täglich drei Stunden mit Bürokratie: https://www.aerzteblatt.de/nachrichten/153414/Krankenhausaerzte-verbringen-taeglich-drei-Stunden-mit-BuerokratieTed Talk, Yves Morieux - How too many rules at work keep you from getting things done: https://www.ted.com/talks/yves_morieux_how_too_many_rules_at_work_keep_you_from_getting_things_done/transcript --------Noch ein Podcast:Perspektiven auf Software & Design von Chris & Alex.www.bessermit.design --------
In this insightful episode of Fishing Without Bait, host Jim Ellermeyer welcomes Christopher Maverick, a professor of digital narrative interactive design at the University of Pittsburgh, for a conversation blending academia, pop culture, and mindfulness. Together, they explore the intersection of humanities and technology, with Maverick sharing his journey from software design to teaching subjects like comics, graphic novels, and cultural studies. Key topics include the relevance of modern cultural studies in understanding traditional English literature, the value of making connections between pop culture and classical texts, and Maverick's unique path to academia. The discussion also touches on the power of great teaching to inspire, the role of performance in education, and the importance of creating impactful and relatable messages for younger generations. This episode is a must-listen for those interested in cultural studies, education, or finding purpose through unconventional paths. Tune in for a deep dive into how storytelling, technology, and creativity can reshape our understanding of literature and life. Visit FishingWithoutBait.com for more episodes.Find out more about Chris Maverick and listen to the VoxPopCast at www.chrismaverick.comAre you finding benefit from this show? We appreciate any support with our Patreon page! Pledge as little as $1 a month for extra clips, behind the scenes and more at www.patreon.com/fishingwithoutbait !
In this insightful episode of Fishing Without Bait, host Jim Ellermeyer welcomes Christopher Maverick, a professor of digital narrative interactive design at the University of Pittsburgh, for a conversation blending academia, pop culture, and mindfulness. Together, they explore the intersection of humanities and technology, with Maverick sharing his journey from software design to teaching subjects like comics, graphic novels, and cultural studies. Key topics include the relevance of modern cultural studies in understanding traditional English literature, the value of making connections between pop culture and classical texts, and Maverick's unique path to academia. The discussion also touches on the power of great teaching to inspire, the role of performance in education, and the importance of creating impactful and relatable messages for younger generations. This episode is a must-listen for those interested in cultural studies, education, or finding purpose through unconventional paths. Tune in for a deep dive into how storytelling, technology, and creativity can reshape our understanding of literature and life. Visit FishingWithoutBait.com for more episodes.Find out more about Chris Maverick and listen to the VoxPopCast at www.chrismaverick.comAre you finding benefit from this show? We appreciate any support with our Patreon page! Pledge as little as $1 a month for extra clips, behind the scenes and more at www.patreon.com/fishingwithoutbait !
Tomo, Ryoichiがそれぞれの2024年一年間を振り返り、新しく始めたこと、面白かった本、買って良かったことなどを語ります。また、ポッドキャストの聴取数ランキング、二人がそれぞれに印象に残ってるエピソードなども紹介しました。 リョーイチのこの一年 ポッドキャストを始めた! 初めての登場回は 89. The Frugal Architect https://open.spotify.com/episode/6NBSCHvo5tTLR6EoDMs8BG 毎週一度も欠かさず配信! TyIL (This year I learned)なエピソード 米国でのキャリアアップのヒント - 儒教的価値観をアンラーニングする https://open.spotify.com/episode/0s1ZbpGttI6T8SnrzULjc3 買って良かったもの Robot掃除機 Anker Eufy L60 新型3Dプリンタ 300mm/s Creality K1 (ただしわりと故障が多いらしい) ryo1kato が Thingiverseに公開している3Dモデル: https://www.thingiverse.com/ryo1kato/designs 面白かった本 「How Big Things Get Done」https://amzn.to/49JXq9N 邦題「BIG THINGS どデカいことを成し遂げたヤツらはなにをしたのか?」https://amzn.to/4ixPOeJ ep127. 大規模プロジェクトの成功のさせかたで紹介 https://open.spotify.com/episode/7beA8YKuMB3on42uTwwG72 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ https://amzn.to/3ZUjJ9p 「ep119プログラマ脳」に学ぶ認知科学に基づく効果的なプログラミング で紹介 https://open.spotify.com/episode/2C0dAP6PlJeGDWn9FuqoIY A Philosophy of Software Design https://amzn.to/49DG5PI ep111 で紹介 Fiction: 貴志祐介「新世界より」https://amzn.to/3VFZJ7W 林 譲治「星系出雲の兵站」https://amzn.to/41Ey4Z0 全4+5巻 (「工作艦明石の孤独」1~4+外伝) https://amzn.to/3Bxmswo 藤井太洋「マン・カインド」https://amzn.to/4iAbU05 ナフセ「リビルドワールド」https://amzn.to/3Dr9Hno 駄犬 「死霊魔術の容疑者」https://amzn.to/3AXTB3S 相沢 沙呼「medium 霊媒探偵城塚翡翠」https://amzn.to/3DiCBpR 賀東 招二「フルメタル・パニック! Family」https://amzn.to/4gg9WAq Non-fiction 川北 稔「砂糖の世界史」 https://amzn.to/4gfTZdz カール・ヘラップ (著), 梶山あゆみ (訳)「アルツハイマー病研究、失敗の構造」https://amzn.to/41GuQUP 小川晃通 「ピアリング戦記 - 日本のインターネットを繋ぐ技術者たち」https://amzn.to/4izk4pt 矢口高雄「ボクの学校は山と川」https://amzn.to/4iCyd5e Tomo のこの一年 TyIL (This year I learned) 「ep119プログラマ脳」に学ぶ認知科学に基づく効果的なプログラミング で紹介 KatoShinさんゲスト回 やったこと、あたらしいチャレンジ 子どもの習い事を一緒にする バイオリン、水彩画 仕事での変化 プロダクトローンチ 3月/ AI Nativeなプロダクト開発 https://noxx.net チームが大きくなった(開発チーム4人/Bizdev/Product) 発行食生活(腸活?) 麹、甘酒、納豆、ヨーグルトなどなど… 肉が減り野菜ベースに You are what you eat 双子による食の大規模実験 https://www.netflix.com/watch/81487765 Hack your health バイオーム(腸内環境と精神への影響) https://www.netflix.com/title/81436688 読んで良かった本 生物から見た世界 https://amzn.to/3Di7efb 三体 3 死神永生 https://amzn.to/4fo1RrY プロジェクトヘイルメアリー https://amzn.to/3ZUbKsV 買って良かったもの カスピ海ヨーグルトの種 数字で見るTILFM テック系ポッドキャストランキング 最近は40~150位をうろうろ。 今年最高は 4/1 の13位 聴取数の多かったエピソード 大規模プロジェクトの成功のさせかた。 テック企業の給与・面接・採用プロセス 経済学部からビッグテックのエンジニアになるまで(Hiro Tsujino さん) 書籍「プログラマ脳」に学ぶ認知科学に基づく効果的なプログラミング 【前編】 スタートアップでソフトウェアエンジニアとして10年たって大事にしていることリスト 2004年のゲスト回 3月: ep100. 経済学部からビッグテックのエンジニアになるまで(Hiro Tsujino さん) 10月: ep128. ビッグテック/スタートアップのプロダクトマネジャーの仕事とは?(ゲスト:Kato-Shinさん前編) 11月: ep133. Facilo CTO 梅林さんゲスト回【前編】 感想をぜひハッシュタグ #todayILearnedFM または #tilfm でつぶやいてください! Your co-hosts: Tomoaki Imai, Noxx CTO https://twitter.com/tomoaki_imai Ryoichi Kato, Software Engineer https://twitter.com/ryo1kato
How do you balance the coupling in your application? Carl and Richard talk to Vlad Khononov about his book on Balancing Coupling in Software Design. Vlad talks about three aspects of coupling - information, distance, and volatility. When these aspects are out of balance, such as a pair of services that are distant from each other but highly dependent and need lots of information, development becomes difficult. Where information is high, keeping the distance low makes life easier. This led to a great conversation about Conway's Law and the idea that sometimes changing the team organization can lead to better application development! Check out the book!
How do you balance the coupling in your application? Carl and Richard talk to Vlad Khononov about his book on Balancing Coupling in Software Design. Vlad talks about three aspects of coupling - information, distance, and volatility. When these aspects are out of balance, such as a pair of services that are distant from each other but highly dependent and need lots of information, development becomes difficult. Where information is high, keeping the distance low makes life easier. This led to a great conversation about Conway's Law and the idea that sometimes changing the team organization can lead to better application development! Check out the book!
In this episode of Book Overflow, Carter and Nathan discuss Tidy First? by Kent Beck. Join them as they discuss when you should prioritize tidying your code over feature improvements, what tidying means, and the Beck's thoughts on software and the time value of money! -- Books Mentioned in this Episode -- Note: As an Amazon Associate, we earn from qualifying purchases. ---------------------------------------------------------- Tidy First?: A Personal Exercise in Empirical Software Design by Kent Beck https://amzn.to/40uOEtL (paid link) Refactoring: Improving the Design of Existing Code (2nd Edition) by Martin Fowler https://amzn.to/3C9d5mq (paid link) Building Evolutionary Architectures: Automated Software Governance by Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage https://amzn.to/4fmoIVC (paid link) A Philosophy of Software Design, 2nd Edition by John Ousterhout https://amzn.to/4ecmYgv (paid link) The Practice of Programming by Brian Kernighan, Rob Pike https://amzn.to/4fuMP4b (paid link) ---------------- 00:00 Intro 03:14 About the Book 05:41 Thoughts on the Book 11:17 Techniques and Approaches for Tidying (Part 1) 36:20 How to prioritize and manage tidying tasks (Part 2) 47:30 Optionality, Reversibility and The Philosophy of Tidying (Part 3) 01:05:38 Final Thoughts ---------------- Spotify: https://open.spotify.com/show/5kj6DLCEWR5nHShlSYJI5L Apple Podcasts: https://podcasts.apple.com/us/podcast/book-overflow/id1745257325 X: https://x.com/bookoverflowpod Carter on X: https://x.com/cartermorgan Nathan's Functionally Imperative: www.functionallyimperative.com ---------------- Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week! The full book schedule and links to every major podcast player can be found at https://www.bookoverflow.io
In the latest Building Better Developers episode, Rob Broadhead and Michael Meloche discuss the “Kitchen Sink App.” This season emphasizes building better habits for developers. The Kitchen Sink App involves creating a prototype or template with essential project controls and elements. It helps developers refine designs, ensure consistency, and facilitate productive client conversations. Introducing the Kitchen Sink App The hosts reintroduce the concept discussed in previous episodes. The Kitchen Sink App serves as a foundational tool for early-stage software development. By creating a prototype with key UI controls, styles, and functionalities, developers establish a solid visual and functional baseline. This approach promotes design consistency, encourages code reuse, and enhances client communication about the app's look and feel. Rob's Experience with Technology Sprawl Rob Broadhead opens the episode by sharing a personal story about working with a new client suffering from “technology sprawl.” This client had an unorganized and highly customized system. Which resulted in a massive application landscape where no single person fully understood the entire architecture. Although daunting, Rob points out that this situation offers a unique opportunity for progress. Because no matter where you start, you're making meaningful strides toward organization. The Core Focus of the Kitchen Sink App The Kitchen Sink App focuses on establishing a clear structure for UI controls and elements. Rob highlights how these foundational elements streamline development and minimize redundant work. Developers can standardize controls like buttons, menus, tables, and input fields for desktop or web applications. With a template, developers can quickly build consistent interfaces without recreating components from scratch. Michael adds that this approach also helps avoid rework when clients request design changes. For example, updating button colors in the Kitchen Sink App automatically reflects the change throughout the entire application. Building for Multi-Platform Consistency A key takeaway is building applications with cross-platform capabilities in mind. Michael discusses the shift from standalone desktop apps to web and mobile applications, each with unique styling. With modern frameworks, developers can now build a single application that adapts to multiple platforms. The Kitchen Sink App is valuable here, providing a single source of truth for UI controls and styling across platforms. It helps developers maintain consistency across devices, enhancing the user experience while simplifying maintenance and testing. Real-World Applications and Best Practices Rob and Michael also emphasize how developers can leverage the Kitchen Sink App to prototype features and gather client feedback early on. By showing clients a working prototype, developers can align expectations, iterate on designs, and ensure that the final product meets the client's needs. This proactive approach prevents miscommunication and fosters a collaborative relationship between developers and stakeholders. Moreover, Michael provides a helpful tip: developers working on web applications can use browser developer tools to extract and replicate branding elements from an existing site. This can speed up the process of aligning new software with an organization's established design guidelines. The Episode's Challenge: Build Your Own Kitchen Sink App Rob wraps up the episode with a challenge for developers: build a Kitchen Sink App for your current or upcoming project. Whether you are developing a desktop application or a web-based interface, create a simplified version that includes all essential controls and styles. This exercise not only sharpens your development skills but also prepares you to handle unexpected client requests with ease. Why the Kitchen Sink App is Essential for Streamlined Development This episode of Building Better Developers reinforces the importance of building reusable templates, consistency in design, and the power of a collaborative approach. By implementing the Kitchen Sink App concept, developers can streamline their development process, improve communication with clients, and build applications that are easier to maintain and scale over time. As the episode wraps up, the hosts encourage listeners to experiment with creating their own Kitchen Sink Apps and to share their experiences. This foundational approach to application design serves as a crucial habit for developers aiming to elevate their projects and build better software. Stay Connected: Join the Developreneur Community We invite you to join our community and share your coding journey with us. Whether you're a seasoned developer or just starting, there's always room to learn and grow together. Contact us at info@develpreneur.com with your questions, feedback, or suggestions for future episodes. Together, let's continue exploring the exciting world of software development. Additional Resources The Power of Clickable Demos in the Software Development Lifecycle Building Your Personal Code Repository Building Out Your Application From a Demo Successful Presentation Tips for Developers: Effective Demo Strategies Building Better Habits Videos – With Bonus Content
BONUS: What the UK COVID App Project Taught Us About Remote Agile Collaboration: A Conversation with Giovanni Asproni NOTE: We want to thank the folks at Tuple.app for being so generous with their stories, and supporting the podcast. Visit tuple.app/scrum and share them if you find the app useful! Remember, sharing is caring! In this special BONUS episode, Giovanni Asproni, CTO and co-founder of Launch Ventures, takes us behind the scenes of his work on the UK government's COVID-19 app project. Giovanni shares insights into the rapid development process, the adoption of remote pairing and ensemble programming, and valuable lessons on leadership in large-scale, high-stakes projects. Giovanni also offers practical advice for teams embracing remote collaboration and agile methodologies. The Start of a Crucial Project "When we got the call from the UK government, we knew this was a mission to help stop the spread of the virus." Giovanni kicks off the episode by recounting how his team at Zühlke Engineering got involved in the development of the UK's COVID-19 app. Tasked with the challenge of building a solution that could help prevent the spread of the virus, they were under immense pressure to deliver quickly. Giovanni explains how they tackled technical hurdles, such as using Bluetooth technology to assess contagion risks, despite the lack of existing APIs on iOS and Android at the time. "Speed was essential, but we also needed a robust design—Bluetooth was key to evaluating contagion risks, even though we didn't have the APIs we needed." Overcoming Rapid Release Challenges "We had to move fast, but accessibility and coordination were non-negotiable." Giovanni discusses how the team, which consisted of around 60-70 members spread across the globe, used agile methodologies to stay organized and on schedule. By fostering open communication and using a clear team structure, they were able to streamline development. Agile planning and strong leadership, including cross-team coordination, were crucial to staying on track. "Agile was our backbone—every team knew their responsibility, and clear communication meant we could deploy with confidence." The Power of Remote Pairing and Ensemble Programming "Pairing allowed us to maintain quality under immense pressure." Giovanni dives deep into the practices of remote pairing and ensemble programming (or mobbing), which were introduced to enhance code quality and resilience during the project. With team members working remotely and under heavy scrutiny, mobbing provided a social outlet and improved problem-solving, while tools like Tuple made remote collaboration seamless. He reflects on the success of these practices, highlighting their impact on efficiency and team morale. "We embraced mobbing not just for resilience, but to stay connected in a time when social contact was scarce." Advice for Remote Pairing Beginners "Don't overthink it—just start and take breaks!" For teams new to remote pairing or ensemble programming, Giovanni offers simple but effective advice: give it a serious try, take breaks to avoid burnout, and don't overcomplicate the process. He emphasizes that these practices can dramatically improve productivity and team cohesion if executed well. "Take the plunge—remote pairing can feel awkward at first, but the benefits are worth it." Key Lessons on Remote Work and Collaboration "Don't try to recreate the office—remote work offers unique advantages." Reflecting on the lessons from the COVID-19 app project, Giovanni explains how remote work is not just a substitute for office work but an entirely different mode of collaboration. He warns against trying to replicate office dynamics remotely, and instead, encourages teams to embrace the benefits of remote settings, such as easier scheduling and fewer distractions from management oversight. "Remote work isn't about replicating the office—when done right, it's a whole new way to collaborate." Resources for Learning More "Explore the power of mob programming with these great resources." To wrap up, Giovanni shares a few key resources for listeners who want to dive deeper into remote pairing, ensemble programming, or leadership in software engineering. He recommends "Software Teaming" by Woody Zuill and the Remote Mob Programming website, which offers comprehensive guides and tools. You can also find out more about Giovanni's work at his company website: https://www.asprotunity.com. During the episode, Giovanni mentions a network of consultants, which you can access at: https://www.clockwork.ing. And the podcast Giovanni hosts is the Software Engineering Radio podcast. About Giovanni Asproni Giovanni Asproni is a consultant, CTO, and co-founder of Launch Ventures. He is an expert in agile development, software design, and modern software engineering practices. Giovanni is a host for the Software Engineering Radio podcast and a frequent speaker at international conferences. You can link with Giovanni Asproni on LinkedIn.
John Ousterhout, Professor of Computer Science at Stanford University, visits Google to discuss the complex techniques that can help you to become a more confident coder. John is excited to announce that he just published the first edition of a new book on software design, based on material from a software design class he has been teaching at Stanford for the last several years. Prior to joining Stanford, John spent 14 years in industry where he founded two companies, preceded by another 14 years as a professor at Berkeley. Over the course of his career, Professor Ousterhout has built a number of influential coding systems and has taught several courses on software design. In this talk, he synthesizes these experiences into an insightful and provocative discussion on how to (and how not to) design software. Originally published in August of 2018. Visit http://youtube.com/TalksAtGoogle/ to watch the video.
In this special episode of Book Overflow, Carl Brown (of the YouTube channel Internet of Bugs) joins Carter and Nathan to share some of his favorite books! Carl is incredibly well read and shares which books have influenced him over his very impressive 35 year career. 00:00 Intro 02:17 How did Internet of Bugs come to be? 06:03 Why still read tech books? 08:32 Mythical Man-Month 14:40 Philosophy of Software Design, TCL/TK, 25:56 Advanced Programming in Unix and TCP/IP Illustrated 32:32 How important is it to be well-versed in Unix? 42:27 Freelance, Business, and Consulting book recommendations 52:57 Lightning Round: Managing your programming career, philosophy, and general advice 01:02:34 Final Thoughts -- Books Mentioned in this Episode -- Note: As an Amazon Associate, we earn from qualifying purchases. ---------------------------------------------------------- App Accomplished: Strategies for App Development Success 1st Edition, Kindle Edition by Carl Brown https://amzn.to/473mG9C (paid link) Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition Anniversary Edition by Frederick Brooks Jr. https://amzn.to/3XnDhlm (paid link) A Philosophy of Software Design, 2nd Edition by John Ousterhout https://amzn.to/473OISA (paid link) Tcl and the Tk Toolkit 1st Edition by John K. Ousterhout https://amzn.to/3X7sdHX (paid link) Advanced Programming in the Unix Environment by W. Richard Stevens https://amzn.to/477PayZ (paid link) TCP/IP Illustrated, Vol. 1: The Protocols by W. Richard Stevens https://amzn.to/3T6ZFgo (paid link) {Carl says Volumes 2 and 3 are great, too} Sun Performance and Tuning: Java and the Internet (2nd Edition) Subsequent Edition by Adrian Cockcroft, Richard Pettit https://amzn.to/3Xkczdt (paid link) Free Agent Nation: How America's New Independent Workers Are Transforming the Way We Live by Daniel H. Pink https://amzn.to/47mhDBD (paid link) The Computer Consultant's Guide: Real-Life Strategies for Building a Successful Consulting Career 2nd Edition by Janet Ruhl https://amzn.to/3T9IT0d (paid link) Getting Started in Consulting by Alan Weiss https://amzn.to/3T7INpY (paid link) The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas https://amzn.to/3T6lvk9 (paid link) The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery by David Thomas, Andrew Hunt, et al. https://amzn.to/3TafdQp (paid link) My Job Went to India (and All I Got Was This Lousy Book): 52 Ways to Save Your Job (Pragmatic Programmers) 1st Edition by Chad Fowler https://amzn.to/3T8ubGu (paid link) Programming Perl by Tom Christiansen, Randal L. Schwartz, et al. https://amzn.to/4g32KYy (paid link) Speed Reading: Third Edition by Tony Buzan https://amzn.to/3X7qCla (paid link) The 7 Habits of Highly Effective People: 30th Anniversary Edition (The Covey Habits Series) by Stephen R. Covey , Jim Collins, et al. https://amzn.to/4geWVYm (paid link) Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) by Steve Krug | Dec 24, 2013 https://amzn.to/3X1RRxD (paid link) Database in Depth: Relational Theory for Practitioners by C. J. Date | May 15, 2005 https://amzn.to/3z055D4 (paid link) Joe Celko's SQL for Smarties: Advanced SQL Programming by Joe Celko | Dec 16, 2014 https://amzn.to/4geWYn0 (paid link) Problem Frames and Methods: Analysing and Structuring Software Development Problems Paperback – January 1, 2001 by Michael A. Jackson https://amzn.to/4g6sdjO (paid link) Learning to Classify Text Using Support Vector Machines 2nd Edition by Thorsten Joachims https://amzn.to/3ACf95y (paid link) Driving Technical Change: Why People On Your Team Don't Act On Good Ideas, and How to Convince Them They Should by Terrence Ryan | Dec 28, 2010 https://amzn.to/3MoUpRC (paid link) Understanding Deep Learning by Simon J.D. Prince https://amzn.to/3TafqTH (paid link) As an Amazon Associate, we earn from qualifying purchases.
“Coupling is an inherent part of system design, not something that is necessarily good or evil. How we design coupling can take our system either towards complexity or towards modularity." Vladik Khononov returns to the podcast to discuss his latest book “Balancing Coupling in Software Design”. In this episode, Vlad revisits the essence of coupling, a term often not fully understood, and explores its implications on software complexity and modularity. Vlad introduces the concept of shared lifecycle and shared knowledge, revealing the hidden dependencies that can undermine even the most well-intentioned designs. He also explains complexity through the lens of the Cynefin framework and delves into the differences between essential and accidental complexity. One of the episode's highlights is Vlad's unique framework for evaluating coupling. He introduces the three dimensions of integration strength, distance, and volatility, providing a practical model for assessing and balancing coupling in software design. He also challenges traditional definitions of modularity, emphasizing the importance of knowledge boundaries. Whether you're a seasoned tech lead or an aspiring software engineer, this episode offers invaluable insights into building maintainable and modular software systems. It will leave you with a deeper appreciation for the delicate balance between coupling and complexity. Listen out for: Writing about Coupling - [00:03:28] Coupling - [00:06:09] Shared Lifecycle & Knowledge - [00:08:17] Cynefin - [00:12:28] Essential vs Accidental Complexity - [00:19:00] Modularity - [00:22:45] Abstraction & Knowledge Boundary - [00:29:04] 3 Dimensions of Coupling - [00:36:25] Balancing Coupling - [00:58:11] 3 Tech Lead Wisdom - [01:02:30] _____ Vladik Khononov's BioVlad Khononov is a software engineer with extensive industry experience, working for companies large and small in roles ranging from webmaster to chief architect. His core areas of expertise are distributed systems and software design. Vlad consults with companies to make sense of their business domains, untangle monoliths, and tackle complex architectural challenges. Vlad maintains an active media career as a public speaker and author. Prior to Balancing Coupling in Software Design, he authored the best-selling O'Reilly book Learning Domain-Driven Design. He is a sought-after keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general. Follow Vladik: LinkedIn – linkedin.com/in/vladikk Twitter / X – @vladikk
Chris Stjernlöf got nerd-sniped and ended up writing down his practices of reliable software design, Ben Visness has had enough with the npm community's propensity to pull in micro-libraries to suit every need, "Stay SaaSy" makes three metaphors for problem solving categories, Troy Hunt takes us inside the "3 billion people" National Public Data breach & Dasel is one data tool to rule them all.
Chris Stjernlöf got nerd-sniped and ended up writing down his practices of reliable software design, Ben Visness has had enough with the npm community's propensity to pull in micro-libraries to suit every need, "Stay SaaSy" makes three metaphors for problem solving categories, Troy Hunt takes us inside the "3 billion people" National Public Data breach & Dasel is one data tool to rule them all.
Chris Stjernlöf got nerd-sniped and ended up writing down his practices of reliable software design, Ben Visness has had enough with the npm community's propensity to pull in micro-libraries to suit every need, "Stay SaaSy" makes three metaphors for problem solving categories, Troy Hunt takes us inside the "3 billion people" National Public Data breach & Dasel is one data tool to rule them all.
In this special episode of Book Overflow, Dr. John Ousterhout joins Carter and Nathan to discuss his book "A Philosophy of Software Design." He reflects on why he wrote the book, how he teaches the principles in it to his Stanford students, and what we can learn from our mistakes. --------------- 00:00 Intro 01:18 Motivation for writing this book 06:17 Why No TAs for Stanford Class 08:55 Thoughts on TDD 14:24 Design it Twice 20:30 Most Surprising Feedback 31:46 Taking suggestions with a grain of salt 33:20 Curiosity and Humility 36:13 Misunderstandings from the book 39:37 Strong opinions, humility, and fear of being wrong 44:35 Unconventional Career Paths 50:13 What are you reading? 51:22 Thoughts on Clean Code 53:50 Advice for new software engineers 58:00 Closing Thoughts
MIT Professor Daniel Jackson, associate director of CSAIL and the author of The Essence of Software, argues that if your design is flawed, so is your product. In this podcast, Prof. Jackson shares some cases where software design makes or breaks big companies and what can be done to improve software design in the future. Find out more here: cap.csail.mit.edu
Carter Morgan and Nathan Toups discuss "A Philosophy of Software Design" by John Ousterhout. Join them as they talk about pulling complexity downward, the importance of code clarity, and the book's subtle rebuttals to Uncle Bob's Clean Code!
How important are negotiation skills in software design?
It's the season finale of Elixir Wizards Office Hours! SmartLogic's Project Manager Alicia Brindisi and VP of Delivery Bri LaVorgna join host Dan to delve into the agile ceremony of retrospectives. They explore the vital role of retrospectives in Agile project management and unveil practical strategies for enhancing their effectiveness. Alicia and Bri break down the elements of a successful retrospective. They cover everything from meticulous preparation to facilitation techniques, and how to choose the best format for fostering open dialogue and actionable results. Learn how to navigate common obstacles and guide discussions toward productive, solution-focused outcomes. Throughout the episode, they emphasize the transformative potential of retrospectives within the Agile framework, portraying them not just as a procedural activity, but as a catalyst for continuous team growth and project success. Key topics discussed in this episode: Mastering the full potential of retrospectives in Agile environments Best practices for effective preparation and facilitation Choosing the right format to suit your team's dynamics Strategies for overcoming typical challenges during retrospectives Techniques for addressing and resolving interpersonal conflicts constructively The critical importance of valuing each team member's perspective Practical advice on applying insights from retrospectives to enact organizational changes Tailoring and refining retrospectives to meet your team's unique requirements Links mentioned: SmartLogic https://smartlogic.io/ SmartLogic LinkedIn https://www.linkedin.com/company/smartlogic-io Contact Bri Bri@smartlogic.io Retrium Retrospectives for Scrum & Agile Teams https://www.retrium.com/ 4Ls Retrospective Template https://www.retrium.com/retrospective-techniques/4ls Start Stop Continue Retrospective https://www.retrium.com/retrospective-techniques/start-stop-continue Sailboat Retrospective https://www.retrium.com/retrospective-techniques/sailboat Starfish Retrospective https://www.retrium.com/retrospective-techniques/starfish ClickUp Project Management Platform https://clickup.com/teams/project-management Asana Task Manager http://www.asana.com Jira Project Management Tool https://www.atlassian.com/software/jira Special Guests: Alicia Brindisi and Bri LaVorgna.
Adam Tornhill is a programmer who combines degrees in engineering and psychology. He's the CTO and founder of CodeScene, where he develops tools for software engineering intelligence. Adam is also the author of multiple technical books, including Lisp for the Web, Software Design X-Rays, Patterns in C, and the best-selling Your Code as a Crime Scene. Adam … The post 263 Software Design X-Rays and Hotspots first appeared on Agile Noir.
In Elixir Wizards Office Hours Episode 4, SmartLogic Product Designer Ava Slivkoff joins hosts Sundi Myint and Owen Bickford to discuss the product designer's role in software development. Ava shares her experience navigating client expectations, software design principles, and technical constraints. They explore the integration of design and development workflows and how designers and engineers can collaborate to meet a project's specific needs. The conversation emphasizes the value of cross-functional teams and the synergy that can arise when all team members work in harmony to bring a product to life. Key concepts discussed in the episode: The broad scope of the designer role in web app development The value of an MVP in the iterative software design process Challenges of aligning client expectations with design best practices Pros and cons of leveraging pre-built Tailwind CSS styled components Trends and evolution in web design aesthetics and patterns Leveraging open-source design systems like Tailwind UI Balancing technical constraints with design aspirations Communication and trust-building between designers and engineers Workflows for design handoffs and feedback loops Importance of user flows and mapping the product experience Challenges around the implementation of complex UI elements Benefits of regular design review meetings and syncs Fostering empathy and collaboration across disciplines Links mentioned Figma Dev Mode https://www.figma.com/dev-mode/ Tailwind CSS utility-first CSS framework https://tailwindcss.com/ Tailwind UI https://tailwindui.com/ https://devinai.ai/ Special Guest: Ava Slivkoff.
Greg Wilson has been on a decades-long quest to transform how we teach and talk about software design. From getting rejections for using the term “beautiful code,” to empowering scientists through workshops on Python and Unix, Greg has pushed to bridge the gap between theory and practice. Join us as Greg shares his failures and epiphanies along the way. You'll hear how he revolutionized research computing by showing physicists the power of profilers. How he taught grad students the elegance of shell scripts. And how he's crusaded to create a shared language to discuss software architecture with the nuance of true craftsmanship. Greg's captivating journey reveals that with perseverance and the right examples, we can elevate software design discussion to an art form. But that we've got a long way to go. You'll come away enlightened and eager to level up your own understanding of software design. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
For the final episode of Elixir Wizards' Season 11 “Branching Out from Elixir,” we're featuring a recent discussion from the Software Unscripted podcast. In this conversation, José Valim, creator of Elixir, interviews Richard Feldman, creator of Roc. They compare notes on the process and considerations for creating a language. This episode covers the origins of creating a language, its influences, and how goals shape the tradeoffs in programming language design. José and Richard share anecdotes from their experiences guiding the evolution of Elixir and Roc. The discussion provides an insightful look at the experimentation and learning involved in crafting new languages. Topics discussed in this episode What inspires the creation of a new programming language Goals and use cases for a programming language Influences from Elm, Rust, Haskell, Go, OCaml, and more Tradeoffs involved in expressiveness of type systems Opportunistic mutation for performance gains in a functional language Minimum version selection for dependency resolution Build time considerations with type checking and monomorphization Design experiments and rolling back features that don't work out History from the first simple interpreter to today's real programming language Design considerations around package management and versioning Participation in Advent of Code to gain new users and feedback Providing performance optimization tools to users in the future Tradeoffs involved in picking integer types and arithmetic Comparing floats and equality checks on dictionaries Using abilities to customize equality for custom types Ensuring availability of multiple package versions for incremental upgrades Treating major version bumps as separate artifacts Roc's focus on single-threaded performance Links mentioned in this episode Software Unscripted Podcast https://feeds.resonaterecordings.com/software-unscripted Roc Programming Language https://www.roc-lang.org/ Roc Lang on Github https://github.com/roc-lang/roc Elm Programming Language https://elm-lang.org/ Elm in Action by Richard Feldman https://www.manning.com/books/elm-in-action Richard Feldman on Github https://github.com/rtfeldman Lua Programming Language https://www.lua.org/ Vimscript Guide https://google.github.io/styleguide/vimscriptfull.xml OCaml Programming Language https://ocaml.org/ Advent of Code https://adventofcode.com/ Roc Language on Twitter https://twitter.com/roclang Richard Feldman on Twitter https://twitter.com/rtfeldman Roc Zulip Chat https://roc.zulipchat.com Clojure Programming Language https://clojure.org/ Talk: Persistent Data Structures and Managed References by Rich Hickey https://www.youtube.com/watch?v=toD45DtVCFM Koka Programming Language https://koka-lang.github.io/koka/doc/index.html Flix Programming Language https://flix.dev/ Clojure Transients https://clojure.org/reference/transients Haskell Software Transactional Memory https://wiki.haskell.org/Softwaretransactional_memory Rust Traits https://doc.rust-lang.org/book/ch10-02-traits.html CoffeeScript https://coffeescript.org/ Cargo Package Management https://doc.rust-lang.org/book/ch01-03-hello-cargo.html Versioning in Golang https://research.swtch.com/vgo-principles Special Guests: José Valim and Richard Feldman.
Today on Elixir Wizards, Wojtek Mach of HexPM and Amal Hussein, engineering leader and former NPM team member, join Owen Bickford to compare notes on package management in Elixir vs. JavaScript. This lively conversation covers everything from best practices for dependency management to API design, SemVer (semantic versioning), and the dark ages of web development before package managers existed. The guests debate philosophical differences between the JavaScript and Elixir communities. They highlight the JavaScript ecosystem's maturity and identify potential areas of improvement, contrasted against Elixir's emphasis on minimal dependencies. Both guests encourage engineers to publish packages, even small ones, as a learning opportunity. Topics discussed in this episode: Leveraging community packages rather than reinventing the wheel Vetting packages carefully before adopting them as dependencies Evaluating security, performance, and bundle size when assessing packages Managing transitive dependencies pulled in by packages Why semantic versioning is difficult to consistently enforce Designing APIs with extensibility and backward compatibility in mind Using tools like deprecations to avoid breaking changes in new releases JavaScript's preference for code reuse over minimization The Elixir community's minimal dependencies and avoidance of tech debt Challenges in early package management, such as global dependency Learning from tools like Ruby Gems and Bundler to improve experience How log files provide visibility into dependency management actions How lock files pin dependency versions for consistency Publishing packages democratizes access and provides learning opportunities Linting to enforce standards and prevent certain bugs Primitive-focused packages provide flexibility over highly opinionated ones Suggestions for improving documentation and guides Benefits of collaboration between programming language communities Links mentioned in this episode: Node.js https://github.com/nodejs npm JavaScript Package Manager https://github.com/npm JS Party Podcast https://changelog.com/jsparty Dashbit https://dashbit.co/ HexPM Package Manager for Erlang https://hex.pm/ HTTP Client for Elixir https://github.com/wojtekmach/req Ecto Database-Wrapper for Elixir https://github.com/elixir-ecto (Not an ORM) XState Actor-Based State Management for JavaScript https://xstate.js.org/docs/ Supply Chain Protection for JavaScript, Python, and Go https://socket.dev/ MixAudit https://github.com/mirego/mixaudit NimbleTOTP Library for 2FA https://hexdocs.pm/nimbletotp/NimbleTOTP.html Microsoft Azure https://github.com/Azure Patch Package https://www.npmjs.com/package/patch-package Ruby Bundler to manage Gem dependencies https://github.com/rubygems/bundler npm-shrinkwrap https://docs.npmjs.com/cli/v10/commands/npm-shrinkwrap SemVer Semantic Versioner for NPM https://www.npmjs.com/package/semver Spec-ulation Keynote - Rich Hickey https://www.youtube.com/watch?v=oyLBGkS5ICk Amal's favorite Linter https://eslint.org/ Elixir Mint Functional HTTP Client for Elixir https://github.com/elixir-mint Tailwind Open Source CSS Framework https://tailwindcss.com/ WebauthnComponents https://hex.pm/packages/webauthn_components Special Guests: Amal Hussein and Wojtek Mach.
In this episode Claire Milligan, CEO of Amiably, shares her journey from software design to entrepreneurship and the importance of understanding the full business context when making decisions. She discusses the challenges of starting a company and the role of private equity firms in driving enterprise value. Milligan emphasizes the need for financial expertise within technical teams and the importance of managing cloud spend. She also reveals her personal experience with ADHD and how it has shaped her understanding of prioritization and motivation. Whether she's helping businesses transform their cloud spending or hitting the slopes as a ski patroller, Claire Milligan thrives on distilling complex problems down to their core issues — and turning these pragmatic findings into groundbreaking solutions. Through a journey spanning marketing, UX, and leadership roles at tech companies like Tallie and SpringAhead, she's meticulously constructed a diverse skill set built upon hands-on expertise and an unrelenting thirst for knowledge. Now, as the CEO of startup Aimably, she's applying her unique superpowers to help businesses grow by spending smarter and dramatically reducing their cloud costs. You can connect with Claire in the following ways: Website: https://www.aimably.com/ Linkedin: https://www.linkedin.com/in/clairemilligan/ Whether you are a C-Suite Leader of today or tomorrow, take charge of your career with confidence and leverage the insights of The CEO's Compass: Your Guide to Get Back on Track. To learn more about The CEO's Compass, you can get your copy here: https://amzn.to/3AKiflR Other episodes you'll enjoy: C-Suite Goal Setting: How To Create A Roadmap For Your Career Success - http://bit.ly/3XwI55n Natalya Berdikyan: Investing in Yourself to Serve Others on Apple Podcasts -http://bit.ly/3ZMx8yw Questions to Guarantee You Accomplish Your Goals - http://bit.ly/3QASvymSee omnystudio.com/listener for privacy information.
Author, engineer, manager, and professor, Dr. Greg Wilson joined Elecia to talk about teaching, science in computer science, ethics, and policy. The request for curriculum that started the conversation was the Cost of Change, part of NeverWorkInTheory which summarizes scientific literature about software development. Greg is the founder of Software Carpentry, a site that creates curriculum for teaching software concepts (including data and library science). Software Carpentry has great lessons for those who want to learn about software, data, and library science. It is a great site if you are teaching, trying to get someone else to teach, learning, or looking for some guidance on how to do the above. Check out their reading list. Greg's site is The Third Bit. Here you can find his books including full copies of several of his books including The Architecture of Open Source Applications, Teaching Tech Together, and most recently Software Design by Example. Transcript