Choosing the Right Data Types

Every time we create a new data structure, we have to decide which data types to use. Usually, the decision is simple: text most likely will become a String, non-floating-point numbers will be int, and so forth. Most of the time, these almost subconsciously-made decisions will suffice. But to design future-proof data structures, we have to think about choosing the correct data type a little more.

How Fluent Interfaces Can Lead to More Meaningful Code

Martin Fowler, who coined the term Fluent Interfaces 15 years ago, famously wrote in his book Refactoring: Improving the Design of Existing Code: “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

Decouple Your Code With Dependency Injection

Not many components live on their own, without any dependencies on others. Instead of creating tightly coupled components, we can improve the separation of concerns by utilizing dependency injection (DI).

Habit-Driven Development and Finding Your Own Style

By designing and writing code, we naturally start to develop our own personal style and habits. The more code we write with the intent to improve, the better we’ll get eventually. But on our way to mastering the craft, we might pick up some bad habits.

Bikes, Yaks, Airplanes, and Arguing About Unimportant Things in Engineering

The human mind loves to simplify concepts to more natural, understandable terms. That’s why bike sheds, shaved yaks, and airplane landing strips can teach us something about software development and project management.