Vanity of vanities, saith the Preacher, vanity of vanities; all is vanity.
- Ecclesiastes 1:2, KJV
The Hebrew word translated as “vanity” in the King James Version is “hebel”, which literally means “vapor” or “breath”. The idea is that life is fleeting, like a breath of air. It is here for a moment, and then it is gone.
King Solomon was in despair because he had tried everything that he could think of to find meaning in life, and nothing had satisfied him. He had tried pleasure, wisdom, and work, but none of them had given him lasting satisfaction.
Time is a key element here. A satisfaction that lasts for a year is better than one that lasts for a day. A satisfaction that lasts for a lifetime is better than one that lasts for a year. And a satisfaction that lasts for eternity is better than one that lasts for a lifetime.
What things last? What things are eternal?
How does this apply to my craftsmanship as a software engineer?
The further that I get into my career, the more I am reminded that writing code is a fairly small part of the job, and that more code does not necessarily mean more value.
- Poorly-written code may produce no value at all, or even negative value.
- Poorly-written tests may produce a false sense of security, or hinder future development.
- Poorly-written documentation may result in confusion, frustration, duplicated effort, or wasted time.
Well-written code may produce value for a time, but it will eventually be removed or replaced. The value of the code itself is not eternal.
The greater value is in the impact that the code has on the souls of the people it serves. Souls are eternal.
Invest in people. Invest in eternity. Do things that last.