Modern JavaScript Testing: Integration, Contract Testing & AI Tools - JSJ 692

Modern JavaScript Testing: Integration, Contract Testing & AI Tools - JSJ 692

In this episode of JavaScript Jabber, I sit down with Dan Shapir and our special guest, Yoni Goldberg, to dive deep into the ever-evolving world of JavaScript testing. Yoni, a consultant who’s worked with over 40 organizations to refine developer workflows, shares valuable lessons learned from helping teams design efficient and reliable tests.

We explore emerging trends in testing, including the rise of browser-based test runners, the shift from unit testing toward more integration and component testing, and how modern frameworks like Playwright, Vite Test Browser Mode, and Storybook are changing the way developers think about confidence in their code. We also tackle the role of AI in writing and maintaining tests, the pros and cons of mocking vs. real backends, and why contract testing is becoming essential in 2025.

If you’ve ever struggled with flaky end-to-end tests, wondered how to balance speed with confidence, or wanted a clear breakdown of modern testing tools, this conversation will give you practical insights and fresh perspectives to take back to your projects.

Links & Resources

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Episoder(729)

JSJ 396: Publishing Your Book with Jonathan Lee Martin

JSJ 396: Publishing Your Book with Jonathan Lee Martin

Jonathan Lee Martin is an instructor and developer. He got his start in teaching at Big Nerd Ranch doing 1-2 week trainings for mid to senior developers, and then transitioned to 16 week courses for career switchers. He also worked for Digital Crafts for a year, and then wanted to focus on building out his own personal teaching brand. One of his first steps toward building his own brand was to publish his book, Functional Design Patterns for Express.js.The inspiration for Jonathan’s book came from his experience teaching career switchers. He wanted to experiment in the classroom with teaching functional programming in a way that would be very approachable and applicable and dispel some of the magic around backend programming, and that became the template for the book. Jonathan loves the minimalist nature of Express.js and talks about its many uses. He believes that it knowing design patterns can take you pretty far in programming, and this view is related to his background in Rails. When he was working in Rails taming huge middleware stacks, he discovered that applying design patterns made builds take less time. He talks about other situations where knowing design patterns has helped. Express.js leans towards object oriented style over functional programming, and so it takes to these patterns well. Express.js has its shortcomings, and that’s where Jonathan’s favorite library Koa comes into play. The conversation switches back to Jonathan’s book, which is a good way to start learning these higher level concepts. He purposely made it appealing to mid and senior level programmers, but at the same time it does not require a lot of background knowledge. Jonathan talks about his teaching methods that give people a proper appreciation for the tool. Jonathan talks more about why he likes to use Express.js and chose to use it for his book. He cautions that his book is not a book of monads, but rather about being influenced by the idea of composition over inheritance. He talks about the role of middleware in programming. The panel asks about Jonathan’s toolchain and approach to writing books, and he explains how his books are set up to show code. They discuss the different forms required when publishing a book such as epub, MOBI, and PDF. Jonathan found it difficult to distribute his book through Amazon, so he talks about how he built his own server. Charles notes that your method of distributing your book will depend on your goal. If you want to make the most money possible, make your own site. If you want to get it into as many hands as possible, get it on Amazon.Many of the JavaScript Jabber panelists have had experience publishing books, and Jonathan shares that you can reach out to a publisher after you’ve self-published a book and they can get it distributed. Jonathan believes that If he had gone straight to a publisher, he would have gotten overwhelmed and given up on the book, but the step by step process of self-publishing kept things manageable. The panelists discuss difficulties encountered when publishing and editing books, especially with Markdown. Jonathan compares the perks of self-editing to traditional editing. Though he does not plan to opensource his entire editing pipeline, he may make some parts available. The show concludes with the panelists discussing the clout that comes with being a published author. PanelistsCharles Max WoodChristopher Buecheler J.C. HyattWith special guest: Jonathan Lee MartinSponsorsAdventures in BlockchainSentry use the code “devchat” for 2 months free on Sentry’s small plan The Freelancers’ ShowLinksBig Nerd RanchDigital CraftsJSJ 070: Book Club JavaScript Allonge with Reginald BraithwaiteJavaScript Allonge by Reginald BraithwaiteFunctional Design Patterns for Express JS by Jonathan Lee MartinNode.jsExpress.jsKoaMinjs  SinatraHttp.createserverMonadsMiddleware  MarkdownPandocDiff-match-path libraryEpubMOBILaTeX Stripe CheckoutFstoppersSoftcoverBookseller API  Follow DevChatTV on Facebook and Twitter PicksChristopher Buecheler:Cluisbrace.com newsletterJ.C. Hyatt:Corsair wireless charging mouse padCharles Max Wood:Magnetic whiteboard basketsMrs. Piggle-Wiggle booksJonathan Lee Martin:Eric Elliot JSYellowScale Follow Jonathan and find his book at jonathanleemartin.comSpecial Guest: Jonathan Lee Martin. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

1 Okt 201958min

JSJ 395: The New Ember with Mike North

JSJ 395: The New Ember with Mike North

Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interfaceThe panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites.They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible.The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. PanelistsCharles Max WoodSteve EmmerichChris FerdinandiAimee KnightAJ O’NealChristopher BuechelerWith special guest: Mike NorthSponsorsReact Native RadioSentry use the code “devchat” for 2 months free on Sentry’s small plan Dev Ed PodcastLinksEmberFrontend MastersIE8Ember OctaneSprout CoreTypeScriptES6Lodash  MochaBackstop.js  Semverhttps://twitter.com/thefalken/status/1177483501777473537 Follow DevChatTV on Facebook and Twitter PicksChris Ferdinandi:Vanilla JS Academy, get 30% off with code ‘jsjabber’ leanweb.devSteve Emmerich:123 MagicRGDKAimee Knight:Recursion blog postWholesome Provisions Protein CerealAJ O’Neal:Carby V2 by Insurrection IndustriesGameCube ModsCharles Max Wood:Nikon D5600Rode NewsshooterViltrox light panelQuest Nutrition pumpkin barsChristopher Buecheler: Tool’s Fear Inoculum on Apple Music, Spotify, and Google PlayMike North:Github UniverseGithub Tracer Bench Follow Mike @mike-north on Github, @northm on LinkedIn, and @michaellnorth on TwitterSpecial Guest: Mike North. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

26 Sep 20191h 8min

JSJ 394: SMS Integration with Dominik Kundel

JSJ 394: SMS Integration with Dominik Kundel

Episode SummaryDominik Kundel works as developer evangelist at Twilio. Dominik talks about the history of Twilio, which actually started with integrating phone calls into apps and then moved to SMS integration. Today Charles and Dominik are talking about how the SMS message approach can augment your user experience. Since many people are not familiar with implementing SMS, Dominik talks about how Twilio can help. Twilio created was a supernetwork where they work with carriers and gateways around the world to ensure that they provide reliable services. They also focus heavily on making sure that the developer experience is great.Uber and Lyft are two of the companies that use Twilio, and Dominik shares some of the interesting things that they’ve accomplished. He is particularly excited about phone number masking to support privacy. Uber and Lyft use phone number masking so that your driver doesn’t see your real number and you don’t see theirs. Instead, each of you sees a Twilio number. This use case is becoming more common. Twilio recently introduced Flex, which Dominik explains is their contact center solution. Flex is designed to keep with their philosophy of everything should be programmable and configurable, and take it on to a software shipment. This is their first time shipping software instead of just APIs. Flex is highly customizable and flexible, allows you to build React plugins that let you change anything you want.Charles asks Dominik about some of the gotchas in telephony. One major issues is spam calls, which Twilio is trying to work with some providers on a ‘verified by Twilio’ list. This list lets companies get verified, and they’re working on ways to let you know the reason why they’re calling without having to answer your phone. This can be difficult because each country has different regulations.Dominik talks about what it would take for someone who wanted to build an SMS gateway themselves. They would have to work with carriers and learn SMS protocols. It’s important to note that SMS and phone calls have different protocolsDominik talks about some of the unique use cases they’ve seen their system. Some examples are contextual communications, account verifications, and codex creation. There are other fun examples, such as a drone controlled via text message, a fake boyfriend app, and a dog that was taught to take selfies that are sent to his owner. Charles asks about ways to get started with Twilio. If you want to explore this and don’t know where to get started, try Twilio Quest, a game to teach you how to use Twilio. There is also documentation, which is good if you know exactly what you want to achieve, or if you just want to explore possibilities then download Twilio Quest. They delve into a more specific use case for Twilio to send text to subscibers of DevChatTV. Dominik talks about ways of dealing with sending notifications to people outside of the US. You can send with a US number to any country code, or you can personalize it, so that people in the UK receive it from a UK number and so on through automatic geocode matching. They talk about Twilio’s billing. Finally, they talk about security within telephony in light of recent hacks. They discuss the security of two factor authentication.Two factor authentication and security, especially in light of recent hacks. Dominik talks about the API called Authy, where you can implement different ways of doing two factor authentication, such as push notifications, time based one time password, sms, and phone calls. For most people in the world two factor authentication is very safe, unless you’re a very important person, then you’re more at risk for targeted attacks. They conclude by talking about Twilio’s acquisition of Sendgrid.PanelistsCharles Max WoodWith special guest: Dominik KundelSponsorsiPhreaks ShowSentry use the code “devchat” for 2 months free on Sentry’s small plan Ruby RoguesLinksTwilioFlexReactRustTwilio QuestTwilio docsTwilio Completes Acquisition of SendgridAuthy Follow DevChatTV on Facebook and Twitter PicksCharles Max Wood:Superfans by Pat FlynnNeilpatel.com   Dominik Kundel:Enable a setting called javascript.implicitFollow him @dkundelSpecial Guest: Dominik Kundel. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Sep 201928min

JSJ 393: Why You Should Be Using Web Workers with Surma

JSJ 393: Why You Should Be Using Web Workers with Surma

Episode SummarySurma is an open web advocate for Google currently working with WebAssembly team. He was invited on the show today to talk about using web workers and how to move work away from the browser’s main thread. His primary platform is bringing multithreading out of the fringes and into the web. The panel talks about their past experience with web workers, and many of them found them isolated and difficult to use. Surma believes that web workers should pretty much always be sued because the main thread is an inherently bad place to run your code because it has to do so much. Surma details the differences between web workers, service workers, and worklets and explains what the compositer is. The panel discusses what parts should be moved off the main thread and how to move the logic over. Surma notes that the additional cost of using a worker is basically nonexistent, changes almost nothing in your workflow, and takes up only one kilobyte of memory. Therefore, the cost/benefit ratio of using web workers gets very large. They discuss debugging in a web worker and Surma details how debugging is better in web workers. Surma wants to see people use workers not because it will make it faster, but because it will make your app more resilient across all devices. Every piece of JavaScript you run could be the straw that breaks the camel’s back. There’s so much to do on the main thread for the browser, especially when it has a weaker processor, that the more stuff you can move away, the better.The web is tailored for the most powerful phones, but a large portion of the population does not have the most powerful phone available, and moving things over to a web worker will benefit the average phone. Surma talks about his experience using the Nokia 2, on which simple apps run very slow because they are not being frugal with the user’s resources. Moving things to another thread will help phones like this run faster.  The panel discusses the benefit of using web workers from a business standpoint. The argument is similar to that for accessibility. Though a user may not need that accessibility all the time, they could become in need of it. Making the app run better on low end devices will also increase the target audience, which is helpful is user acquisition is your principle metric for success. Surma wants businesses to understand that while this is beneficial for people in countries like India, there is also a very wide spectrum of phone performance in America. He wants to help all of these people and wants companies acknowledge this spectrum and to look at the benefits of using web workers to improve performance.PanelistsCharles Max WoodChristopher BuechelerAimee KnightAJ O’NealWith special guest: SurmaSponsorsAdventures in DevOpsSentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in AngularLinksWeb workersService workersWorklets  Ecto modelBabelSwooshComlinkWhatsApp Follow DevChatTV on Facebook and Twitter PicksCharles Max Wood:For Love of Mother-NotSurma: Follow Surma @DasSurma on Twitter and at dassur.maWebAssembly SpecAJ O’Neal:The GameCube UltimatePikmin for Wii and GameCubeSuper Monkey BallChristopher BuechelerCinemaSins Sincast podcastSpecial Guest: Surma. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

19 Sep 201957min

JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford

JSJ 392: The Murky Past and Misty Future of JavaScript with Douglas Crockford

Episode SummaryDouglas is a language architect and helped with the development of JavaScript. He started working with JavaScript in 2000. He talks about his journey with the language, including his initial confusion and struggles, which led him to write his book JavaScript: The Good Parts.Douglas’ take on JavaScript is unique because he not only talks about what he likes, but what he doesn’t like. Charles and Douglas discuss some of the bad parts of JavaScript, many of which were mistakes because the language was designed and released in too little time. Other mistakes were copied intentionally from other languages because people are emotionally attached to the way things “have always been done”, even if there is a better way.Doug takes a minimalist approach to programming. They talk about his opinions on pairing back the standard library and bringing in what’s needed. Douglas believes that using every feature of the language in everything you make is going to get you into trouble. Charles and Douglas talk about how to identify what parts are useful and what parts are not.Douglas delves into some of the issues with the ‘this’ variable. He has experimented with getting rid of ‘this’ and found that it made things easier and programs smaller. More pointers on how to do functional programming can be found in his book How JavaScript Works Charles and Douglas talk about how he decided which parts were good and bad. Douglas talks about how automatic semicolon insertion and ++ programming are terrible, and his experiments with getting rid of them. He explains the origin of JS Lint. After all, most of our time is not spent coding, it’s spent debugging and maintaining, so there’s no point in optimizing keystrokes.Douglas talks about his experience on the ECMAScript development committee and developing JavaScript. He believes that the most important features in ES6 were modules and proper tail calls. They discuss whether or not progression or digression is occurring within JavaScript. Douglas disagrees with all the ‘clutter’ that is being added and the prevalent logical fallacy that if more complexity is added in the language then the program will be simpler. Charles asks Douglas about his plans for the future. His current priority is the next language. He talks about the things that JavaScript got right, but does not believe that it should not be the last language. He shares how he thinks that languages should progress. There should be a focus on security, and security should be factored into the language. Douglas is working on an implementation for a new language he calls Misty. He talks about where he sees Misty being implemented. He talks about his Frontend Masters course on functional programming and other projects he’s working on. The show concludes with Douglas talking about the importance of teaching history in programming. PanelistsCharles Max WoodWith special guest: Douglas CrockfordSponsorsSustain Our SoftwareSentry use the code “devchat” for 2 months free on Sentry’s small plan Views on VueLinksJavaScript: The Good PartsHow JavaSript Works“This” variableECMAScriptC++JS LintECMA TC39DojoPromiseRxJSDrsesMistyTail callFrontend Masters course JavaScript the Good Parts Follow DevChatTV on Facebook and Twitter PicksCharles Max Wood:Superfans by Pat Flynn SEO course Agency Unlocked by Neil PatelDouglas Crockford:The Art of Computer Programming by Donald KnuthGame of Thrones Follow Douglas at crockford.comSpecial Guest: Douglas Crockford. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

17 Sep 20191h 13min

JSJ 391: Debugging with Todd Gardner

JSJ 391: Debugging with Todd Gardner

Episode SummaryTodd Gardner is a software developer, podcaster on the show Script and Style, startup founder,  and comedy host for Pub Conf, a ‘comedy after party for developers’. Since he was last on the show 6 years ago, he has seen his startup TrackJS become quite successful. TrackJS is a JavaScript error monitoring service which gives you visibility into your client side experience. It’s different from other tools because focused on simplicity, so you’ll never need a guy on your team dedicated solely to TrackJS because everyone can use it.The panel begins by talking about debugging methods and tools. Some rely solely on the debugger built into their platform while others prefer to use a third party service. They discuss the necessity of using a third party debugger and if there are better solutions than just the built in debugger. They then discuss what to do after you’ve fixed a bug, such as if it is necessary to write a test to make sure it was completely fixed They talk about things to do to make debugging more effective. Todd and Aimee believe that code needs to begin by being designed for debug-ability. The panel discusses issues with invisible boundaries encountered while debugging, such as running out of memory. They talk about ways to mitigate issues that happen outside of your code base. Todd talks about the dangers of ad-blockers, and the panel agrees that it is important to consider how your website will be crippled by the user’s own technology. The end user in a production environment will have a different experience than you did writing it on a professional computer. Todd talks about the difference between debugging for the web versus a mobile application. Todd has encountered particular problems with debugging on a remote device, and he talks about how he solved the issue. The show concludes with Todd giving a quick elevator pitch for TrackJSPanelistsChris FerdinandiChristopher BuechelerAimee KnightCharles Max WoodSteve EmmrichWith special guest: Todd GardnerSponsorsAdventures in BlockchainSentry use the code “devchat” for 2 months free on Sentry’s small plan React Round UpLinksTrack JS (free trial available) Script and Style podcastPubConfConsole.logBlackbox for Firefox and ChromeRedux lagerRemote JS  Follow DevChat on Facebook and Twitter PicksChristopher Buecheler:React/TypeScript cheat sheet Chris Ferdinandi:Pokemon Brawl Space Invaders gameGomakethings.com newsletterAimee Knight:TechLead Youtube channelCharles Max Wood:Atomic HabitsGetting up at 4 amSteve Emmrich:TrelloBabushkas and grandmas to help you with your newbornTodd Gardner:PubConfFollow Todd @toddhgardner or todd.mnSpecial Guest: Todd Gardner. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

12 Sep 201949min

JSJ 390: Transposit with Adam Leventhal

JSJ 390: Transposit with Adam Leventhal

Episode SummaryAdam Leventhal is the CEO and cofounder of Transposit. Transposit was born from the desire to build a way for developers to work with lots of different APIs, take authentication and pagination off the table, and let developers focus on the problems they’re trying to solve. Transposit is a serverless platform that’s free and gives you a combination of SQL or JavaScript to start playing with your API.Since interacting with API data securely can be difficult, the panel discusses how Transposit might replace the personally built tools and how does it compare to JAMstack. They talk about some common things that people do wrong with security. Transposit is often used as the full backend, and Adam shares how that works. There is a list of APIs that Transposit can talk to, and you can build your own connector. You can also work with JavaScript and SQL simultaneously. Chris Ferdinandi asks some more specific questions about how Transposit can work with email lists. Adam clarifies the difference between connectors and apps in Transposit. He delves into more detail on what makes it work under the hood. There are some 450,000 Stack applications but the majority have one user because they built it to communicate specifically with their API. The panel discusses how Transposit can help with this. Since Transposit is still in startup mode, it is free for now, and can connect to any public facing API. Adam talks about their decision not to make it open source and gives more details on where the authentications occur. The show wraps up with the panel talking about the pros of going serverlessPanelistsChris FerdinandiChristopher BuechelerWith special guest: Adam Leventhal SponsorsAdventures in .NETSentry use the code “devchat” for 2 months free on Sentry’s small plan Elixer MixLinksTranspositSQLJAMstackOpenAPISwaggerYAMLMailChimpReact ReduxConverting a string into Markup with Vanilla JSHow to create a map of DOM nodes with Vanilla JSCustom events in Internet Explorer with Vanilla JSDOM diffing with Vanilla JS part 1DOM diffing with Vanilla JS part 2 Follow DevChat on Facebook and Twitter PicksChristopher Buecheler:Manchester OrchestraChris Ferdinandi:ReefElizabeth WarrenAdam Leventhal:Hamilton the biographyAntlerFollow Adam on Twitter @ahlSpecial Guest: Adam Leventhal. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

10 Sep 201946min

JSJ 389: What Makes a 10x Engineer?

JSJ 389: What Makes a 10x Engineer?

SponsorsSustain Our SoftwareSentry– use the code “devchat” for $100 credit  Adventures in BlockchainPanelCharles Max WoodEpisode Summary In today’s show, Chuck talks about the recent tweet thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is. Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made. When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer. Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company.  Links10x engineer twitter thread Follow DevChat on Facebook and Twitter PicksCharles Max Wood:Copyhackers.comGood to Great by Jim CollinsKeto dietPodcast MovementSupport this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

5 Sep 201951min

Populært innen Business og økonomi

stopp-verden
dine-penger-pengeradet
rss-penger-polser-og-politikk
rss-borsmorgen-okonominyhetene
e24-podden
utbytte
livet-pa-veien-med-jan-erik-larssen
pengesnakk
tid-er-penger-en-podcast-med-peter-warren
stormkast-med-valebrokk-stordalen
finansredaksjonen
pengepodden-2
rss-sunn-okonomi
morgenkaffen-med-finansavisen
rss-rettssikkerhet-bak-fasaden-pa-rettsstaten-norge-en-podcast-av-sonia-loinsworth
lederpodden
okonomiamatorene
rss-investering-gjort-enkelt
rss-markedspuls-2
hr-podden-2