Obstacles to Opportunities: The Software
Developer Problem-Solving Mindset


Reframing problems as opportunities can open doors to incredible breakthroughs and better software.

The word “problem” has negative connotations. We see problems as obstacles, setbacks, or
annoyances. A problem child is a source of worry. A problem area is a source of insecurity. And
we’re quick to excuse ourselves from responsibility for anything that is “not my
problem.”

But there is a growing number of companies who are casting problems in a new light. Rather
than resisting or running away from problems, these companies are embracing them—even
cherishing them.

Kiichiro Toyoda, the founder of Toyota Motor Corporation, once said, “Every defect is a treasure,
if the company can uncover its cause and work to prevent it across the corporation.” In his
worldview, problems were worth celebrating if they led to large-scale improvements.

Solving even a minor hiccup could reap significant rewards when compounded across a
massive company like Toyota.

Software: a problem solver’s problem solver

Claris, formerly FileMaker, once famously branded itself as “the problem solver’s problem solver.” They reflect appreciation for the term in the naming of products like a software bundle called the Claris Problem Solvers Circle.

Even Marie Kondo, whose signature approach to clutter-busting led to massive commercial
success, has said, “I love a mess!” She embraces the very thing her method promises to
vanquish, because she sees potential rather than pain.

This attitude is exactly what makes excellent software development companies stand out in a
sea of mediocre ones. Great software engineers and developers love investigating the nuances
and puzzles of a problem—and designing a solution that exceeds the client’s wildest dreams.

They see every problem as an opportunity, a way to do things better.

You don’t have to be a software developer, Marie Kondo, or the CEO of a massive car company
to be a problem optimist. Here are three good problem-solving skills you can start practicing
today in your mission to become a master problem solver.

Gather anecdotal data (from humans).

Software developers understand that people are at the center of everything they do. That’s why
the problem-solving process always starts there. After all, the computer is not their client. The
people are. Discovering and understanding their wants and needs is the first and most important
step.

Talk directly to the people involved in the problem. Ask them lots of questions about their
processes, what they’re experiencing, what’s frustrating them, and what they need. If possible,
ask them to walk you through every step, so you can see it with your own eyes.

Your goal here is to understand the many nuances of the problem. Human beings can reveal
important details that can’t be found in the raw data. One of those details might be the key to
finding a solution.

Software developers don’t stop after talking to just one or two people. They understand that the
real magic happens when they can connect with every single person whose work is connected
to the problem. Each person gives them a few more puzzle pieces—and a much broader
perspective.

Understanding the problem from many viewpoints gives you a unique perspective
that your client may not have. When you understand the entire process, you can think more
holistically about a working solution.

Gather objective data.

This skill will look a little different depending on the context, but the gist is the same: This is
where you dig into the numbers. For software developers, this means pulling user records, bug
reports, and other reports from the program to search for anomalies. By matching this
information to what they’re hearing from the client, they can pinpoint the exact cause of a
problem.

The data may reveal an easy solution, such a poorly configured setting or simple user error. It
may uncover a large-scale issue—or prove that the program being used simply isn’t the right fit.
Regardless, this step backs up your anecdotal evidence with hard data. You
need both to develop a complete understanding of what’s going on.

Think bigger.

So, there are times when all you need is a quick fix or an easy swap. The software developer problem-solving mindset is wide open to the possibility of bugs and simple issues. But they’re also open to the possibility of a much bigger problem: That the program their client truly needs doesn’t even exist .

Although software developers love building that perfect bespoke solution themselves, they must temper their zeal knowing that the best solution is always what’s best for the client. And this could mean a low code solution that optimizes an existing software package.

If you want to soar past your competition and be truly great, you need to think beyond band-aid
solutions and simple fixes. You need a sharp eye for the bigger picture, the greater opportunity,
the solution that everyone else dismissed as impossible.

Our interview questions for hiring a software development company will help you figure out
the right fit, but remember…

Good enough isn’t good enough.

Good software developers solve business process problems. For the great software developer problem-solving is a way of forging new paths by discovering new opportunities.

Harmonic is fueled by an insatiable desire to create software experiences that people genuinely
love. We deliver programs that make every process easier and every day better for our clients.
We never settle for half-baked solutions, and we’re always looking for innovative ways to keep
you moving forward.

Got a thorny business problem? We’d love to hear about it.

Let's Chat

Are you ready to write the next chapter of your story? We're ready to help you tell it.

Get in Touch

Dallas to Denver on a Gallon of Gas

On May 14, 2018, over 200 students and 81 student-built vehicles competed in the 30th annual SuperMileage Challenge sponsored by the Minnesota Technology and Engineering Educators Association (MTEEA).  

The Challenge

A student-built vehicle, powered by a 2.4 horsepower Briggs-Stratton lawnmower engine, must travel a total of 36 miles using the least fuel possible.  

The Rules

Each team receives a bottle of fuel for six, two-lap runs, around a three-mile track. The weight of the fuel is logged by car number prior to each run, and again at the end of each run. To avoid disqualification, the average speed for each run must be between 15 and 25 MPH. The teams in each of six classes with the best 12-lap average mileage are declared 2018 SuperMileage winners. 

The Technology

For its first five years, the SuperMileage Challenge was managed on clipboards with paper and pencils. Technology was first introduced in 1993 when FileMaker 2.1 made it easier to capture critical fueling and timing data for the individual cars. Upgraded with the release of FileMaker 5, the tool has performed flawlessly for two decades.

In January 2018, MTEEA made their own commitment to technology, updating their software to take full advantage of the modern technologies, such as iPads, mobile phones, and web support to capture trackside data from officials during the competition.

The Leaderboard

Using FileMaker’s native JSON support, the SuperMileage Challenge app pushed live data from the event to an online leaderboard where anxious participants and families could see the near real-time status of their vehicle. The best single lap average on the 2018 leaderboard: 675.6 MPG — the distance from Dallas to the Mile High City.

Let's Chat

Are you ready to write the next chapter of your story? We're ready to help you tell it.

Get in Touch