Victim of constraints

We would have read the story of ‘The conditioned elephant’ where a fully grown up elephant is tied using a small rope but it never tries to break free as it was conditioned as a kid that it cannot break a rope. We humans are also trapped with those constraints that we learned to become helpless. I have some stories during my journey.

When I started to program, access to computers were very limited. I have to write my program in paper, verify it a few times, get it reviewed on paper before getting system time and trying how mine works. Even my first few job interviews, I wrote the programs on paper and my interviewer went through the input and output manually before pursuing my candidature to solve tougher problems using a computer.

What this meant was I learnt the language fundamentals well, I understood many gotchas on the syntax and often I can write 100s of lines without syntax/compilation errors, without referring to any manuals or help articles. My behaviour continued even when I had my own system full time along with internet access. I spent a lot of time understanding in detail before I would claim myself proficient in a specific language or a tool and also refused to use IDE.

Barring a few occasional WOWs, I was slowly slipping into struggle like “The boiling frog“; observed in an experiment that a very gradual raise in temperature can kill a frog without it realising that it is being boiled. My years of conditioning with poor hardware and no internet meant I had to get a fair degree expertise before I could code professionally. While it is a good thing that something forces you to master a topic, the bad thing about this is I learnt to have a delayed feedback about trying new things out. When it came to experiment I used to lag behind as I was more inclined to deep dive instead of fail fast.

Every time someone whom I know coaxes me into changing my ways of working, I was held back by IT policy of “not upgrading the machines until they fail”. For a few years my machines at work never supported anything beyond a simple text editor which reinforced my older ways of working. It was only after an upgrade (I bought my own laptop), I realised the joy of programming in an IDE. For the first time TDD was a breeze and I fell in love with that method but not before wasting a few years in an outdated style.

Every few years information, hardware, connectivity, software is becoming more accessible. It is churning up faster than we can sense and adapt to the new landscape around us. We are often caught up like boiling frogs and stick to our trusted and tried methods at work until a jolt comes externally. New year beginning is always a good time to identify what constraints are we victim to and do they really exist? Every year I keep finding things that are outdated in my style of working and upgrade them. It is not just limited to workplace, it is in every aspect of life. Try finding out, what constraints are holding us back and do they exist?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s