DEV Community

Cover image for From Chef to Programmer: Lessons From The Kitchen
Jeremy Schuurmans
Jeremy Schuurmans

Posted on • Edited on

From Chef to Programmer: Lessons From The Kitchen

Before I fell in love with programming, I was a professional cook. I spent two years in culinary school, and worked in a lot of different restaurants, from dive bars to fine dining. Along the way, I learned some lessons that still guide how I approach my work. Though I'm nowhere close to perfect at any of them, I'm reminded of them when I program and see the scars on my hands and arms from the burns and cuts I collected. I want to share them with you.

Work harder than the person next to you

Most everyone who starts cooking professionally starts in the same place, the bottom. For most people, that's the salad station, known as garde manger, or pantry. In an industry as intensely competitive as restaurants, the only way to move up is by working as hard as you can. This means being willing to take on any assignment your chef gives you. It means constantly working to master your craft. Always striving to be better than you were the day before, always learning, always growing. It can be hard sometimes to find that drive within yourself. It's easy to get comfortable on the station you've been working for several months or a year, and it can be terrifying to do something different. The best way that I know to combat that and push yourself to work harder, go further, and grow faster is to look at the person next to you and try to work harder than they do. Whether you're a junior dev, or a bootcamp student who just finished writing a "Hello World" program, or even someone with years of experience, there is no secret to becoming the programmer you want to be. It takes work. Programming is a craft like any other, and the only way to master a craft is to work at it all the time.

Find a way to love what you do

I learned early on in my cooking career that I was never going to be a head chef. I didn't want to admit it for a long time, but in my gut, I knew it was true. The reason for this is simple, I didn't love cooking. I enjoyed it, sure, but I worked alongside people who lived and breathed to cook and I could sense that they had something I didn't. I saw their passion for their craft push them through incredible obstacles. They were the ones who were seemingly blessed with inspiration from the gods of gastronomy. They always had better ideas, better product, and better technique, because they loved it to the point that they were always working to be better. They read about cooking, practiced their skills, leveled up, cooked outside of work, and as a result they were just better. If you're going to code, if this is your career path, then go all the way. Read as much as you can about programming. Practice your technique by doing code challenges and exercises, and build side projects. Love what you do. The familiar saying "love what you do and it'll never feel like work" is false. At least for most of us. But if you love what you do, you'll love the work regardless. It'll help you keep moving forward when you're tempted to quit.

Show up

Opportunity comes to the people who are there when it arrives. You have to show up. To me, this means two things. The first is don't be lazy. If you don't feel like working on a project, work on it anyway. Every day, I talk to a dozen people who are hungry to make it as developers. I'm one of them. If you've already made it, recognize how lucky you are and make the most of it. The second is don't be afraid. If you don't think you can build a project, build it anyway. If you don't think you can write a blog post, write it anyway. Don't let yourself get caught in the trap of thinking that you can't do something because you don't know how, or you're not qualified. Show up, do it anyway, and you'll be surprised at how much you're capable of. You never know what opportunities you might miss out on if you don't try.

Be organized

The best kitchens are obsessed with organization. Mise en place. Everything in its place. The most common piece of advice I've heard for cooks who were in the weeds, aside from cook faster, was to stop, take a breath, and wipe down your station. When your work area is clean, and your tools are where they should be, your mind is better able to handle complex problems. For a cook, that could be preparing ten different dishes simultaneously. You know what that looks like for a programmer. Our minds need to be clear to debug that problem that has us totally lost, and a good first step is to organize your space, whether that's your physical desktop, your computer desktop, the directories and files in your application, or even your life. Being organized leads to better success.

Plan your work. The best cooks never have to ask what to do next. They have a solid plan of action, written down, that they execute step by step. I have seen so many people fall on their faces because they didn't have a plan (I was often one of them) and so many others kill it because they always had a plan. Plan your day. Write out your projects in pseudocode before you start programming. Sometimes there's no way to get where you want to go without a map.

Never stop learning and teach when you can

Cooking is a lifelong pursuit. Even the best never stop learning new things, and that's one of the reasons why they're the best. Programming is no different. There's always something new to learn. So absorb as much as you can, and help out the next person in line. We owe it to everybody who helped us learn to help the people who are where we once were. It's not just a nice thing to do, we learn more by teaching than we ever could by studying. And anyway, the world seems like it needs more nice people right about now. Might as well be us.

Top comments (25)

Collapse
 
davedodea profile image
Dave O'Dea • Edited

Great post Jeremy! I was a chef after high school for over a decade and so much of what you write about resonates with me. I wrote a piece last year based around my decision to leave the kitchen and return to my original love of programming. Reading your story has reminded that I need to write a follow up! Thanks 👌
medium.com/kitchen-to-keyboard/i-w...

Collapse
 
jeremy profile image
Jeremy Schuurmans

I just finished reading that, and I really connected with your experience. Definitely looking forward to a follow-up!

Collapse
 
thecodetrane profile image
Michael Cain • Edited

I appreciate the article, as a fellow nontraditional programmer; a lot of good stuff here.

I would offer a bit of caution with Passion Is The Differential. I like programming a lot, but I’m not all that passionate about it. I got into the field because it is secure and lucrative, which I think is the primary reason why a lot of us switch careers to it. For those that are passionate about it, and can spend a lot of their own time working on OSS, developing tutorials, etc. I applaud you and I’m even a little envious. That said, if you were simply putting in your 40 and making an effort to modestly improve your skills every day, there is no shame in that.

I think being more pragmatic approach to the concept would be Grit Is The Differential. As you aptly pointed out, there are going to be days where the going is tough and you have to simply do it. Getting stuck, troubleshooting bugs all day, and the endless frustration of mismatched APIs is part of the gig. This job, like any other job, is going to have days where it sucks. Part of being successful in this field, IME, is having the tenacity to push through.

Thoughts?

Collapse
 
jeremy profile image
Jeremy Schuurmans

I think that's a really excellent point, and I'm glad you brought that up. I can only ever write about my own experience, and so when I wrote that I was thinking of my own feeling that if I loved cooking more, I would have felt more motivated improve, thus becoming successful. But just because my own lack of passion was a de-motivator, doesn't mean that I wouldn't have been able to find another source of motivation. The same holds true for anyone.

I don't think that being absolutely in love with a job is a prerequisite for anybody. I think that if someone wants to program for a living, they should do it, regardless of whether or not they live and breathe code. Even passion doesn't make up for being scrappy and working hard.

I've been searching for something I love and am good at my entire life. I feel lucky that I've found it in programming, but I don't want anyone to think that they would be somehow unable to be great at programming because they lack passion for it. All I'm pointing out is that I've noticed that the most successful people I've seen tend to have a passion for their work. But I'm limited by my own experience because that's all I can write about.

All our stories are different, and we are on our own journeys.

Collapse
 
thecodetrane profile image
Michael Cain

Certainly, and your experience is as relevant as mine. I mention it because I think there can be this “over-exhuberance” in our field. “Passion” becomes code for “working long hours and weekends”, which I feel can contribute to the stigma and ageism that is already plaguing the industry.

Collapse
 
aelbione profile image
Aelbione

I enjoyed reading this. I came across your post while googling stress comparison between chefs and programmers. I was a chef for 20 plus years including being a head chef and chef de cuisine. I was always able to handle the stress until I wasn’t. There were certain jobs that were just too much. It wasn’t the hours necessarily. Although, working months of 16 hours a day for 6 days a week will take a toll. I was not passionate about being a chef for most of the time and the pay was also horrible. I was able to outwork people often and most of the time be the eye of the storm. I gave it up for good last year when the pandemic created a vacuum even after I had just landed a fancy new job as a private chef at a bio tech startup. At that point, I was already a “dead chef” as my fiancé likes to call me now. Although, I do still make her dinner almost every night. After being furloughed and taking a few months to mentally recuperate, I decided to begin learning how to code. Now, that’s the path I’m on. I find myself extremely fascinated with it and have found some good mentors to help me through the process. But I am not sure I will ever be as passionate about it as I am about music. I am a musician as well. I’ve been one since before I even had my first cooking job. Even went to college for it. But like the culinary path, it does not pay unless you are a combination of gifted and lucky. So, I decided to keep this as a passion and not ruin it by trying to force a career out of it. I have played professionally. More recently in fact. Effectively retired from restaurants 7 years ago. Was a self-employed private chef after that. This allowed me more time to work on music. I have written and produced a bit of music and a music video. I have tons of unfinished demos. All this is to say that I think it’s hard to make a career out of passions and can also suck that passion right out of us. Especially, if the pay does not equal the energy output. But what I have gained throughout my professional career is that a good ole fashioned hard work ethic is enough to be successful professionally. Out working others can be a good goal to have and competitiveness is motivating. But no matter what one does for a professional living, I do not think it’s imperative to be passionate about one’s job. It certainly helps. But it’s completely possible to be really good at what you do professionally and also have an appropriate work/life balance and protect their true passions. Hopefully, I will be gainfully employed as a full stack developer within a year. That is my expectation. I set my goals high. Thanks for reading my thoughts and opinion and I appreciate the post you made. Please excuse my fatigued ramblings and grammatical errors or typos. ~ Cheers!

Collapse
 
jeremy profile image
Jeremy Schuurmans

Thank for your thoughts! I agree with you completely that our careers don't necessarily need to be our foremost passions, but can help us live a lifestyle that allows us to pursue our passions. Best of luck on your journey and let me know if I can help in any way!

Collapse
 
aelbione profile image
Aelbione • Edited

Hi! Thanks for replying. I could actually use some guidance. Mostly, I am beginning to work on my portfolio and some projects for it. Wondering what the best frameworks and libraries are to use for it and also what the best projects are for it. Although, I was a chef I have always been a musician and would love to work for some sort of music company as a self-taught “entry level” web developer. But, of course I would also take any entry level web development job. Anyway, any insight is appreciated. Thanks again for this article and your reply.

Thread Thread
 
jeremy profile image
Jeremy Schuurmans

I would say that the best frameworks and projects to use are the ones that excite you. It would be good to have projects that showcase your evolution as a programmer.

My most recent portfolio had a CLI program that connected to the Google Books API and let users put together reading lists, a Ruby on Rails web app that was a wine-lovers' social media page, another Rails app that was a job search organizer, and a small webpage I made that tells you dad jokes when you click a button. All of my projects were written in Ruby, Ruby on Rails, and JavaScript.

CLI programs are really nice to have because they show proficiency with a language. Full-stack web apps are good to include because that's what we work on most of the time, so it's good to be familiar with how they work. Whatever you include, be sure you deploy it to Heroku or some other cloud provider.

Once you start working professionally, all of your learning projects can be replaced with examples of your real-world work, which is a great feeling.

I hope this helps! Let me know if I can give you any more information. I'll try to respond sooner next time.

Thread Thread
 
aelbione profile image
Aelbione

Thanks for this reply. I actually missed it somehow. As one might assume, progress was a little halted due to life's little twists and turns. Been doing a lot of personal chef work since about the time you responded, but I am now a little more balanced and back on the coding path. Thanks again for all that information. Very much appreciated!

Collapse
 
dsostre profile image
Danny Sostre • Edited

I never comment on stories, but felt compelled to do so here. The article is well written and your advice is spot on. I personally think passion is the most important element. Passion drives you to work hard, show up and learn as much as possible. Your passion for programming shows through the article. Thanks for sharing

Collapse
 
mfurmaniuk profile image
Michael

Glad to know I am not the only one who has followed this path. I've felt the same things as you, just never put it down before. About the only thing I use my culinary skills for now is make my family restaurant-quality dinners, and teach my kids how to get around the kitchen.

Collapse
 
hmkurth profile image
hmkurth

Hello, I googled chef to programmer, and this came up :) I was a corporate chef for the last 11 years at a large software company near Madison, but now I am going to school for web development. I felt exactly the same as you described about the profession, I didn't LOVE it, I knew I could never be a head chef, and I was surrounded by people who were more passionate about it. I'm in my second semester now, but I'm wondering if i can find a way to be truly passionate about work in this field.

Great article, thank you for your perspective!

Collapse
 
jeremy profile image
Jeremy Schuurmans

I can only speak from my own experience. I currently work for a small software company in Madison, and I'm truly passionate about the work we do. Give it a shot. You never know until you try.

Collapse
 
hmkurth profile image
hmkurth

So far I really like ui/ux, do you think there is enough of a market for that around here?

Collapse
 
maestromac profile image
Mac Siri • Edited

Thanks for sharing this! I've always admired chefs' ability to keep their station clean and organized while serving dinner rush. I share that obsession and it's very much reflected on the software tools I choose to use and how I organize them. Great post!

Collapse
 
jeremy profile image
Jeremy Schuurmans

Thanks, everybody. Writing is fun as it is, but when it connects with people, it's the greatest feeling in the world. I was going off of a hunch that because tech and cooking are two insanely competitive industries, the same principles for success could apply to both. I am both happy and relieved that I was on to something.

Collapse
 
tyler_heinrich profile image
Tyler Heinrich

Thank you for writing this article. I enjoy cooking at home as a hobby and I think your comparisons are on point. I love your point, "We owe it to everybody who helped us learn...". It really makes a difference helping others.

I think something to go along with "Be Organized" is "use the right tool for the job". Sure you could chop an onion using a butter knife, but there are other tools for the job that will make it a helluva lot easier. The same thing can be applied in practice with programming. This could be adding another tool to your tool-belt that will assist you such as add-ons or extensions, or it could be switching to an entirely different IDE. If you do your research and talk to others in the field, you may learn that there are better ways to tackle the everyday problems you encounter.

Collapse
 
jeremy profile image
Jeremy Schuurmans

That's a great point! Thank you

Collapse
 
nanton83 profile image
Nick Romans

Great post Jeremy!

You're right, we need to just do it. Stop thinking about it and find our way in, on and around any problems that try to stop us.
I still have both feet in the food service world right now, working my way through Flatiron part-time. Every time I get stuck on a problem and it damages my motivation, my foodservice job is there to haunt me. I need people like you to get me to work harder and go all in. Thanks for the motivation and positivity!