Code Like a Chef

Practicing mise-en-place in software development

Posted by Eric Faehnrich on August 28, 2015

Your work involves many things happening at once, lot’s of different stuff going into creating your finished product, and it’s hard to keep track of all of those different parts. You’re probably thinking I’m talking about software development. But this could just as easily describe chefs, and they have a practice called mise-en-place to deal with the complexity of their job.

I first heard of mise-en-place on NPR. It’s translates literally to “put in place” and means to gather tools and ingredients, work clean, and work slow to get things right.

Gathering tools would be setting up development and test environments, software repositories, a Jenkins continuous integration server, a wiki, issue and project tracker like Jira, all before starting to code. Know how to do a one-click build, deploy, and test right from the beginning.

Cleaning as you go will save you time in the long run. For code, that means refactoring. Take care of technical debt as soon as you can. Fix bugs immediately. One thing I always do as I work through a project is remove commented-out code, while wondering why it’s even there when a version control system is being used.

Even better than having to go back to clean your code is to do things right the first time. Following good practices may take more time, but you won’t waste even more time going back to fix your rush job.

Chefs often extend the technique of mise-en-place to other areas of their lives. It’s a practice I think software developers can adopt.