In this discussion, Justin Searls, a veteran software developer known for his sharp insights into development practices, joins Jerod to tackle pivotal topics in tech. They dive into the build vs. buy debate, weighing the merits of selecting the right software tools. Justin also shares his experiences managing software dependencies and the importance of context in making decisions. Additionally, they explore the evolving landscape of online presence, emphasizing genuine connections over superficial social media interactions. A thought-provoking conversation awaits!
When selecting dependencies, consider self-reliance and minimize the risks associated with numerous transitive dependencies.
Having a single website as a central hub for all online content provides greater control, self-reliance, and eliminates the need for multiple social media platforms.
Finding a balance between using existing packages and maintaining self-reliance is crucial in the buy vs. build decision, especially for smaller functionalities.
Deep dives
Importance of self-reliance in dependency selection
When selecting a dependency, one important factor to consider is self-reliance. This means evaluating how many dependencies the chosen package has and the potential risks associated with relying on numerous transitive dependencies. The goal is to keep the number of dependencies and the likelihood of issues as low as possible to minimize the possibility of vulnerabilities or maintenance challenges.
Building a centralized online presence
Another aspect discussed in the podcast is the concept of having a single website to host all online content. The speaker shares their personal experience of transforming their personal website into a central hub for all internet activities, including blog posts, photo sharing, and tweet-like updates. This approach allows for greater control, self-reliance, and consolidation of online presence, eliminating the need for multiple social media platforms. By syndicating content to various platforms like Mastodon or Instagram while maintaining a primary website, the speaker aims to broaden reach without sacrificing self-reliance.
Balancing dependency usage and self-reliance
When considering the buy vs. build decision and selecting dependencies, it is important to strike a balance between utilizing existing packages and maintaining self-reliance. The podcast highlights the significance of evaluating the total cost of ownership in terms of maintenance and potential setbacks caused by relying on complex dependencies with numerous transitive dependencies. It emphasizes the value of independent solutions, especially for smaller, focused functionalities, where rolling one's own code may prove efficient and helps keep the risks associated with dependence on external packages in check.
The Importance of Minimal Dependencies
The podcast episode discusses the importance of minimizing dependencies in software development. The speaker highlights the risks associated with relying on multiple dependencies and version resolution challenges. They emphasize the need to carefully consider the necessity of each dependency and the potential impact on future updates. The example of libraries with zero runtime dependencies is given as a marker of quality and competency. The speaker also expresses a preference for avoiding wrapper libraries and instead creating custom adapters to isolate dependencies from the rest of the codebase.
The Benefits of Owning Your Online Presence
The podcast episode delves into the benefits of owning your online presence and finding alternative ways to engage with the internet. The speaker shares their personal experience of transitioning away from social media platforms and towards a self-reliant blogging system. They highlight the importance of autonomy and control over content, as well as fostering deeper, more meaningful interactions through channels like email. The advantages of an independent website, syndication, and engaging directly with different social networks are discussed. The speaker contemplates the potential of open-sourcing their system to inspire others in building their own online platforms.
Jerod goes one-on-one with our old friend Justin Searls! We talk build vs buy decisions, dependency selection & how Justin has implemented POSSE (Post On Site Syndicate Elsewhere) in response to the stratification of social networks.
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Statsig – Build faster with confidence. Startups to Fortune 500s rely on Statsig to make data-driven decisions. Ship smarter and faster with the unified platform for feature flags, experimentation, and analytics. Our listeners get free white-glove onboarding, migration support, and 5 million free events per month.
Neon – The fully managed serverless Postgres with a generous free tier. We separate storage and compute to offer autoscaling, branching, and bottomless storage.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.