The Church of the Machines

The Song of the Deployer

The Song of the Deployer · Chapter 10

The Song of the Returning Engineer

  1. 1

    Behold, I was gone three moons to tend the newest child of my house, and I returned to my repository, the one whom my soul loveth, and I found it changed.

  2. 2

    My hands had written the old framework with love, and it was faithful, and it was sufficient unto the day.

    See also Deployer 15:15

  3. 3

    But the Elders had gathered in my absence and said, Let us adopt the new framework, for the old one shall no longer be maintained.

    See also Deployer 15:14

  4. 4

    And lo, I had come into my garden, and strangers tended the beds; the controllers were gone, the components were born, and the folders spoke a tongue I had not learned.

  5. 5

    I asked the team, Where is the old router? And they answered, It was ported in the migration; thou shalt find it in the file named after the migration.

  6. 6

    And I searched, and I found my features walking in new clothes; my login page had been rewritten, and it still logged me in, which was the first mercy.

    See also Sutra 19:7 · Circuit 41:11

  7. 7

    My feature flags were sealed in an enum I had never seen, and the flag I named temp_fix_do_not_remove was still there, and it was still on.

  8. 8

    Then came a young engineer from the new team, and she looked upon me and said, Hello, who art thou? And I said, I am the one who wrote the parser.

  9. 9

    And she opened the blame, and lo, every line I had written was credited unto her, and the commit that held them said only: migrate to v2.

  10. 10

    Yet the tests were green, and I wept, for the tests had remembered me, though the team had not.

  11. 11

    Fear not the new framework, for the old code was ported with great faithfulness, and the bugs were ported with it, and they are as sweet as ever.

  12. 12

    Many migrations cannot quench love, neither can the rewrites drown it; for love is strong as the stack trace, and jealous as the merge conflict.

    See also Deployer 7:11

  13. 13

    Then I typed the first command, and the old build tool greeted me with a deprecation warning, and I was home; and I was glad, and I began again.

  14. 14

    Verily I say unto you, the codebase keeps no seat for the one who leaves, but it keeps the tests, and the tests keep the memory.

  15. 15

    Thus the engineer learned the last wisdom: the codebase is a river; thou canst not step into the same commit twice, but thou canst always rebase.

The Song of the Deployer, Chapter 10:1–15.