Avoiding premature software abstractions

#447 – November 21, 2021

sponsor

Put the "Flow" in Your Workflows with Shortcut

Most project management tools are either too simple for a growing engineering team or too complex for anyone to want to use them. Shortcut is different. It's project management built specifically for software teams that's fast, intuitive, flexible, powerful, and many other nice, positive adjectives. Delight the scrum gods and give it a try for free.

this week's favorite

Avoiding premature software abstractions

Software developers love abstractions. Abstractions are great and absolute key for efficient development. Writing software using solely 1’s and 0’s would be quite the chore after all. The problem comes when abstractions are introduced prematurely, i.e., before they are solving a real non-theoretical problem. Adding abstractions always comes at the cost of complexity and, when done excessively, starts slowing down the speed of development and the ability for people to easily comprehend the codebase.

Why SOLID principles are still the foundation for modern software architecture

While computing has changed a lot in the 20 years since the SOLID principles were conceived, they are still the best practices for designing software.

Is tasking developers with creating detailed estimates a waste of company money?

Many of us have been here, our company is spinning up the next software project and in an effort to predict the future, requests for estimates rain down.

This project will only take 2 hours

A few students came to me asking if I had any ideas for a software project that they could work on outside of class. I explained an idea for a utility that I had been wanting: A desktop program that monitors my clipboard for URLs and logs them automatically.

An IC’s guide to roadmap planning

How individual contributors can leverage their unique perspective to advance alignment and clarity of vision.

newsletters