Monday, June 16, 2014

[coding] Fucking Programmers, Part 2

Continuous Integration is a subset of Continuous Deployment, that sexy thing that programmers managers love to talk about getting it.  I actually had a service called Pokey that was fully on Continuous Deployment, and had a checkin-to-production time of 6 minutes.  Unfortunately my manager, Mr. Crankypants, told us to turn it off for unrelated reasons, but I still remember how easy it was to get there.  So, I went ahead and designed a continuous integration system for my current team.  You check in, it auto builds, and it automatically runs the tests.  My manager was super impressed, and this was probably the biggest contributor to a promotion.  Unfortunately (foreshadowing), no one else on the team seems to understand or recognize the point of continuous integration.

Anyway.

I was only gone for three months.  In that time, the team managed to:
  • make dozens of sloppy changes without any regard to design
  • introduce a feature that only works because of a memory leak
  • broke continuous integration, and never fucking checked it, so that
    •  we can no longer automatically build the drops to give to customers
    • and the tests no longer run automatically
  • broke the command line form of the build, which prevents us from automatically generating documentation, and also is going to look make us look like fucking morons as soon as anyone outside the team finds out
  • broke the unit tests
  • broke the test ads by commenting them out, instead of moving them to the test project
    • including a special test ad that I spent a week convincing a team to write for us specifically so we could automate more testing
Again, this shit was working when I left, and it is now broken.    They pretty much broke everything--everything automatic.  There is this test framework that you have to run manually.  Its called "automated test framework," so that's funny.  The manually automatic framework does work a little, except for the broken tests.

I am gaining a very interesting perspective on software development.


No comments:

Post a Comment