Pragmatic Thinking Learning: A Journey From Novice To Expert — Beware The Tool Trap

Hiraq Citra M
lifefunk
Published in
3 min readJun 20, 2023

--

Source: https://pragprog.com/titles/ahptl/pragmatic-thinking-and-learning/

Table Of Contents

About Series
The Summary
Confusing the Model with Reality
Devaluing traits that cannot be formalized
Legislating behavior that contradicts individual autonomy
Alienating experienced practitioners in favor of novices
Spelling out too much detail
Oversimplification of complex situations
Demand for excessive conformity
Insensitivity to contextual nuances
Confusion between following rules and exercising judgment
Mystification
The Mind Map
Outro

About Series

This story is the fifth part of the series of Chapter 2: Journey From Novice To Expert.

The Summary

Many people claim that UML and model-driven architecture are the future. But, as with all silver-bullet scenarios, people soon found out that it just ain’t that easy. Although these tools and models have their place and can be useful in the right environments, none of them has become the hoped-for universal panacea. Worse yet, the misapplication of these approaches has probably done far more damage than good.

The model is a tool, not mirror

Confusing the Model with Reality

A model is not reality, but it’s easy to confuse the two

Devaluing traits that cannot be formalized

Good problem-solving skills are critical to our jobs, but problem-solving is a very hard thing to formalize. For instance, how long can you just sit and think about a problem? Ten minutes? A day? A week?

  • You can’t put creativity and invention on a time clock, and you can’t prescribe a particular technique or set of techniques
  • Even though you want these traits on your team, you may find that management will stop valuing them simply because they cannot be formalized

Legislating behavior that contradicts individual autonomy

You don’t want a bunch of monkeys banging on typewriters to churn out code. You want thinking, responsible developers. Overreliance on the formal model will tend to reward herd behavior and devalue individual creativity.

Alienating experienced practitioners in favor of novices

This is a particularly dangerous side effect. By targeting your methodology to novices, you will create a poor working environment for the experienced team members, and they’ll simply leave your team and/or organization.

Spelling out too much detail

Can be overwhelming. This leads to a problem called infinite regress; as soon as you make one set of assumptions explicit, you’ve exposed the next level of assumptions that you must now address.

Oversimplification of complex situations

Any time someone starts a sentence with “All you need to do is…” or “Just do this…” the odds are they are wrong.

Demand for excessive conformity

The same standard may not always apply equally in all situations. What worked great on your last project may be a disaster on this one.

Insensitivity to contextual nuances

Formal methods are geared toward the typical, not the particular.

Confusion between following rules and exercising judgment

When is it OK to break the rules?

Mystification

Speech becomes so organized that it becomes trivial and eventually loses meaning entirely.

Don’t succumb to the false authority of a tool or model. There is no substitute for thinking.

Avoid formal methods if you need creativity, intuition or inventiveness

The Mind Map

Outro

I’ve learned a lot from this chapter and tried to compare it with my profession as a software engineer, and I think it’s all valid, especially these statements:

  • Alienating experienced practitioners in favor of novices
  • Spelling out too much detail
  • Oversimplification of complex situations

All of these things really happened in the industry where I’m working now (software engineering).

--

--