#014 - Building the Best Tools and Tests with The Primeagen
Aug 14, 2023
auto_awesome
The Primeagen, expert in unit tests and building cli tooling, talks about coding experiences, job dissatisfaction, and the value of building command line tools for back-end developers. They also discuss their preferences for concise tools, the Unix philosophy, and their interest in trying out OCaml and Rust for string processing and tool development.
Building command line tools allows developers to solve problems and make improvements tailored to their needs, showcasing their skills and increasing productivity.
Functional languages like Rust and OCaml offer benefits such as pattern matching, algebraic data types, and clearer error handling, but adoption can be challenging due to the need for a different mindset and understanding of concepts like recursion.
Rust and Zig provide friendlier syntax for handling errors compared to other languages like Go, making them attractive choices for writing reliable and robust code.
Deep dives
Building a Text Message Marketing Company
The podcast host shares their experience of starting a text message marketing company after college. They discuss the challenges they faced, including the timing of the business idea and the lack of smartphone adoption at the time.
Working at Schedulicity
The speaker talks about their work experience at Schedulicity, a company that offered online booking services for various appointment-based businesses. They mention the enjoyment of solving complex problems and building tools for developers.
Favorite Tools and Technologies
The podcast episode touches on the speaker's favorite tools and technologies for building their tools. They mention command-line utilities like grep and awk, and express a preference for JavaScript and TypeScript, while also expressing interest in Rust and OCaml for specific use cases.
The Attraction of Command Line Tools
The guest discusses his passion for building command line tools, which he believes are ideal for back-end developers to showcase their skills. He explains that command line tools allow developers to solve problems and make improvements in a way that is specific to developers' needs. The guest highlights the simplicity and practicality of command line tools, as they can be used to automate processes, manipulate data, and enhance developer productivity. By building command line tools, developers can demonstrate their ability to create efficient and effective solutions for real-world problems.
The Appeal of Rust and Ocamel in Functional Programming
The conversation transitions to discussing Rust and Ocamel, two programming languages that the guest finds intriguing due to their functional programming capabilities. The guest believes that functional languages like Ocamel face challenges in adoption because they require a different mindset and involve concepts like recursion that can be difficult to grasp for programmers used to procedural languages. Nonetheless, he appreciates the benefits of functional programming, such as pattern matching, algebraic data types, and clearer error handling. The guest emphasizes that Rust and Zig provide friendlier syntax for handling errors compared to other languages like Go, making them attractive choices for writing reliable and robust code.
Lane chats with The Primeagen about unit tests, how to build good cli tooling, Golang, Rust, and a ton of stuff about Prime's history and how he got into coding and came to work at Netflix.
Prime's Twitter: https://twitter.com/ThePrimeagen Prime's Twitch: https://www.twitch.tv/theprimeagen Prime origin: https://www.youtube.com/watch?v=JjHFubUPLV0 Article on Mocks: https://blog.boot.dev/clean-code/writing-good-unit-tests-dont-mock-database-connections/