thoughtful software

Digital Transformation Isn’t Just For Silicon Valley. Here’s How It’s Impacting The Way We Live, Work, And Connect On A Global Scale

Digital Transformation Isn’t Just For Silicon Valley. Here’s How It’s Impacting The Way We Live, Work, And Connect On A Global Scale

For as long as we can remember, we’ve had houses, cars, and streetlights.

But today, there’s often more to these staples of modern life than meets the eye. Where a streetlight was once timed to turn red every 30 seconds, and after 15 seconds, turn green again—today, that light is smart, meaning it adapts to movement by pedestrians, cyclists and cars. And where a house was once just four walls and a roof, today it adapts its temperature based on its surroundings. Our cars are no longer simply at the mercy of the drivers—today, they can communicate with each other to slow down based on traffic patterns.

3 Ways Thoughtful Software Development Can Transform The Tech Industry (And Society) For The Better

3 Ways Thoughtful Software Development Can Transform The Tech Industry (And Society) For The Better

Businesses, like people, are all guided by different values.

Some want to sell ads, others are focused chiefly on adoption, and some only care about the bottom line. Most of the time, a company’s values fall in line with meeting the needs of their customers. But occasionally, a company’s goals and solving its customers’ pain points don’t quite match up.

This is a phenomenon that’s especially problematic—and common—in the tech space.

Software Principle 8: Buying is Focus

There is a common thought in entrepreneur circles that greatness isn’t defined by what you say yes to, but what you say no to. This rings true in many domains but in software it can become a way of life. In software, the build vs buy challenge is fraught with strong opinions either way. There are a lot of incredibly smart engineers that can build almost anything given the right resources. 

Software Principle 7: Abstraction- Why Underabstraction Is Almost Always Better

Abstraction is a powerful tool. Some of the greatest inventions in technology: operating systems, programming languages, compilers, etc. are abstractions. However, when misused or misunderstood, they can be destructive.

Over abstraction can create unmaintainable, untestable monstrosities. Under abstraction may mean duplicate code, but duplicate code is almost always better than unmaintainable code.

Consistency is King

Most personal development books will tell you to set goals and work towards those consistently.

Consistency forms habits and creates progress towards goals no matter how small.

There’s an often-quoted statistic that if you do 1% a day or get 1% better you are 37.78x closer to your goal or improved as a person.

You Are What You Measure

In software and in life, you are what you measure.

If you measure velocity, your team will optimize for delivery. If you measure code quality, you will optimize for that.

You must have both measures and countermeasures to ensure that teams stay on track and don’t stray too far in one direction. 

What is Important

Your time is limited, and because of this, you have limited things - whether that is money, achievement or in the case of software: features, documentation, tests, etc.  

You must pick what is important to you and work on that. This means choosing the most needed features, the most impactful tech debt, and the most critical tests.


What Is Thoughtful Software?

What Is Thoughtful Software?

Thoughtful, exceptional software begins with the end.

It takes clear definition of goals, understanding of business objectives, and alignment between software developers, clients, and users.

Currently, it is estimated that over $3 trillion is wasted on software projects that never come to fruition. This translates to a staggering amount of value lost for both businesses and consumers. And it’s not just the private sector that struggles; for example, the Air Force spent $1 billion on a software project and had nothing to show for it.