Critical developer skills in 5 minutes or less.
Half my own learning journey, half experiment to improve software education. These posts attempt to extract best practices from, and connect readers to, leading software literature.
Steve McConnell is best known for Code Complete. Professional Software Development is a much lighter packaging of McConnell’s core philosophy. It establishes up a well-founded view on what the software industry is and could be. Here I’ll highlight some of my key takeaways from the book.
I’ve been working on Clojure lately, and the Clojure community tends to center their development around the REPL. While often useful, this approach also comes with some unforeseen downsides.
I’ve use Test API for behavior testing for more than a year now, and to great effect. I expected my recent experience with Gherkin to be similar, but found the two BDD techniques to be surprisingly different. Here I’ll contrast the two methods to highlight their distinct value.
I finally got hands-on experience with Gherkin, the common language for Behavior-driven Development (BDD). Getting started was more of a struggle than I anticipated. Here are solutions to some of my main hangups.
I’ve been working with Datomic on a recent project. Datomic, and stores like it, solve a fundamental class of development issues: data safety.
Good designs generally reflect the nature of the problem they solve, and the same applies to designing a process for design. Design is messy, incremental, and has spurts of both broad and deep exploration. Here I’ll describe the simple and flexible organization structure my duck docs evolved to capture design thoughts for reference without impeding exploration.
Fred Brooks once described elegant design as few ideas combined powerfully. Clojure is a language that lives by that idea. Understanding Clojure improved my understanding of language choices in general. Here I’ll highlight some of my learnings.
It’s easy to see how Domain Driven Design (DDD) by Eric Evans was such a seminal work. It presents a holistic development process that seems to have predicted the next two decades of development trends. Here are some of my key takeaways from the book.
Ambient context is a useful design pattern, but a recent project got me thinking about how universal this context should be.
I finally got around to reading Getting to Yes, which several friends have recommended. It is a fantastic crash course in negotiation. I also couldn’t help but notice the similarities between negotiation and design.