Skip to main content

Command Palette

Search for a command to run...

An Engineering Mindset: A Way of Thinking About Problem Solving

Why 'problem solving' is important in every-day life, as well as in the tech world?

Updated
3 min readView as Markdown
An Engineering Mindset: A Way of Thinking About Problem Solving

When you hear "engineering" you're probably thinking of machines in some shape or form, but It's actually about problem solving. What matters to achieve an impactful outcome are your - approach, attitude and perspective. The tools often change, depending on circumstance, the mindset remains consistent and surprisingly useful in both technical and non-technical situations.

  • approach: how you move from uncertainty to resolution

  • attitude: can you see the problem as a challenge instead and also an opportunity to learn from?

  • perspective: frame it and view it from multiple angles

The Philosophy:

  1. Let's start by not calling them problems and instead - challenges. This is a perspective shift towards a constructive, rather than a destructive pattern, which the word "problem" belongs to.

  2. "A true engineering mindset is all about curiosity and no ego"
    - unknown source.
    That in itself should be our driving force. Try to refrain from "saving information only to yourself", as that may build more ego and impact teamwork negatively. We are social beings at the end of the day and we have to learn how to live with others, especially at work, as that's where most our time is spent during the day.

  3. Define the challenge

  4. Identify constraints

  5. Create hypotheses

  6. Test solution incrementally

  7. Measure outcomes

The Technical:

Across infrastructure, cloud, software, networking, and operations, much of engineering work can be simplified into four fundamental activities.

  1. Deploy (Provision)
    Nothing exists until it is deployed.

    Deployment is the act of bringing something into existence:

    • Provisioning servers.

    • Creating cloud resources.

    • Installing applications.

    • Building environments.

    • Delivering code to production.

    The engineering question is:

    How do we create the thing?

  2. Configure
    A deployed system rarely does anything useful without configuration.

    Configuration defines behaviour:

    • Network settings.

    • Security policies.

    • Application parameters.

    • Authentication methods.

    • Resource limits.

    The engineering question becomes:

    How do we make the thing behave as intended?

  3. Administer
    Once systems are running, they require care and maintenance.

    Administration includes:

    • Monitoring.

    • Capacity planning.

    • Updates and patching.

    • Access management.

    • Backups and recovery testing.

    The engineering question becomes:

    How do we keep the thing healthy over time?

  4. Troubleshoot
    Eventually everything fails.

    Disks fail.

    Networks fail.

    People make mistakes.

    Assumptions turn out to be wrong.

    Troubleshooting is therefore not a specialised skill but a core engineering activity.

    Effective troubleshooting follows a familiar pattern:

    1. Observe symptoms.

    2. Gather evidence.

    3. Form hypotheses.

    4. Test assumptions.

    5. Eliminate possibilities.

    6. Identify root cause.

    7. Validate the fix.

    The engineering question becomes:

    Why did the thing stop behaving as expected?

  5. Improve
    Engineers continuously optimise systems:

    • Reduce complexity.

    • Increase reliability.

    • Automate repetitive work.

    • Remove bottlenecks.

    • Improve observability.

    The best engineers are rarely the people who heroically fix disasters at 3 AM.

    They are the people who design systems so the disaster never happens.

Final Thoughts

The most valuable thing engineering teaches is not a programming language, a cloud platform, or a Linux command.

It teaches a way of thinking.

The world contains an endless supply of complicated problems, but many become manageable when broken into smaller pieces, measured objectively, and approached methodically.

Whether the problem is a production outage, a financial goal, a career decision, or a difficult conversation, the process remains surprisingly similar:

  • Understand the system.Gather evidence.

  • Change one variable at a time.

  • Measure the outcome.

  • Iterate.

That may be the most transferable engineering skill of all.

6 views