« Home

Warming up

How do we communicate? Passing information between our human brain holes is difficult. We all come from such different places that we have to work hard to establish a shared context, as a team, so that we can speak to each other.

This is one of the reasons that I love the concept of Domain Driven Design. That we should design things in software as the agents of the business see them.

As a business student in school I studied accounting, economics, marketing and how to write. All that I know of the wonderous world of programming I have learned on my own. Which has allowed me to build software from a DDD perspective from the get go. But I have one large flaw, I just don’t understand classic CS problems. You want me to walk a binary-tree and print the longest path? Nope. Give me 5 minutes on the internet and I will have this simple procedure typed out for you in any number of languages. But can I do it from route memory? Yeah right, I have better things to study.

Is it important that I understand classic CS problems? Absolutely, and the older I get, the more I enjoy not only learning them, but finding the commonality in my business problems and how an intimate understanding of graph theory really does help solve them.

As much as I start to learn about classic CS solutions the more that I want to build these abstract solutions to problems using generic data structures. But then it seems that I have lost the focus on the business in exchange for solution that a larger group of programmers would have the ability to plainly see. “Oh, this is just a graph traversal problem.”

How can we balance these two forces of general CS problem solutions and those built with a clearer understanding by those in the domain of the business?

I don’t know. But I don’t intend to stop seeking a solution either.

Dru Sellers