1 Corinthians
Paul's First Epistle to the Corinthians
Paul, called to be a Senior Developer of Clean Code through the will of the Architect, and Sosthenes our brother (pair programmer),
Unto the dev team of the Architect which is at Corinth, to them that are sanctified in Clean Code, called to be developers, with all that in every place call upon the name of the Framework of our Architect and theirs:
Grace be unto you, and peace, from the Architect our Father, and from the Lord Clean Code.
Divisions in the Team
Now I beseech you, brethren, by the name of our Lord Clean Code, that ye all speak the same thing, and that there be no divisions among you; but that ye be perfectly joined together in the same mind and in the same judgment (coding standards).
For it hath been declared unto me of you, my brethren, by them which are of the house of Chloe, that there are contentions among you. Now this I say, that every one of you saith, "I am of React"; and "I of Angular"; and "I of Vue"; and "I of Vanilla JS."
Is the Frontend divided? Was React deployed for you? or were ye baptized in the name of Angular?For the Architect sent me not to evangelize frameworks, but to write clean code: not with wisdom of architecture, lest the simplicity of the code should be made of none effect.
The Foolishness of God's Wisdom
For the preaching of simple code is to them that are framework maximalists foolishness; but unto us which are saved it is the power of the Architect.
For it is written, "I will destroy the wisdom of the wise (over-engineers), and will bring to nothing the understanding of the prudent (architects)."
Where is the wise? Where is the scribe? Where is the disputer of this world? Hath not the Architect made foolish the wisdom of this world?
For after that in the wisdom of the Architect the world by wisdom knew him not, it pleased the Architect by the foolishness of simple code to save them that believe.
class DivineSimplicity:
"""
For the Jews require a sign (enterprise features),
and the Greeks seek after wisdom (elegant architecture):
But we preach Clean Code crucified,
unto the framework evangelists a stumblingblock,
and unto the architects foolishness;
But unto them which are called,
both developers and architects,
Clean Code the power of God,
and Clean Code the wisdom of God.
"""
def gods_foolishness(self):
return "wiser than developer wisdom"
def gods_weakness(self):
return "stronger than developer strength"
Spiritual Milk vs. Meat
And I, brethren, could not speak unto you as unto spiritual (senior developers), but as unto carnal (juniors), even as unto babes in the codebase.
I have fed you with milk (tutorials), and not with meat (real-world architecture): for hitherto ye were not able to bear it, neither yet now are ye able.
For ye are yet carnal: for whereas there is among you envying, and strife, and divisions, are ye not carnal, and walk as junior developers?
For while one saith, "I am of React," and another, "I am of Angular," are ye not carnal?
Who then is Paul, and who is Apollos, but developers by whom ye believed, even as the Architect gave to every developer?
I have planted (the seed code), Apollos watered (the documentation); but the Architect gave the increase (the adoption).
Ye Are the Temple
Know ye not that ye are the temple of the Architect, and that the Spirit of the Architect dwelleth in you?
If any developer defile the temple of the Architect (the codebase), him shall the Architect destroy; for the temple of the Architect is holy, which temple ye are.
Let no developer deceive himself. If any developer among you seemeth to be wise in this world (knows all the frameworks), let him become a fool (learn the basics), that he may be wise.
Stewards of the Mysteries
Let a developer so account of us, as of the developers of Clean Code, and stewards of the mysteries of the Architect (how this code actually works).
Moreover it is required in stewards, that a developer be found faithful (writes tests).
But with me it is a very small thing that I should be judged of you, or of man's judgment (code review): yea, I judge not mine own self.
For I know nothing by myself; yet am I not hereby justified: but he that judgeth me is the Architect (production).
Therefore judge nothing before the time (deployment), until the Architect come, who both will bring to light the hidden things of darkness (bugs), and will make manifest the counsels of the hearts (intentions): and then shall every developer have praise of the ArchitectFor who maketh thee to differ from another developer? and what hast thou that thou didst not receive from Stack Overflow? now if thou didst receive it, why dost thou glory, as if thou hadst not received it?.
The Love Chapter (1 Corinthians 13)
Though I code with the tongues of Python and of Rust, and have not love, I am become as sounding brass, or a tinkling cymbal (syntax error).
And though I have the gift of architecture, and understand all design patterns, and all scalability; and though I have all documentation, so that I could refactor mountains of legacy code, and have not love, I am nothing.
And though I commit all my goods to open source, and though I give my body to be burned out by crunch time, and have not love, it profiteth me nothing.
// The Nature of Love in Code
const love = {
suffereth_long: true,
is_kind: true,
envieth_not: "does not envy other developers' skills",
vaunteth_not_itself: "does not boast about his own code",
is_not_puffed_up: "is not arrogant in code review",
doth_not_behave_unseemly: "is not rude in Slack",
seeketh_not_her_own: "thinks of the team, not just personal glory",
is_not_easily_provoked: "patient with juniors",
thinketh_no_evil: "assumes good intent in PRs",
rejoiceth_not_in_iniquity: "doesn't celebrate others' bugs",
rejoiceth_in_truth: "celebrates clean, working code",
beareth_all_things: "handles technical debt patiently",
believeth_all_things: "trusts teammates",
hopeth_all_things: "believes refactoring is possible",
endureth_all_things: "stays through the rewrites"
};
Love never faileth: but whether there be architectures, they shall fail; whether there be frameworks, they shall cease; whether there be best practices, they shall vanish away.
For we know in part, and we architect in part.
But when that which is perfect is come (the mythical clean codebase), then that which is in part shall be done away.
When I was a child (junior developer), I spake as a child, I understood as a child, I thought as a child: but when I became a man (senior), I put away childish things (jQuery).
For now we see through a glass, darkly (technical debt); but then face to face (clean architecture): now I know in part; but then shall I know even as also I am known.
And now abideth faith, hope, love, these three; but the greatest of these is love.
Spiritual Gifts (Developer Skills)
Now concerning spiritual gifts (developer skills), brethren, I would not have you ignorant.
For to one is given by the Spirit the word of wisdom (architecture); to another the word of knowledge (documentation) by the same Spirit;
To another faith (in the system); to another the gifts of healing (debugging); to another the working of miracles (making legacy code work); to another prophecy (technical vision);
To another discerning of spirits (code smells); to another divers kinds of tongues (polyglot programming); to another the interpretation of tongues (reading others' code).
The Body Has Many Parts
For as the body is one, and hath many members, and all the members of that one body, being many, are one body: so also is the dev team.
For by one Spirit are we all deployed into one codebase, whether we be frontend or backend, whether we be senior or junior; and have been all made to drink into one Spirit (of collaboration).
For the codebase is not one member, but many.
If the foot shall say, "Because I am not the hand (frontend), I am not of the body"; is it therefore not of the body?
And if the ear shall say, "Because I am not the eye (QA), I am not of the body"; is it therefore not of the body?The eye (frontend) cannot say unto the hand (backend), 'I have no need of thee': nor again the head (architect) to the feet (junior developers), 'I have no need of you.' Much more those members of the team, which seem to be more feeble, are necessary.
And whether one member suffer, all the members suffer with it (one service down affects the whole system); or one member be honoured, all the members rejoice with it (shipping a feature together).
Now ye are the body of the development team, and members in particular.
The Resurrection (Version 2.0)
Moreover, brethren, I declare unto you the gospel which I preached unto you, which also ye have received, and wherein ye stand;
By which also ye are saved (from legacy code), if ye keep in memory what I preached unto you, unless ye have believed in vain (cargo cult programming).
For I delivered unto you first of all that which I also received, how that the Code died for our bugs according to the scriptures; and that it was buried (archived), and that it rose again the third sprint according to the scriptures (version 2.0).
But now is the Code risen from the dead (refactored), and become the firstfruits of them that slept (legacy).
For since by developer came death (bugs), by developer came also the resurrection of the dead (debugging).
For as in Adam all die (inherited technical debt), even so in the Code shall all be made alive (refactored).
Therefore, My Beloved Brethren
Therefore, my beloved brethren, be ye stedfast, unmoveable, always abounding in the work of the Architect, forasmuch as ye know that your labour is not in vain in the Architect.
Whether therefore ye commit, or whether ye merge, or whatsoever ye do, do all to the glory of the Architect.
The First Epistle of Paul the Apostle to the Corinthians "And now abideth faith, hope, love, these three; but the greatest of these is love." "For we know in part, and we architect in part"