Curiosity as a Driver of Leadership Skills

I’ve found that curiosity drives outcomes for many leadership skills in one actionable concept.

July 6, 2023 · 4 min

Domain-Driven Design and Volatility-based Decomposition Are Inseparable

There are many ways to modularize a system. I initially learned Volatility-based Decomposition. I now speak in more Domain-Driven Design terms. However, I consider this a change in framing more than a change in strategy.

June 30, 2023 · 4 min

Reading Review: Scaling Architecture Conversationally

Scaling Architecture Conversationally clearly and concisely explains how and why architecture is more of a facilitated process than a top-down decision process.

June 23, 2023 · 2 min

Socratic Method, Leading, and Caring

I’ve been using a Socratic approach to promote critical thinking, but it appears to promote good leadership habits as well.

June 16, 2023 · 3 min

Sub-Domains That Follow the Single Responsibility Principle

The Single Responsibility Principle applies even to identifying sub-domains.

June 12, 2023 · 2 min

Scala and C# Approaches to Union Types

I’ve been learning Scala lately, and it turns out that scala union types are sometimes implemented the same way I discovered unions could be imitated in C#.

June 1, 2023 · 3 min

F# Sneaky Construction vs Initialization Issue

I rarely worry about constructors or initialization in F#. But, every once in a while, the difference is important.

May 25, 2023 · 5 min

Data Inheritance is Unnecessary

In short, I’ve been using F# for several years now and didn’t realize that F# record types can’t be inherited. I think this demonstrates that inheritance for data types is unnecessary when actions and data are separated, and it may hint at a larger trend in programming languages.

May 18, 2023 · 3 min

Evolving Test Data Arrangement

This post recounts my journey to understand tests data arrangement from before my blogging days. This exploration cemented key lessons in reusability and composition.

May 11, 2023 · 12 min

Footwork for Developers

Sports generally have some fundamental skills that athletes drill endlessly. These fundamentals are the foundation for good execution. They must be committed to muscle memory if the athlete wants to focus on higher-level skills and strategy. In fencing, footwork is fundamental. What is the equivalent for software?

May 5, 2023 · 2 min