Выпусков: 6

Ben Orenstein interviews great programmers about their craft.

The Tuple Podcast Ben Orenstein

    • Технологии

Ben Orenstein interviews great programmers about their craft.

    Thorsten Ball, Software Engineer at Zed

    Thorsten Ball, Software Engineer at Zed

    In this episode, Ben chats with Thorsten Ball. This conversation fits neatly into two halves - in the first, Ben and Thorsten go deep on how to differentiate yourself, work in public, and make it easy for people to hire you. In the second part of the conversation, they talk more specifically about Zed, why it matters, and how it’s being built. 

    Links
    Tuple.app (https://tuple.app) - The best app for pair programming
    Thorsten’s website (https://thorstenball.com) - Where you can find his books, blog, and other podcast appearances
    Zed (https://zed.dev) - The editor Thorsten is working on

    Key Takeaways
    Cultivating a diverse skill set can lead to unique opportunities and make you a valuable asset in a company.Evidence of competence, such as published work or open-source contributions, can significantly impact your chances of getting hired.Soft skills, such as communication and problem-solving, are essential for success in engineering roles.Taking initiative and adding value beyond your job description can make you stand out and contribute to the growth of a company.Interviews should be seen as a chance to demonstrate your skills and fit within a company's culture, rather than just answering questions. Visual cues and real-time interaction are important in conversations to gauge resonance and maintain engagement.Different business models exist in the tech industry, and investment can provide the time and resources needed for product development.Building high-quality products in open source requires a focus on performance, quality, and attention to detail.The landscape of text editors and funding is complex, with various models and approaches.Working on a quality product with a talented team can be fulfilling and contribute to personal growth.Noticing and writing about interesting ideas can enhance creativity and lead to new insights.
    Chapters

    (00:00) - Introduction and Background
    (00:21) - Combining Software Engineering and Content Production
    (04:41) - The Power of a Diverse Skill Set
    (07:40) - Creating Valuable Content
    (11:53) - Taking Initiative and Adding Value
    (18:47) - Reaching Out and Getting Hired
    (20:42) - The Power of Evidence of Competence
    (21:39) - The Myth of Not Hiring
    (25:35) - The Importance of Leaving Evidence
    (28:06) - Resumes and Demonstrating Competence
    (30:56) - Interviews as a Vibe Check
    (32:38) - The Bias in Interviews
    (33:55) - Hiring Process and Competence
    (34:22) - No Foolproof Hiring Process
    (35:20) - Evidence of Ability
    (37:00) - Accepting the Hiring Game
    (39:54) - Marketing and Self-Promotion
    (44:10) - Zed's Journey and User Availability
    (51:02) - Collaboration in Zed
    (56:02) - The Magic of Audio Calls
    (58:49) - The Intimacy of Voice-Only Communication
    (01:01:16) - The Distraction of Self-View in Video Calls
    (01:02:43) - The Importance of Visual Cues in Conversations
    (01:03:36) - The Value of Real-Time Interaction
    (01:05:34) - The Deep Knowledge and Complexity of Vim
    (01:06:00) - The Benefits of Noticing and Writing About Interesting Ideas
    (01:09:40) - The Habit of Writing and Its Impact on Thinking

    • 1 ч. 12 мин.
    Andreas Kling, Creator of SerenityOS and the Ladybird Browser

    Andreas Kling, Creator of SerenityOS and the Ladybird Browser

    Ben interviews Andreas Kling, creator of SerenityOS and the Ladybird browser. They talk about the concept of lifestyle software and how it relates to the development of SerenityOS, Andreas’ vision of creating a Zen garden for developers, and the benefits of using a mono repo and a unified language in the development process. They also touch on the use of AI and language models for writing code, the art of using Copilot effectively, and the future of LLMs in pair programming.

    Enjoy!

    Links
    Tuple.app - The best app for pair programming
    Andreas’ YouTube Channel - The home for Serenity, Ladybird, and other updates from Andreas
    SerenityOS - The operating system Andreas built
    Ladybird - The browser Andreas built

    Key Takeaways
    Serenity OS is an example of lifestyle software, where the focus is on the happiness of the developers and the joy of programming.The use of a mono repo and a unified language in Serenity OS allows for efficient development and easy cross-cutting changes.Onboarding new contributors by encouraging them to explore and find their own areas of interest leads to a diverse range of contributions.Raw coding videos and pair programming can be powerful tools for knowledge sharing and learning.Having a long-term vision and setting ambitious goals can help overcome the challenges of monumental projects.Continuous learning and improvement are essential for staying on top of new tools and technologies in the programming industry.Balancing programming and management responsibilities can be challenging, but leveraging the skills and expertise of a team can lead to greater productivity and growth. Building confidence in programming is crucial for productivity and success.Starting small and building miniature models can help understand complex concepts.Throwing away code and rebuilding with improved architecture can lead to better outcomes.Using AI and language models can significantly speed up coding tasks.
    Chapters
    (00:00) - Introduction
    (00:41) - Serenity OS and Lifestyle Software
    (03:40) - Building a Zen Garden for Developers
    (09:07) - Mono Repo and Unified Language
    (11:29) - Easy Onboarding and Contributions
    (13:05) - The Power of Raw Coding Videos
    (15:48) - Pair Programming and Knowledge Sharing
    (24:06) - Facing Intimidation at the Start of Projects
    (26:18) - Maintaining a High Clock Speed
    (32:34) - Continuous Learning and Improvement
    (36:44) - Balancing Programming and Management
    (39:07) - The Joys and Challenges of Company Growth
    (40:13) - Coaching and Mentoring
    (41:40) - Building Confidence in Programming
    (42:49) - Building Miniature Models
    (43:41) - Building to Throw Away
    (46:45) - Learning from Senior Engineers
    (48:09) - Using AI and LLMs for Writing Code
    (51:47) - The Art of Using Copilot
    (54:27) - The Future of LLMs in Pair Programming
    (57:47) - The Evolution of Open Source Projects
    (01:03:44) - Establishing Community Rules Organically

    • 1 ч. 11 мин.
    Fable Tales, Staff Engineer at Stripe

    Fable Tales, Staff Engineer at Stripe

    In this conversation, Fable and Ben dig deep on building a technical career that balances programming and company leadership. Fable shares their experience working at Stripe and the different roles they have held, including being a technical advisor to the CTO. They also discuss Fable's career move from being a hands-on programmer to role where less hands-on coding is required, Fable's take on "code crimes", and how to find enjoyment and fulfillment in solving complex problems.
    Links
    Tuple.app - The best app for pair programmingStripe - The company Fable works atRuby Kaigi - An annual conference dedicated to the Ruby programming language.Sidekiq - A simple, efficient background processing library for RubySorbet - A fast, powerful type checker designed for Ruby.YubiKey - A hardware device designed for high-security two-factor authentication.
    Key Takeaways
    Making connections and friendships at conferences can be valuable in the programming community.Debugging and problem-solving skills are crucial for software engineers.Being willing to learn and work with different programming languages can enhance your skills.Prototyping and spiking can be effective ways to test and develop new ideas.Chapters
    (00:00) - Introduction and Conference Interaction
    (00:38) - Making Friends at Conferences
    (04:13) - Work at Stripe
    (06:17) - Becoming a Staff Engineer
    (06:53) - Getting Good at Programming
    (08:46) - Debugging and Problem Solving
    (11:22) - Working with C and C++
    (13:13) - Debugging with Print Statements and Debuggers
    (17:06) - Prototyping and Spiking
    (24:11) - Technical Advisor to the CTO
    (27:26) - Coding Hill to Die On
    (29:52) - Workflow Optimization
    (36:53) - Coding vs Non-Coding Time
    (39:08) - Transition to Leadership
    (41:07) - Motivation and Impact
    (42:13) - Love for Programming
    (44:14) - Coding Style: Short Methods and Small Classes
    (48:48) - Personal Style and Code Crimes
    (52:18) - Commercial Open Source
    (56:08) - Getting Involved in Open Source
    (01:04:52) - Wrap-up

    • 1 ч. 5 мин.
    Josh Pigford, Creator of Maybe.co

    Josh Pigford, Creator of Maybe.co

    In this episode, Ben interviews Josh Pigford, founder of Maybe.co, about the company’s journey from VC-backed startup -> closed startup -> open source project -> funded open source project. They discuss JavaScript and Rails trade-offs, the challenges of building a personal finance software, and the operational difficulties of building a business based on open source software.

    Links
    Tuple.app - The best app for pair programmingMaybe.co - The fintech startup Josh foundedNodeJS - The starting framework for Maybe.coRuby on Rails - The new framework for Maybe.co

    Key Takeaways
    Choosing the right tech stack is crucial for the success of a project.Running out of runway can force difficult decisions and pivots.Making a codebase public can generate interest and community engagement.Replacing third-party dependencies can be challenging but necessary.Rebuilding a software project requires careful planning and decision-making. Building a personal finance app involves challenges such as managing pull requests and issues in open source development.Transitioning to Rails can provide a more stable and efficient framework for building a complex application.The decision to rewrite the app from scratch allows for better decision-making and faster progress.Targeting Mint users with a budgeting tool presents an opportunity to capitalize on a fragmented market.Detangled, a project that simplifies legal documents, has the potential for commercial success. Moonshot ideas can be exciting and worth pursuing, even if the specific angle is unclear.ChatGPT has the potential to generate usable results, either through heavily massaged prompts or prewritten blocks.Tools like detangle can augment conversations with lawyers, providing insights and helping users know what questions to ask.There are commercial opportunities in selling services like detangle to companies that don't have full-time counsel.Finding the right balance between passion and traction is important when deciding which projects to pursue.
    Chapters

    (00:00) - Introduction
    (01:21) - Making the Codebase Public
    (07:21) - Community Engagement and Pull Requests
    (12:17) - Ripping Out Functionality
    (15:03) - Replacing Data Aggregator
    (16:10) - Building a Personal Finance App
    (17:39) - Challenges of Open Source Development
    (21:08) - Managing Pull Requests and Issues
    (23:35) - Struggles with React Next.js
    (27:45) - Choosing Rails for Development
    (32:40) - Targeting Mint Users with Budgeting Tool
    (35:45) - Modular Use Cases
    (38:53) - Open Source Contributions and Bounties
    (40:47) - Next Steps
    (45:16) - Detangled: Simplifying Legal Documents
    (48:32) - Exploring Moonshot Ideas
    (48:58) - The Potential of ChatGPT
    (49:45) - Augmenting Conversations with Lawyers
    (50:21) - Commercial Opportunities
    (50:53) - Balancing Passion and Traction
    (51:20) - Closing Remarks

    • 51 мин.
    Caleb Porzio, Creator of AlpineJS and Laravel Livewire

    Caleb Porzio, Creator of AlpineJS and Laravel Livewire

    In this conversation, Ben interviews Caleb Porzio, the creator of AlpineJS and Laravel Livewire. The discussion ranges from discussions about life in general to specific testing practices and which notebook Caleb uses.
    LinksTuple.app - The best app for pair programmingAlpineJS Laravel Livewire Caleb's VSCode Course
    Takeaways
    Apply core truths to life outside of programming.Find ways to make difficult tasks easier.Change your environment to support your goals.Value tests as much as, if not more than, the code itself.Keep methods and functions short for better code quality.Embrace your strengths and delegate tasks that don't bring you joy.Focus on the meaty tasks that excite you.Consider rewrites carefully and prioritize other solutions first.Pull down unfamiliar code and interact with it to understand it better.Start the day with tasks that align with your goals and priorities.Chapters
    (00:00) - Introduction and Background
    (03:51) - Overview of LiveWire and Alpine
    (12:09) - Caleb’s Programming Style
    (20:09) - Functional vs Object-Oriented Programming
    (25:39) - The Appeal of Functional Programming
    (32:01) - The Challenges of Learning Object-Oriented Programming
    (33:06) - Memory Allocation and Functional Languages
    (36:30) - Starting Complicated Projects
    (40:10) - Writing Blog Posts as Problem-Solving
    (42:30) - Core Beliefs
    (48:21) - Materials
    (49:20) - Getting into the Zone
    (51:14) - The Value of Tests Over Code
    (55:27) - Transitioning to Non-Typical Apps
    (01:03:00) - Radical Practices at Tuple
    (01:05:50) - Managing Pull Requests and Code Reviews
    (01:06:33) - Starting the Day and Prioritizing Tasks
    (01:07:41) - Balancing Maintenance and Long-Term Goals
    (01:09:52) - Finding Motivation for Maintenance Tasks
    (01:10:50) - Embracing Strengths and Delegating Weaknesses
    (01:11:46) - Continuous Improvement and Learning
    (01:14:19) - Favorite Tools and Productivity Hacks
    (01:19:07) - Core Beliefs and Values in Coding
    (01:21:19) - Benefits of Short Methods and Single File Principle
    (01:21:57) - Approaching Unfamiliar Code
    (01:22:51) - The Pros and Cons of Rewrites
    (01:23:46) - Final Thoughts and Passion for Coding

    • 1 ч. 24 мин.
    Taylor Otwell, Creator of Laravel

    Taylor Otwell, Creator of Laravel

    In this conversation, Ben interviews Taylor Otwell, the creator of Laravel. They discuss everything from the age-old argument of tabs vs. spaces to the origins of Laravel and how Taylor has turned it into a thriving, sustainable business.
    Links:Laravel, the framework Taylor createdTuple, used by the Laravel team to collaborates
    Takeaways
    Coding preferences and philosophies can vary among developers and programming ecosystems.Maintaining backwards compatibility is important for frameworks with a large user base.Clean code can be subjective and depends on the specific needs and goals of a project.Testing is crucial for shipping software with confidence. When starting a new project, consider writing documentation first to iron out any potential issues and ensure a user-centric perspective.Focus on high-level testing, such as feature-level or controller-level tests, to gain confidence in the functionality of your code.Challenge assumptions and ask questions to improve the quality of your code and avoid unnecessary complexity.Believe in the potential of your project and raise your ambitions to achieve greater success.Building a business around open source can be a sustainable model if you create commercial products that complement and support the open source project.Chapters
    (00:00) - Tabs or Spaces?
    (08:00) - Shells
    (10:46) - Minimalism in Coding
    (17:24) - Stripe and Their API
    (22:41) - Aesthetics
    (25:09) - A Coding Hill You Would Die On
    (28:09) - Clean Code
    (33:38) - Testing
    (40:30) - Personal Involvement With Code
    (45:00) - Notes and Manifestos
    (49:09) - Skill Over Time
    (51:49) - Ian Landsman and Laravel
    (55:49) - Businesses Based on Open Source

    • 1 ч. 4 мин.

Топ подкастов в категории «Технологии»

Накликали беду
БОГЕМА
Lex Fridman Podcast
Lex Fridman
Запуск завтра
libo/libo
Радио-Т
Umputun, Bobuk, Gray, Ksenks, Alek.sys
Podlodka Podcast
Егор Толстой, Стас Цыганов, Екатерина Петрова и Евгений Кателла
Плюс-минус игры
Кинопоиск

Вам может также понравиться

Mostly Technical
Ian Landsman and Aaron Francis
Talking Businessly
Daniel Coulbourne & John Drexler
Hackers Incorporated
Ben Orenstein and Adam Wathan
Syntax - Tasty Web Development Treats
Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers
Oxide and Friends
Oxide Computer Company
REWORK
37signals