cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post

What does cooking have to do with Systems, Management, and Processes

Level 12

The other day I was having a conversation with someone new to IT (They had chosen to pursue down the programming track of IT which can be an arduous path for the uninitiated!). The topic of how teaching, education and learning to program came up and I’d like to share this analogy which not only works out with programming but also I’ve found pretty relevant to all aspects of an IT Management ecosystem.

The act of programming like any process driven methodology is an iterative series of steps, one where you will learn tasks one day which may ultimately remain relevant to future tasks. And then there are tasks you’ll need to perform which are not only absolutely nothing like you did the previous day, they’re unlike anything you’ve ever seen or imagined in your whole career, whether just starting out or you’ve been banging at the keys all your life. The analogy I chose for this was cooking, I know I know, the relevance hopefully should resonate with you!

When you get started out cooking, correct me if I’m wrong but you’re usually not expected to prepare a perfectly rising without falling soufflé, No, not at all.  That would be a poor teaching practice and one where you’re setting up someone for failure.  Instead, let’s start out somewhere simple, like Boiling water. You can mess up boiling water but once you start to understand the basic premise of it you can use it for all kinds of applications! Sterilizing water, cooking pasta or potatoes, the sky is the limit!  Chances are, once you learn how to boil water you’re not going to forget how to do it and perhaps will get even better at doing it, or find even more applications. The same is true systematically that once you start navigating into PowerShell, Bash, Python or basic batch scripts; what you did once you’ll continue to do over and over again because you understand it, but more so you got it down pat!

The day will come however you’re asked to do something you didn’t even think about the day prior, no more are you asked to perform a basic PowerShell script to dump the users last login you could whip up before in a single line of code (boiling water) and instead you’re asked to parse in an XLS or CSV file to go make a series of iterative changes throughout your Active Directory (Or for practical use-case sake, Query active directory for workstations which haven’t logged into AD or authenticated in the past 60 days, dump that into a CSV file, compare them against a defined whitelist you have in a separate CSV, as well as omitting specific OUs and then perform a mass ‘disable’ of those computer accounts while also moving them into a temporarily ‘Purge in 30 days’ OU and generate a report to review.) Oh we also want this script to run daily, but it can’t have any errors or impact any production machines which don’t meet these criteria.   Let’s for the sake of argument… Call this our soufflé…

Needless to say, that’s a pretty massive undertaking for anyone who was great at scripting, scripting that which they’ve been doing a million times before.   That is what is great about IT and cooking though.   Everything is possible, so long as you have the right ingredients and a recipe you can work off of.   In the given above scenario performing every one of those steps all at once might seem like the moon to you, but you may find that if you can break it down into a series of steps (recipe) and you’re able to perform each of those individually, you’ll find it is much more consumable to solve the bigger problem and tie it all together.

What is great about our IT as a community is just that, we are a community of others who have either done other things before, or perhaps have done portions of other things before and are often willing to share.    Double-down this to the fact that we’re also a sharing is caring kind of community who will often share our answers to complex problems, or work actively to help solve a particular problem.  I’m actually really proud to be a part of IT and how well we want each other to succeed while we continually fight the same problems irrespective of size of organization or where in the world.

I’m sure for every single one of us who has a kitchen we may have a cookbook or two on shelves with recipes and ‘answers’ to that inevitable question of how we go about making certain foods or meals.   What are some of your recipes you’ve discovered or solved over the time of your careers to help bring about success.  I personally always enjoyed taking complex scripts for managing VMware and converting them into ‘one-liners’ which were easy to understand and manipulate, both as a way for others to learn how to shift and change them, but also so I could run reports which were VERY specific to my needs at the moment while managing hundreds and thousands of datacenters.

I’d love it if you’d share some of your own personal stories, recipes or solutions and whether this analogy has been helpful if not explaining perhaps what we do in IT to our family who may not understand, but maybe in cracking the code on your next Systems Management or process challenge!

(For a link to my One-Liners post check out; PowerCLI One-Liners to make your VMware environment rock out! )

15 Comments
MVP
MVP

Exactly..programming, cooking, even systems management are a series of steps or procedures added together in various ways to provide a specific outcome.

MVP
MVP

I have the luxury of helping students start building their own "cookbook."  I teach various intro level classes in the areas of client / server and networking.  An important aspect of the learning is that they are taught in a certain order to allow them to build upon previous knowledge and gain additional insight into the workings of IT.  Through the various classes, they are able to see (hopefully) how each of the components work together, but still yet can be looked at independently for troubleshooting purposes.  My classes of course is just the beginning as I've been in IT for 15 years and am still learning daily.  We as IT professionals have to make sure that our cookbook is never completed.

I think it is important to let people know like a great chef, there are but a few.   Great programmers are the same way.   Lots learn to program well, but few are great or have the time to become great.  I have always said there are two types of people in this world, those who code, and those who do not.   One of the best I ever employed always coded, when he was driving he would think to him self the code to change the lights from red to green.   He never shut off, and then when he was at home he built monster trucks.  Point being, the two didn't relate but that is what made him great.  Every aspect of his life he simply thought in code.  I do not, which is why i am in management. 

I do believe we can train, teach and develop good programmers, as cooks, but to be great it take something else.  The person needs to just live it.  I cooked my way through college on my way through engineering school, when i was hired out of college to work in then called MIS, i found the career i loved, far from what i thought i would be doing, but never the less something awesome.   Coding is my kryptonite.    It has plagued me my whole life.   Much more because i moved in to networking and hardware, then software implementation.  Management soon followed and now Sr. Management.  I have never taken the time to really focus on it and develop like i did my cooking skills.   I am no chef, but i make a mean frittata...

It's an apt analogy--cooking and performing IT tasks well at work. 

We keep a cookbook online through a corporate SharePoint portal, and try to provide documentation and processes to our staff, listed in intuitive categories.

Ensuring buy-in and consistent use of the portal by our staff is often the challenge.  In a team, some members will be on top of the documentation process, others will lag behind.

Laggers ensure tribal knowledge goes unshared, and others will waste cycles reinventing the wheel.

Keeping the information pertinent and up-to-date takes time, which is hard to come by when things are so busy.  But as the Merovingian said:

"Who has time? But then if we never *take* time, how can we have time?"

Level 20

Lol this just made me think of one of my favorite websites:  Cooking For Engineers :: Index

Nothing like grilling skills written by engineers!

We have continued to improve technology so that the nextgen can continue to push the envelope. Technology is never to stand still. I remember setting dip switches on serial cards and internal modems. You know who doesn't care about hearing about that? Millennials! And they are right to do so!

Here is another analogy...

My company was one of the first 7 SAP customer to roll out HANA. It durn near killed us in the process. At the time we the most complicated implementation where HANA was pulling from multiple sources, not just SAP ECC. We started out on version 5. SAP rolled out version 12 before they rolled out version 11. We had SAP engineers in our office working with us on the 14 month implementation. We would experience a problem and a day later we would find a whitepaper on the SAP MarketPlace written by the SAP engineer who was onsite! We would find a bug and SAP told us to upgrade. The bug was still there! SAP told us to upgrade. The bug was still there!

I equated all of this to the Oregon Trail. Many years ago brave souls trekked west and died along the way. They laid the path to the rest for the rest of us to now complain that an airline flight take five hours coast to coast.

Awesome post, cxi​! I'm pretty good at creating colourful analogies, but this one takes the biscuit! (I may have to 'borrow' it, it's that good!).

Most of us are great at a handful of things, even expert in one or two on top of this, but the rest? We're at the building water phase. You need to accept that for these new skills, you have to reach for the '...For Dummies' book, read the basics and then, once you understand what experts take for granted, you can start to move up the difficulty ladder.

For instance, I'm pretty confidant that I'm almost at CCNA level in networking, but it's a new skill for me, so I've taken my own advice and have decided to start at the bottom, with the Network+ certification. Sure, I could probably walk in to the test centre and ace it, but I want to read that book from cover to cover first, making notes as I go, to ensure that any gaps in the foundation knowledge for the subject are filled in before I progress. I've seen people with assumed towering knowledge on a subject, come crashing down because they've rushed their 'knowledge tower', and missed learning something fundamental on the way.

Level 14

Learning new things is easier when we can build on what we already know.  We continue to tools to our tool box as we learn.  The cooking analogy fits very well.

Level 13

You call it a "cookbook", I call it a "smart book".  That comes from my military background.  I am constantly adding pages to my smart book.  Would be lost without it.  Everyone should have one.  Over the years we all find tidbits of useful information.

Level 17

What's for Dinner?

MVP
MVP

It might need to include bacon !

Level 13

Extending the analogies even further, systems management can be compared to both cooking and baking.

The differences between cooking and baking as explained to me by a research biologist (who is also a great cook and baker) is that cooking is simply combining ingredients to produce something that is edible, while baking requires a methodical approach and specific quantities of components in the correct sequence in order to produce the optimal outcome.

We can simply obtain some management software, create a few reports, alerts, and dashboards and call the result a management system.  This would be edible.  Like making biscuits-and-gravy.

When we are consistent and methodical in the components and application thereof we create amazing works.  Like 10-foot tall wedding cakes.

Level 21

I think this is a great anology!

I wish more folks would use more of a recipe when it comes to troubleshooting.  Far too often I see people guessing at what they think the problem is and then taking a course of action based on that guess.  Good troubleshooting should be more methodical than this starting with classifying the things you know versus the things you think.  Things you know should be backed up by data and the things you think should be researched until you can either prove or disprove them.  Following this process through trying to move as many things as possible into the things you know category.  A course of action should always be based on things you know and therefore backed up by data, not things you are guessing at.

MVP
MVP

Not unlike practicing medicine.

Signs and symptoms, signs are things that can be observed by someone else, while symptoms are the things experienced by the person.

signs - high cpu utilization, symptom - slow system response

sometimes it takes  a variety of signs and symptoms to isolate possible cause.

Happily this isn't yet another sports analogy!

About the Author
Founder at Remedy8 Security, Technology Evangelist, vExpert, EMC Elect, BDA, CISSP, MCT, Cloud, Ninja, Vegan, Father, Cat, Humorist, Author