A way forward

Today I needed to put together two pieces of software, each of which had its own gnarly quirks and peculiarities. The task seemed daunting — I couldn’t see a way forward that would not immediately result in one or the other piece breaking.

So I created a little toy version of one of the two pieces of software — just a few lines of code pretending to be the real thing — and stuck it inside the other one. In this way I got a little of it to work, and then a little more, and then after that a little more still.

Finally, I was able to bring in the real code, since by now — by working with my little toy version — I had layered on the little tweaks and adjustments that made it play well with others.

I am reminded of the old days when bridges would be built by flying a kite across a river. Once the kite was on the other side, the bridge builders would use that string to pull across a slightly thicker string, and then use that string to pull across an even thicker string, and so on. Eventually there would be a strong rope across the river, and bridge building could begin in earnest.

Maybe there is some generalizable lesson here. When a task seems too formidable, start out by solving a manageable toy version of that task, and then gradually level up until you get to the real thing. Once you look at problems in this light, there is always a way forward.

Leave a Reply