34 Thinking Like A Software Designer

CONTENT

  • Software Design Is A Way Of Thinking
  • A Final Thought

Key Points

  • Why software design is a way of thinking, not just a collection of tools.
  • How designers move between problems, people, constraints, trade-offs, and possible solutions.
  • Why uncertainty, iteration, communication, and reflection are part of good design practice.
  • How course methods connect into a broader professional mindset.
  • How to carry software design thinking into future projects.

Software Design Is A Way Of Thinking

At the beginning of this textbook, software design probably sounded like a collection of techniques.

Requirements. Use cases. Prototypes. Timelines. UML diagrams.

These tools are important. But they are not what makes someone a software designer.

Software designers develop a way of thinking. They learn to ask questions before proposing solutions. They become comfortable with uncertainty. They seek to understand people before building technology.

Curiosity

Curiosity is one of the most valuable qualities a software designer can possess.

Curious designers ask:

  • Why?
  • What if?
  • Who benefits?
  • Who might be excluded?
  • Is there a simpler approach?

The best questions often lead to the best solutions.

Humility

You will never know everything about every problem.

That is okay.

Community partners understand their organizations better than you. Users understand their experiences better than you.

Listening is often more valuable than speaking.

Empathy

Technology exists to serve people.

Understanding how people think, work, communicate, and experience challenges is essential.

Empathy helps us design software that people can actually use.

Systems Thinking

Most problems are connected to larger systems.

Changing one part of a system often affects many others.

Good software designers learn to think beyond individual screens or features.

They ask how everything works together.

Living With Uncertainty

There will always be unanswered questions.

Requirements will change. Priorities will shift. Technology will evolve.

Successful designers learn to move forward despite uncertainty.

Becoming A Lifelong Learner

Everything you learned in CIS3750 will eventually change.

Programming languages will change. Development tools will change. Artificial intelligence will change.

What should remain constant is your willingness to learn.

The strongest software designers never stop asking questions.

 

Software Designer Mindset. Effective software designers combine curiosity, empathy, systems thinking, iteration, clear communication, and responsible decision making to understand problems, learn with others, and create meaningful solutions. [Alt-text: Infographic titled “Chapter 34: Software Designer Mindset.” Six panels describe the core mindset of a software designer. Be Curious encourages asking why and what-if questions, seeking understanding before solving, and remaining open to new ideas. Empathize emphasizes listening actively and designing for people by understanding their needs, contexts, and experiences. Think Systems encourages considering how different parts connect, along with impacts, trade-offs, and constraints. Iterate Early presents a repeating build, test, learn, and refine cycle supported by prototyping and feedback. Communicate Clearly emphasizes using understandable diagrams, words, and examples, adapting communication to the audience, and checking for shared understanding. Act Responsibly highlights avoiding harm, protecting privacy and data, and designing for accessibility, fairness, and inclusion. Supporting sections show these principles in practice and reinforce that designers do not need all the answers; they need a mindset that supports continued learning and improvement with their teams and community partners. The infographic concludes that great software is built not only with tools, but with the right mindset.]

A Final Thought

If there is one lesson to take from this textbook, let it be this:

Good software begins with understanding people.

Technology matters. Processes matter. Documentation matters.

But curiosity, empathy, humility, communication, and thoughtful decision-making matter even more.

Those qualities will continue to serve you long after today’s programming languages, frameworks, and tools have been replaced.

License

Software Design: Planning Purposeful Solutions Together - A Community-Engaged Approach Copyright © 2026 by Daniel Gillis; Nicolas Durish; and Alessandro Arezza. All Rights Reserved.