O gods of software development and operations, I have sinned.
Your anger falls on me, and I feel your wrath.
The web site I have inherited has no unit tests.
It has no deployment script, and no README.
Or database migration tool.
It makes no use of virtualenv or requirements.txt or buildout,
nor has any description of dependencies.
It has most of the VCS history missing.
Source dependencies are in random folders,
clearly checked out from private SVN clones of
proprietary and open source projects,
but forked at unknown date with no history.
And I cry, “Why me?”
Have I not used a fabfile for projects I have started?
Have I not included a setup.py for my open source apps?
Have I not written helpful docs, or at least a README.rst?
Have I not written correct commit messages, with carefully
constructed patches that didn’t mix features and fixes?
Are the projects I hand on not covered by automated tests,
at least for the critical functions?
But then I consider the sins of my youth,
and I confess: You are just.
You could have given me the VBA project I wrote when I was 18.
or some of the web apps I have written since.
It could have been the thousands of ASP.NET lines I cranked out in two short years,
like the proverbial monkeys trying to produce Shakespeare.
It could be raw SQL in the frontend code,
and HTML mixed with business logic.
You could have given me a PHP project.
But it is Python, and Django at that, and it is easily fixed.
Your chastisement is light indeed.