14
fjmurau
4y

I'm getting really tired of those dumbass programmers that do not understand shit and then come to me when production breaks. (I am also a programmer, not really a DevOps engineer, but I'm the least worst at DevOps stuff, so it's my job...).

We're programming some kind of document management tool. Today we had a release, and one of the new features is to download all of your documents as a zip file, which is asynchronuously generated. When it's done, the user gets a mail with the download link to the zip file.

The feature works basically, but today it broke our production service, as somebody was running a test of it.

Turns out all the documents are loaded into memory to be zipped. So if you have 2 gigs of documents, a container with memory restrictions in that area will crash.

I asked the programmer who reported this «ops problem» to me, why he didn't just shit the files into a temp foler in order to zip them in there.

He told me that he wanted to do so, but did not know how to mock this for a unit test, and therefore went to the in-memory «solution», which was easier for him to mock.

For fuck's sake, unit tests and mocks are fucking tools, not ends in itself! I don't give a fuck about your pointless mocking code when the application crashes!

When I got to deal with such dumbasses, I'd prefer to mock those motherfuckers with a leaky bucket of liquid shit, which basically accomplishes the same task from my perspective: dripping shit all over the place and make everything suck as fuck.

Comments
  • 1
    Being "who is not a devops but is the least worst in the team" is incredibly painful.
  • 0
    I often avoid unnecessary file operations to ease some sysadmin concerns. The thing is though, if you can stream into a file, you can stream into an in memory compression stream or something. A lot of people make the mistake of buffering everything up in memory first rather than piping things.

    I loath when people do things on file because it's the only way they know how but at the some time some libraries don't make it easy to do certain things in memory that really should not have any reliance on the file system.

    Libraries can be bad but the worst are frameworks that claim to let you do everything with their uber flex architecture but turns out they force you to do everything on the file system.
  • 0
    @RANTSMCPANTS The worst is having developers around that think that resources are not restricted.
Add Comment