
OSS, TypeScript, Linting and Everything in Between (with Josh Goldberg)
Jan-Niklas interviews Josh Goldberg, a developer who transitioned from Microsoft to full-time open source work in the TypeScript ecosystem. Josh shares his daily routine, work structure, and insights on balancing passion projects with professional commitments. The conversation covers Josh's current projects including Bingo (a repository templates tool) and maintaining legacy projects like Yeoman. They explore linting philosophy, TypeScript's significance, common developer mistakes, and tools like Prettier. The discussion also touches on TypeScript enums, type narrowing, AI's role in coding, and how open source contributions drive personal growth while creating valuable networking opportunities. takeaways Josh transitioned from Microsoft to open source for passion, not money. He structures his open source work similarly to a 9-5 job. Balancing work and personal projects is crucial for mental health. Bingo aims to simplify the process of creating repository templates. Yeoman remains relevant for certain users despite its age. Maintaining legacy projects can be rewarding and insightful. Linting is customizable and should be adapted to project needs. Typed linting can enhance code quality but may slow down performance. Developers should not block builds on TypeScript errors during local development. Community trends show improvement in coding practices over time. There are three common forms of static analysis: linting, formatting, and type checking. Formatting should be automated to reduce cognitive load on developers. Type narrowing is a foundational feature in TypeScript that should be mastered early. Enums in TypeScript can lead to confusion and should be used cautiously. Unnecessary type annotations can clutter code and reduce TypeScript's effectiveness. AI tools should assist developers without making decisions for them. Open source contributions can lead to personal growth and better time management. Conflict resolution skills are essential in open source communities. Networking through open source can lead to valuable opportunities. Valuing one's time is crucial in balancing open source work and personal life. Our fantastic Guest Josh Goldberg is an independent full time open source developer. He works on projects in the TypeScript ecosystem, most notably typescript-eslint: a powerful static analysis toolset for JavaScript and TypeScript code. Josh is also the author of Learning TypeScript (O’Reilly), a Microsoft MVP for developer technologies, and an active conference speaker. His personal projects range from static analysis to meta-languages to recreating retro games in the browser. Also cats. BlueSky fosstodon GitHub Chapters 00:00 - Intro 00:38 - Josh's Journey in Open Source 01:38 - Daily Routine and Structure 02:24 - Transparency and Community Support 03:15 - Passion Projects and Work-Life Balance 05:00 - Personal Interests Outside of Coding 06:46 - Project Prioritization and Passion 08:10 - Understanding Bingo Project 31:04 - Enums in TypeScript 42:59 - Personal Growth Through Open Sourc Thank you very much for listening! We are also pretty much on all social media platforms, so make sure to like and subscribe! Homepage - https://www.weeklybrew.dev/ BlueSky - https://bsky.app/profile/weeklybrew.dev Instagram - https://www.instagram.com/weeklydevsbrew/ TikTok - https://www.tiktok.com/@weeklybrew.dev YouTube - https://www.youtube.com/@theweeklydevsbrew LinkedIn - https://linkedin.com/company/the-weekly-dev-s-brew

