DEV Community

Anthony
Anthony

Posted on

Systematic thinking for everyone, how to think like a programmer

Introduction

Have you ever wondered what the purpose of verbal and quantitative reasoning was in primary school or why we have to study social studies, art, and math in secondary school? Well, it's to develop us as functional, contributing members of society. In order for that to happen, we need to develop different thinking faculties. This includes math for logical and systematic thinking, science for analytical and critical thinking, art for creative thinking, and English and language for communication and comprehensive thinking. The problem now is that after secondary school, a lot of people do away with math and hence indirectly do away with systematic thinking. They stop thinking in systems and improve their other thinking, like critical, intuitive, and creative. While all of these have their purpose, I would argue that systematic thinking is probably one of the most important forms of thinking that exists. That is why most Fortune 500 company CEOs are engineers. Once you start to see everything as a system, almost nothing is impossible. In this article, I will explain what systematic thinking is and how to utilize it in your daily life. I won't promise that your life will be instantly better, but if you apply the principles you learn here today to your daily problems, you should begin to have more solutions than problems.

What is systematic thinking.

Systematic thinking is a structured approach to problem-solving where a problem is broken down into a system with individual parts. Here’s a simple guide to understanding and applying systematic thinking:

  1. Define the Problem as a System: Identify the main system that encompasses the problem. For example, building a chat app.

  2. Identify Sub-Systems: Break down the main system into smaller, manageable sub-systems. In the case of a chat app, sub-systems might include:

    • Authentication System: Handles user sign-up and sign-in.
    • Profile System: Manages user profiles.
    • Messaging System: Facilitates communication between users.
  3. Order the Sub-Systems: Arrange the sub-systems logically. Typically, authentication should come before profile management, which should come before messaging.

  4. Identify Blockers: Examine each sub-system for potential problems or blockers. Determine if these blockers are unit problems (problems that can’t be broken down further) or if they can be subdivided.

  5. Classify Unit Problems: Group unit problems into common categories such as:

    • Skill Issues: Lack of necessary skills or knowledge.
    • Money Issues: Insufficient funds or resources.
    • Location Issues: Geographic constraints.
    • Combination Issues: Problems involving multiple factors. If problems fall into multiple categories, it may indicate that the problem hasn’t been fully broken down.
  6. Develop Solutions: Create solutions for each unit problem. Since the problem is now in its simplest form, finding solutions should be more straightforward.

  7. Iterate and Improve: Continuously refine and improve your solutions to make them more efficient.

Applied application of systematic thinking in everyday life

Before I end this write up let me give you some day to day scenarios where systematic thinking can be used

Scenario 1: Planning a Family Vacation

Define the Problem as a System

  • Main System: Planning a family vacation.

Identify Sub-Systems

  1. Destination Selection: Choosing the vacation spot.
  2. Budget Planning: Allocating funds for the trip.
  3. Travel Arrangements: Booking flights or transportation.
  4. Accommodation Booking: Reserving places to stay.
  5. Itinerary Planning: Deciding on activities and attractions to visit.

Order the Sub-Systems

  1. Destination Selection
  2. Budget Planning
  3. Travel Arrangements
  4. Accommodation Booking
  5. Itinerary Planning

Identify Blockers

  1. Destination Selection:
    • Lack of consensus on the destination.
    • Limited vacation time.
  2. Budget Planning:
    • Insufficient funds.
  3. Travel Arrangements:
    • Limited availability of flights.
    • High travel costs.
  4. Accommodation Booking:
    • Fully booked hotels.
    • High accommodation costs.
  5. Itinerary Planning:
    • Overbooked attractions.
    • Weather conditions.

Classify Unit Problems

  1. Lack of Consensus: Skill Issue (communication and compromise).
  2. Limited Vacation Time: Location Issue.
  3. Insufficient Funds: Money Issue.
  4. Limited Availability of Flights: Combination Issue (money and timing).
  5. Fully Booked Hotels: Combination Issue (timing and location).
  6. Overbooked Attractions: Location Issue.
  7. Weather Conditions: Uncontrollable Factor.

Develop Solutions

  1. Lack of Consensus: Have a family meeting to discuss and vote on the destination.
  2. Limited Vacation Time: Choose a destination closer to home to maximize available time.
  3. Insufficient Funds: Save in advance or look for budget-friendly destinations.
  4. Limited Availability of Flights: Book flights early and be flexible with travel dates.
  5. Fully Booked Hotels: Use booking platforms to find alternative accommodations.
  6. Overbooked Attractions: Pre-book tickets online or visit less popular attractions.
  7. Weather Conditions: Check the weather forecast and have backup plans.

Iterate and Improve

  • After the vacation, review what went well and what didn’t. Use this feedback to plan even better future trips.

Scenario 2: Organizing a Home Office

Define the Problem as a System

  • Main System: Organizing a home office.

Identify Sub-Systems

  1. Workspace Setup: Arranging the desk, chair, and equipment.
  2. Storage Solutions: Finding places for files, stationery, and other supplies.
  3. Cable Management: Organizing and hiding cables.
  4. Lighting: Ensuring adequate lighting for the workspace.
  5. Ergonomics: Setting up a comfortable and healthy work environment.

Order the Sub-Systems

  1. Workspace Setup
  2. Storage Solutions
  3. Cable Management
  4. Lighting
  5. Ergonomics

Identify Blockers

  1. Workspace Setup:
    • Limited space.
    • Inadequate furniture.
  2. Storage Solutions:
    • Insufficient storage units.
  3. Cable Management:
    • Too many cables.
  4. Lighting:
    • Poor natural light.
    • Lack of suitable lamps.
  5. Ergonomics:
    • Uncomfortable chair.
    • Poor desk height.

Classify Unit Problems

  1. Limited Space: Location Issue.
  2. Inadequate Furniture: Money Issue.
  3. Insufficient Storage Units: Money Issue.
  4. Too Many Cables: Skill Issue (organization).
  5. Poor Natural Light: Location Issue.
  6. Lack of Suitable Lamps: Money Issue.
  7. Uncomfortable Chair: Money Issue.
  8. Poor Desk Height: Skill Issue (adjustments and modifications).

Develop Solutions

  1. Limited Space: Use vertical space and multipurpose furniture.
  2. Inadequate Furniture: Purchase second-hand or budget-friendly options.
  3. Insufficient Storage Units: Use DIY storage solutions or declutter unnecessary items.
  4. Too Many Cables: Use cable organizers and label cables.
  5. Poor Natural Light: Add mirrors to reflect light and use light-colored decor.
  6. Lack of Suitable Lamps: Buy affordable lamps or repurpose existing ones.
  7. Uncomfortable Chair: Use cushions or invest in an ergonomic chair.
  8. Poor Desk Height: Adjust desk height with risers or use an adjustable chair.

Iterate and Improve

  • Regularly assess the office setup and make adjustments to improve comfort and efficiency. Implement new storage solutions or rearrange furniture as needed.

The above 2 scenarios were generated by ai (Don't judge me, I just came back from the gym), but you get my point.

Conclusion

If you have reached the end of this article and understand what you have read, then I can assure you that coming up with solutions to your everyday problems will be a breeze. However, there are some pitfalls that you should be aware of, such as:

  • Trying to work on multiple unit problems at once. Remember to take it one unit problem at a time.
  • Similar to the first one, thinking about or start another unit problem before you are completely done with the ongoing one.
  • Systematic thinking can be very overwhelming, which is why the first two pitfalls are important.

Anyway, that's all I have for you. If you have any questions, leave them in the comments below.

Top comments (0)