SoftCraft

Craftsmanship Resources

Curated collection of articles, books, and videos to help you master the art of software development.

VIDEORecommended

Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey

Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 20 years of experience in various domains. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages.

37 minutesView Details
VIDEORecommended

A Philosophy of Software Design | John Ousterhout | Talks at Google

John Ousterhout, Professor of Computer Science at Stanford University, discusses complex techniques on how to become a more confident coder. John is excited to announce that he just published the first edition of a new book on software design, based on material from a software design class he has been teaching at Stanford for the last several years. Prior to joining Stanford, John spent 14 years in industry where he founded two companies, preceded by another 14 years as a professor at Berkeley. Over the course of his career, Professor Ousterhout has built a number of influential systems (Sprite OS, Tcl.Tk, log structured file systems, Raft, RAMcloud, etc) and has taught several courses on software design. In this talk, he synthesizes these experiences into an insightful and provocative discussion on how to (and how not to) design software. Get the book: https://goo.gl/ywYJ3i

62 minutesView Details
VIDEORecommended

Config 2025: Crafting quality that endures (Karri Saarinen, Co-founder & CEO, Linear) | Figma

Config 2025: Figma's conference for people who build products When we build tools, we shape environments that will in turn shape us—and at Linear, Karri Saarinen has championed quality as the foundation, not an afterthought. In this talk, he'll share lessons from Linear's journey of prioritizing craft over process: the tools and approaches that elevate creativity, the challenges of maintaining quality at scale, and how designers can implement these principles regardless of their current environment. For those who find their vision constrained, Karri offers a compelling alternative: designers aren't just craftspeople but potential founders, capable of building the tools that future generations will thank us for. Featuring: Karri Saarinen, Co-founder & CEO, Linear

20 minutesView Details
BOOKRecommended

Clean Code: A Handbook of Agile Software Craftsmanship

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code 'on the fly' into a book that will instill within you the values of a software craftsman and make you a better programmer-but only if you work at it.

464 pagesView Details
BOOKRecommended

The Pragmatic Programmer: Your Journey to Mastery

Widely considered one of the best practical guides to programming, this book has been updated to reflect the current state of programming. Readers will learn how to improve their craft and become more efficient in their work.

352 secondsView Details
BOOKRecommended

Refactoring: Improving the Design of Existing Code

As the application of object technology--particularly the Java programming language--has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as 'refactoring,' these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

431 pagesView Details