Learning to cook is a lot like learning to code. I came to this realization earlier today after reading this reddit thread where someone compared coding to owning a toolbox. Though the toolbox is a great analogy, being handy in the garage isn’t as important as being handy in the kitchen.
Ira Glass beautifully described a problem found in both coding and cooking: “Taste versus ability.” When you set out to learn something new, your taste far exceeds your skill level. In cooking you’re making food that literally isn’t to your taste. In software your app doesn’t work nearly as well as it did in your head, and it probably looks like crap.
In your personal life it’s important to learn to cook for many reasons. It saves money, it can be healthier; with recipes on pinterest and elsewhere the world is your open source cookbook! In your professional life it’s important to learn to code for similar reasons. You can bootstrap a business better if you’re the first developer, you’re more valued in the job market, and you can leverage open source projects that require technical skill to use.
The sign that you’re ready to start saying you’re a cook or a developer comes when you begin to wax poetically about technique. After the tools have melted away and become an extention of yourself—not just external things—you’ll start to focus on the technique itself. Chefs can spend hours debating the nuances of different cuts of meat, while engineers will get into heated discussions about how to properly test code. Here are a few tips to stay motivated and keep in mind while you hone your skills:
Your First Projects WILL Suck
When you start to learn how to code, your tastes and desires are so high that anything you put out will be extremely disappointing. Your apps will be ugly, your code will be horrendous, and you’ll hit one thing after another and turn to google to solve the dozens of problems you encounter. (Don’t feel bad, senior devs google stuff CONSTANTLY)
But don’t give up. Everyone who becomes good at something has to go through a phase where they feel like a bit of a failure. Use your frustration as a motivator to make great things, learn as much as you can, and get to the next level of your journey.
Develop Your Taste – Experience What’s out There
You don’t become a good cook by eating the same boring meal over and over. Your expand your palate by trying new restaurants, cooking different types of food, and making a conscious decision to leave your culinary comfort zone.
With web development (any any technical skill), you can only keep your standards high by experiencing what’s out there. What apps and tools are your friends using? What do they like about them? What are some new development languages that you want to learn more about? What has been built in them so far? These are all things you should investigate and spend time on if you want to keep your taste well-developed. Stuck on where to find the new tech hotness? Try Product Hunt!
Even Your Best Won’t be Perfect
When you do finally get an app (or dish) out the door that meets your standards, it still won’t be perfect. Your program could run faster, your code could be cleaners, or the dish you made could look prettier. That’s OK. As long as your standards are high, you’ll keep pushing yourself to achieve more, which means you’ll keep learning and refining your techniques.
Whether you’re making a creme brulee or building an app with ember, these skills will help you push yourself to achieve even more.
At the end of the day, you’ll never regret learning to cook or learning to code. Each brings a sense of power and control to your life that you didn’t have before. Want to eat a steak? Fire up the grill! Want a dating site for skydivers? Fire up Xcode.
No matter how slow you’re going, you’re lapping the people on the couch.
Want more web developer tutorials and content? Subscribe to our web development newsletter.