How I learned to code, with help from Kitchen Safe
In addition to managing a large part of the product design and engineering, I personally read and respond to many customer e-mails, so I get to hear stories about how people have put their Kitchen Safe to work. It’s a lot of fun to hear stories about how people have put aside temptation to accomplish meaningful goals.
So, I thought I would share a story of my own. It is about how I used my collection of Kitchen Safe’s to learn how to code. In a matter of about 6 weeks, I was able to go from having zero knowledge of web development, to building and launching our new website and storefront from the ground up. I think it looks great… hopefully you do too?
I wanted to learn to code because…
First, we needed to redo our website and working with contractors was not producing quality results. Second, it will be highly relevant to our future products (which I cannot discuss!). And finally, I have personal interest in the subject of computer science for the following four reasons:
1) Most products today incorporate a software component, and if they don’t they would probably benefit from the added intelligence. Understanding software allows you to develop smarter, more useful products.
2) The development and production processes of any product, can be accelerated by using software to automate a wide variety of tasks ranging from design calculations, to production testing. If you and your team can write software, you can save a lot time and produce higher quality results.
3) I believe that many of the world’s tough and fascinating problems reside, at least partially, in the software domain. We can build a robot that looks human, but how can I make a robot behave like a human? We can build a car, but how can we enable that car to safely and autonomously navigate roadways?
4) I believe that the product development methodologies used in the software industry, such as Agile and Test Driven Development, have relevance to other domains. I wonder what industries might benefit from the use of these methodologies.
Where I started…
Six weeks ago I had virtually no experience with software development. As an electrical engineer I had taken a couple programming courses in college and have worked with embedded systems, but I never deeply engaged with the material. I was always more hardware oriented, having started my career as a field application engineering in the power and analog division of Texas Instruments. My first goal was to revamp the Kitchen Safe website.
I used five tools to learn to code:
2) Teamtreehouse.com: This is a subscription learning platform which cost $25/month and is actually a pretty amazing resource. The content is provided in video format with quizzes inserted after every 10 to 20 minutes of content. Whereas Codecademy teaches the basics, which are not really sufficient for creating a high quality, deployable website, Treehouse focuses on the intermediate and advanced topics. They introduce development tools and best practices which are used by the industry. Treehouse really enables you to build full featured websites or web applications from the ground up.
3) Tutor: I hired a tutor who lives in India and codes for a living. He charges me $20 an hour. We meet once a week for an hour, so it works out to an affordable $20 per week. I thought it was pretty clever of me to find a tutor. We discuss any problems that I am unable to resolve during the past week. Sometimes I can spend 2 hours working on a problem that he can solve in 20 minutes. Someday, I’ll be tutor…
4) Google: In many cases, people have solved problems similar to those I am facing, and they have graciously shared their experiences. Community forums such as Stackoverflow.com are also helpful learning tools.
5) Persistence: Coding is hard. It takes a lot of time.
I also read the following books:
- Shipping Greatness: Practical lessons on building and launching outstanding software, learned on the Job at Google and Amazon (http://www.amazon.com/Shipping-Greatness-Practical-launching-outstanding/dp/1449336574)
- The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers) (http://www.amazon.com/The-Agile-Samurai-Pragmatic-Programmers/dp/1934356581)
The great thing about the books, which you don’t get from the other listed resources (except maybe Google) is that they are big picture oriented. They teach you how to create and follow good processes which you would probably overlook if you simply dove headfirst into coding.
I invested about six to eight hours per day, on top of my normal work, to study and practice coding. This extra time came at the expense of leisure and sleep, because I wanted to make sure I had time to work-out and spend time with my friends. At first, it’s quite hard to do, but after a while, you get in a rhythm. I also dedicated some of my weekends to the endeavor.
How I used Kitchen Safe...
As you might imagine, I have the privilege of owning many Kitchen Safes.
These wonderful creations :) helped me in the following two ways: waking up and staying fit. To wake up on a shortened sleep schedule to make time for my independent studies, I knew I would have to say goodbye to the snooze button. I put my cellphone in my Kitchen Safe, and set the Kitchen Safe to open 10 minutes after my alarm sounded. So each morning, my phone, nestled safely behind 4mm of acrylic, screamed at me for a solid 10 minutes. This was and continues to be a highly effective way to get me out of bed.
Second, as you may know, coding can be simultaneously engrossing and maddening. So, I needed a way to remind myself to take breaks. A fairly regular scenario involves my code not working, and me fixating for hours on solving the problem. With each passing minute, I find myself more fixated and more annoyed. I think this happens to a lot of programmers and it is probably not healthy. So, when I recognized this occurrence, I dropped my computer mouse in the Kitchen Safe, set it for a while, and forced myself to take a break, and possibly hit the gym.
And of course, I keep myself eating well by locking up the junk food (M&Ms).
The experience has been pretty awesome. After hours of hard work, I feel very comfortable navigating HTML, CSS, JS, and plan on learning how to develop more challenging web and mobile applications. Next up… Objective C and iOS. Let me know if you have any questions!
Enter your name and email below for a behind-the-scenes look at how the Kitchen Safe works!