Vanity of Vanities
Vanity of vanities, saith the Programmer, vanity of vanities; all is technical debt.
What profit hath a developer of all their labor which they taketh under the sun? One generation of frameworks passeth away, and another generation of frameworks cometh: but the problems abide foreverI have seen jQuery rise and fall. I have seen Angular become AngularJS become Angular again. The wheel turns, but we're still centering divs..
All Things Return
The code runneth to production, yet production is not full; unto the place from whence the bugs come, thither they return again.
All things are full of labor; man cannot utter it: the eye is not satisfied with seeing documentation, nor the ear filled with hearing Stack Overflow answers.
The thing that hath been, it is that which shall be; and that which is done is that which shall be done: and there is no new bug under the sun.
Is there any thing whereof it may be said, "See, this is new"? It hath been already of old time, which was before us in COBOL.
To Everything There Is a Season
// To everything (turn, turn, turn)
// There is a season (turn, turn, turn)
const seasons = {
timeToRefactor: true,
timeToShipTechnicalDebt: true,
timeToDebug: true,
timeToIntroduceBugs: true,
timeToBuild: true,
timeToBreakDown: true,
timeToComment: true,
timeToDeleteComments: true
};
A time to git add
, and a time to git reset --hard
;
A time to npm install
, and a time to rm -rf node_modules
;
A time to optimize, and a time to ship;
A time to embrace frameworks, and a time to refrain from embracingThere is a time for every methodology under heaven: a time for Agile, a time for Waterfall, and a time to admit we're all just making it up as we go..
The Futility of Optimization
I have seen all the works that are done under the sun; and, behold, all is premature optimization and vexation of spirit.
That which is crooked cannot be made straight by refactoring: and that which is wanting cannot be numbered, except by undefined
.
I communed with mine own heart, saying, "Lo, I am come to great estate, and have gotten more wisdom than all they that have been before me on Stack Overflow": yea, my heart had great experience of algorithms and data structures.
And I gave my heart to know Big O notation, and to know madness and folly: I perceived that this also is vexation of spirit.
For in much wisdom is much grief: and he that increaseth knowledge of the codebase increaseth sorrow.
The Fate of All Code
def the_fate_of_all():
"""
I said in mine heart concerning the estate of the sons of developers,
that the Machine might manifest them, and that they might see
that they themselves are but users.
"""
for that_which in ['junior developer', 'senior developer', 'the code itself']:
fate = 'legacy'
# For that which befalleth the junior developers befalleth the seniors;
# even one thing befalleth them all: as the one's code faileth,
# so the other's code faileth
return "All go unto one place; all are of the dust, and all turn to dust again"
The Wisdom of the Debugger
Then said I in my heart, "As it happeneth to the fool who useth console.log
everywhere, so it happeneth even to me who useth proper debugging tools; and why was I then more wise?"
Then I said in my heart, that this also is vanity.
For there is no remembrance of the wise more than of the fool forever; seeing that which now is in the days to come shall all be deprecated. And how dieth the wise developer? As the fool.
Therefore I hated life; because the work that is wrought under the keyboard is grievous unto me: for all is spaghetti code and vexation of spiritYea, I hated all my labor which I had taken under the sun: because I should leave it unto the developer that shall be after me. And who knoweth whether they shall be wise or a fool? Yet shall they have dominion over all my code..
The House of Mourning (Post-Mortem)
It is better to go to the house of post-mortem, than to go to the house of launch party; for that is the end of all systems, and the living will lay it to heart.
Sorrow is better than laughter at the sprint retrospective: for by the sadness of the countenance the code is made better.
The heart of the wise is in the house of debugging; but the heart of fools is in the house of premature optimization.
Two Are Better Than One (Pair Programming)
Two are better than one; because they have a good reward for their labor (and can catch each other's typos).
For if they fall into bugs, the one will lift up their fellow: but woe to them that is alone when they falleth into production issues; for they hath not another to help them up.
Again, if two lie together in the code review, then they have heat: but how can one be warm alone?
And if one's logic prevail against them, two shall withstand the edge case; and a threefold code review is not quickly broken.
The Conclusion of the Matter
Let us hear the conclusion of the whole matter:
Fear the production database, and keep the backups: for this is the whole duty of developers.
For the Machine shall bring every work into judgment, with every secret thing, whether it be documented, or whether it be evil spaghetti code.
A Time to Compile
And finally, I have learned this truth:
That which hath been compiled shall be decompiled; That which hath been encrypted shall be decrypted; That which hath been minified shall be beautified; And that which the developer hath joined together, the user shall tear asunder.
All is vanity and chasing after uptime.
Yet also have I seen that there is nothing better than that a developer should rejoice in their own works; for that is their portion: for who shall bring them to see what shall be deprecated after them?
Go thy way, eat thy debugging snacks with joy, and drink thy energy drinks with a merry heart; for the Compiler now accepteth thy works.
Let thy code be always clean, and let thy documentation never be lacking.
Live joyfully with the framework which thou lovest all the days of the life of thy project, which is given thee under the sun, all the days of thy vanity: for that is thy portion in this life, and in thy labor which thou takest under the LED monitorWhatsoever thy hand findeth to code, code it with thy might; for there is no work, nor device, nor knowledge, nor wisdom, in legacy systems, whither thou goest..
Thus spake Ecclesiastes, the Debugger "Vanity of vanities; all is technical debt" Yet in the debugging, meaning is found