One of the things I like to do at the weekend is cook a nice meal. I enjoy the whole process of selecting and preparing the ingredients and then putting them together to produce something that (usually) tastes good and leaves me wanting more. It occurred to me, whilst I was walking the dog this morning 1, that software development is quite a lot like cooking in many ways. I did a quick search on the Web and chuckled to myself as I read the advice given to people who wanted to cook. You could almost take the advice, word for word, and apply it to software development. Let me share some examples.
The cook's version
"Nobody likes a dirty kitchen, and a dirty kitchen is no fun to cook in either (not to mention unsanitary). With a little conscious effort, you can keep your kitchen clean while you cook. "
The developer's version
Nobody likes dirty code, and dirty code is no fun to develop either (not to mention unsanitary). With a little conscious effort, you can keep your code clean while you develop.
The cook's version
Be organized before you start cooking. It is important to have all of your ingredients and equipment assembled before you start cooking. This will help you follow the recipe more easily and prevent any messing around looking for ingredients and equipment that you didn't realise you needed—or maybe don't even have!
The developer's version
Be organized before you start developing. It is important to have all of your requirements and tools assembled before you start developing. This will help you follow the recipe more easily and prevent any messing around looking for requirements and tools that you didn't realise you needed—or maybe don't even have!
The cook's version
Stick to the recipe. When you are a beginner cook, you should follow the recipe exactly. As you cook more, you will become more at ease with making changes to a recipe and still create successful dishes.
The developer's version
Stick to the patterns. When you are a beginner developer, you should follow the patterns exactly. As you develop more, you will become more at ease with making changes to a pattern and still create successful applications.
The cook's version
Clean up. It is easier if you can clean as you go but don't worry if this doesn't come naturally at first. After a while, you'll work out that this is easier than cooking in a mess! Just make sure that you clean up after yourself when you have finished cooking, and don't forget any spills on the floor or cupboard doors.
The developer's version
Clean up. It is easier if you can clean as you go but don't worry if this doesn't come naturally at first. After a while, you'll work out that this is easier than developing in a mess! Just make sure that you clean up after yourself when you have finished coding, and don't forget any spills in the test code.
The cooks version
Enjoy your experience. Cooking is fun and a creative activity. When you feel a little more confident, start experimenting with different ingredients and come up with your own creations.
The developer's version
Enjoy your experience. Developing is fun and a creative activity. When you feel a little more confident, start experimenting with different applications and come up with your own creations.
1 : If you find yourself needing thinking time buy yourself a dog. Larger ones need lots of walking and this is an ideal time to let your brain sort stuff out.
No comments:
Post a Comment