The Engineer sat with his son next to a pile of Legos. They were playing a game the engineer had designed: first he would take the small pieces and assemble them into larger parts. If they wanted to build a creature, he might construct a pair of arms, legs, a tail, and a torso. If they wanted to build a house, he might put together the walls, floors, and roof. The Engineer would then give these larger parts, which he had assembled from smaller pieces, to his son.
The Engineer dreamed that his son would take these parts and build the creatures and the houses that they envisioned. He imagined that as they continued to play this game together, the son would become intimately familiar with the parts his father built and how they fit together. He imagined further that when his son grew older, and had a child of his own, they would begin to take the creatures and develop colonies out of them. They would take the buildings and design towns and cities. And when the son’s child grew older and had his own children, they would continue to construct more and more intricate and magnificent things, each generation building on the work of the one before.
But when the Engineer’s son received the parts his father had assembled, he did something that made the Engineer’s heart sink: he took them apart. Piece by piece, he tore down the walls, broke up the arms and legs, and deposited the debris in a pile on the floor. Then he began the gradual task of rebuilding the parts his father had already made.
By the time the son had grown into a man, he understood what his father had wanted to achieve. And so, when his own son was born, he introduced the game to him: arms, legs, walls, floors–all the parts his father had made, he faithfully rebuilt and handed over to his son. But just like he had as a boy, the son took it all apart and tried to start over from the beginning.
This describes the relationship that I feel far too many of us (including myself) have with those who came before us. I ignore the tools before me and try to build better ones, when there is so much more that could be done if I just used the tools that are already made, right in front of me. It’s an area in which I and many of my fellow developers desperately need to improve.