A caricature of Justin wearing glasses and Twice t-shirt.

Chef's Guide to Software Engineering

Recipe for Programming

Hello, my name is Justin.

A caricature of Justin wearing a chef's hat, while typing on a keyboard.

I worked as a chef for eight years, before deciding to switch careers and pursue programming. I know leaving the field you are used to can be daunting, especially when you're about to switch to a career where you have to start from zero again. So I am here to show you exactly how I started.

Get Started

A Picture of a woman staring at a screen with an almost transparent hologram of a code block across the picture.

Step 1: The Basics

The first step I took is watching youtube tutorials on the basics of programming. Number one on the list is HTML . HTML stands for Hyper Text Markup Language. It is the standard markup language for Web pages. It can easily be described as the skeleton of websites. I started watching and coding along to Brad Traversy's HTML Crash Course for Absolute Beginners, utilizing semantic and non semantic elements, creating a simple barebone HTML website. You can find this course for free here on YouTube.

Another part of the basics is CSS. CSS stands for Cascading Style Sheets. It describes how HTML elements are to be displayed. I've always thought of it as the skin/ makeup of the website. CSS get access to HTML by the ids and classes designated to the HTML elements. I developed responsive static websites with galleries to practice flexbox and designing with CSS. Flexbox Froggy is a clever and fun way to learn Flexbox. My tip is using percentage rather than px in sizing to make the website responsive. You can find Flexbox Froggy here: Flexbox Froggy

Now here is where it gets tricky. As someone who's so used to working in a kitchen where everything is muscle memory, I had a hard time grasping JavaScript. JavaScript is arguably the most used programming language for web applications. If HTML is the skeleton, and CSS is the skin, it's safe to say that JavaScript is the muscular system of the web. I tried multiple ways of how to start learning JavaScript: sandboxing, leetcode, books, but the best way for me to learn is coding along to tutorials on how to make JavaScript games such as rock-paper-scissors, tic-tac-toe, and typing games using DOM manipulation.

Step 2: Fullstack

Now I wish I could tell you that you can break into tech with just HTML, CSS, and JavaScript. However, that is not the case. You need to equip yourself with fullstack tech. To be a fullstack developer means that you can develop both client-side and server-side softwares. The most common one you'll see in bootcamp is the MERN stack, and is sometimes complemented with another backend framework/language such as Ruby on Rails, or Django with Python.

The best way for me to learn is by doing, so I started making simple React apps such as a todo app for state management, a pokedex for react-router and fetching from third-party APIs. However, I felt that I have reached a plateau with self studying so I enrolled in a bootcamp to learn more about the MERN stack.

Step 3: Data Structures and Algorithms

Sometimes, interviewers would have you make a simple app as a form of a take home assessment. But most of the time, technical interviews for developers are based on Data Structures and Algorithms. The main concern for bootcamp graduates is that the curriculum does not provide enough time to dive deeper into algorithms. In my 400+ hours in the bootcamp, I think we only spent about 5 hours studying DS&A. So when I got to my first technical interview a week after I graduated bootcamp, I stared into the hackerrank problem like a deer in the headlights. So to supplement my bootcamp education, I bought Colt Steele's Udemy course. You can find that course here: JavaScript Algorithms and Data Structures Masterclass

Step 4: Portfolio

Another thing that helped me get noticed is my portfolio. After making projects, no matter how small, make sure you put it in your portfolio. Your portfolio does not have to be super complicated. Just a page where potential employers can see your past projects, your resume, tech stack and a contact form. My portfolio is made with ReactJS, CSS, and Bootstrap. It's easier for me to display my projects by storing the data in the state, and just mapping them throughout the component. You can find my portfolio here: Justin's Portfolio

Step 5: Networking

Last but not the least, networking. If you are like me, a former chef wanting to transition into tech without having to go through college again, chances are you don't have a Bachelor's degree in computer science. Now, this doesn't mean you won't stand a chance against people who have a degree. You just have to approach job hunting a little different than they do.

I have sent out about 100-150 applications from when I graduated bootcamp, until now. So far I have only heard back from about four recruiters. Two of them I've already failed (Deer in the headlights situation), and the other two are still ongoing.

I've always known that I wanted to create something that would help people with disabilities when I started pursuing software engineering. So when I attended a conference with Discord and saw that one of their speakers is an accessibility engineer, I knew that I wanted to become one. I searched up accessibility engineers on LinkedIn and I messaged a few, and two of them graciously accepted my invitation to a zoom call so I could ask them tips and questions about how I can land my first a11y (accessibility) job. They pointed me to the right direction and started taking udemy courses to familiarize myself with WCAG.

Another thing you could do is to study another language or framework. There are a lot of people graduating from bootcamps with the same knowledge, same tech stack, same type of projects, and not a lot of companies willing to hire people without atleast a year of experience. So aside from consistently making projects and commits to github, I started learning PHP and Laravel, just to separate myself from other bootcamp graduates.

My Top 5 Resources

  1. Brad Traversy's Intro to HTML and CSS.
  2. Brad Traversy's Intro to JavaScript.
  3. Brad Traversy's Intro to ReactJS.
  4. Colt Steele's JavaScript Algorithms and Data Structures Masterclass.
  5. Brad Traversy's MERN Stack eCommerce Website Udemy Course.

Contact Us!

Required fields are followed by *