Internet Security - OWASP Top 10

In my interview at Fitbit, my now manager told me that every developer should know the OWASP Top 10. It's a list of the most common internet security vulnerabilities. The list is a lot of information, but if you look through it gradually, you'll start internalizing the list before you ... Read more »

I'm joining the Fitbit team! Plus lessons from a job search

Fitbit I just finished my job search for my first full time role. After 2 months of searching and chatting with a lot of companies, I decided on Fitbit, a company that helps people live healthier lives through wearable devices that measure sleep, activity, and heart rate. Fitbit has 72% ... Read more »

Using express 4 and grunt to improve page performance

I went back to my Career Buddy app today and made some performance improvements. Luckily, there are multiple websites that make it very easy to identify and benchmark these improvements. I used GTmetrix. Here was my starting point: Overall, not too bad. I'm already minifying and concatenating all of the ... Read more »

Khan Academy Tutorial Pages and Google Analytics

One of my largest features that I shipped at Khan Academy was a new addition to the topic tree, tutorial pages. Most of Khan Academy's content is organized into a topic tree, consisting of the following types (click on each type for an example page): Domains: ... Read more »

Optimizing the Khan Academy home page

It's the end of my first month here at Khan Academy, and I've been having a great time and really improving my knowledge. Everyone at Khan Academy is talented and excited to be here contributing to the audacious goal of providing a world class education for everyone, everywhere. I've been ... Read more »

Career Buddy Part 3: K-means clustering in R

3rd post in a series about the Career Buddy app. Click here for "Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular", and here for "Career Buddy, Part 2: Grunt". Why K-means? K-means is an unsupervised machine learning algorithm which groups data into clusters in a ... Read more »

Career Buddy Part 2: Grunt Workflow and Heroku

2nd post in a series about the Career Buddy app. Click here for "Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular." This post details a full Grunt and Heroku workflow, including: cleaning target folder generating css files from sass files minification and concatenation of .js ... Read more »

Career Buddy, Part 1: Adding a Responsive Legend to D3 Charts Using Angular

Why Do a Side Project? After finishing some recent client work, I thought about what to do next and considered some exciting opportunities. I decided to take some time and solidify my skills as a full stack developer by working on my own app. I made a list of key ... Read more »

Setting up a Windows VM from a Mac using Azure

I recently finished up my commitments at Hack Reactor, and am developing the curriculum for and teaching a web development course for Mission Bit, which teaches coding to public school students. Next week, I'll be teaching the course to a group of teachers for their professional development, as well as ... Read more »

Moxe Health

Overview My first client project at Hack Reactor was with Moxe Health, a Rock Health company that's standardizing electronic health records among thousands of hospitals across the country. Moxe contracted us to build a useful product that also showed off their API. I, along with my teammate Ian Lyons (a ... Read more »

Services vs. Factories in Angular

Moxe Health One of my Hack Reactor classmates and I recently built a high blood pressure treatment calculator for Moxe Health, an exciting Rock Health company that is building a database integration system and API that will allow any developer to access the electronic medical records of any hospital in ... Read more »

The Gift of Beginner's Mind, Part 2

This post is the second in a series of posts about my beginner's mind as a software engineer. Click here for Part 1: Making Sandwiches with Martians. Estimated reading time: 7 minutes. Read the bolded text for a 30 second summary. It's the end of week 6. I can already ... Read more »

The 10x Engineer, Part 1: Typing

This post is the first in a series of posts that will be about how to improve productivity as a software engineer, and reach the mythical '10x Engineer' status. Estimated reading time: 3 minutes. 30 seconds for bolded only sections. During our 2nd week at Hack Reactor, we were introduced ... Read more »

The Gift of Beginner's Mind, Part 1: Making Sandwiches with Martians

This post is the first in a series of posts about my beginner's mind as a software engineer. Estimated reading time: 5 minutes. Like I mentioned in my last post, being a beginner can be annoying, but what if it can also be a gift? If you go to a ... Read more »

Instantiation Patterns and Execution Speed

This blog post will give you some insight into: - The 4 most common instantiation patterns in Javascript - How you can use jsPerf instead of Chrome profiling tools - Which instantiation pattern is fastest (in a very specific situation) and why During my first week at Hack Reactor we ... Read more »

My Current Level as a Programmer: Pre-Hack Reactor

So, what's my level as a programmer right now? I think it's interesting to get a gauge before and after I go through Hack Reactor. In no particular order, here are the most important languages, frameworks, and skills that I've had exposure to so far. Fair warning; it's on the ... Read more »

Why "following your passion" is terrible advice

Here's a quote from a recent New York Times interview with Louis CK, one of the most famous comedians in the world right now: "There’s people that say: 'It’s not fair. You have all that stuff.' I wasn’t born with it. It was a horrible process ... Read more »

Coding bootcamps

After I decided that I wanted to become a software engineer, the next question was how to do it. I'd already gotten some initial exposure to coding through a programming class at Stanford called "106a: Intro to Java". My dad, who got his PhD in computer science from Berkeley and ... Read more »