After interviewing for a new JS software engineering position for the last 6 months, I’ve compiled a list of frequently asked technical but non-algorithmic questions. Hope they’re helpful!

  1. Difference between element and component?
  2. Classical vs. functional component?
  3. What is state in React?
  4. What is the key prop for?
  5. What is the DOM and what is the virtual DOM?
  6. What are modules and how do you use them?
  7. What are typescript’s built-in data types?
  8. Is null a data type? What about undefined?
  9. What is an interface, what is a class, and what is the…

Problem: your web application history’s goBack function navigates away from your domain. For example, if you came to your application from a different domain, say and used your app’s back button, it sends you back to google instead of forcing the user to stay within your app.

Solution: The Proxy design pattern!

By now you’ve probably discovered that History’s length attribute is utterly useless. It fails to reset to 0 when you navigate away from your application and then return again. So if you’ve visited 5 paths in your app, went to google to check on something, then came…

I’ve heard the terms Google Firebase and Google Firestore so often, I sometimes get them confused. Here’s a quick breakdown of their differences.


Firebase is a comprehensive platform by Google that helps developers build web and mobile apps with features including authentication, analytics, database services, file storage, messaging, and hosting among many others.

The digital product studio I work for uses Firebase products pretty frequently because under a tight deadline to build full stack, scalable applications, it handles a number of concerns and features for us seamlessly. We don’t need to spend the time building out and maintaining your own…

TLDR: make a game plan before you start coding

1. Write a design document with your intentions for the feature and share it with your colleagues

This should include:

  • Any specific changes to the database/data model
  • How you are planning to break down the feature into PR’s that are short yet comprehensive (i.e…

To help keep track of things that need to get done before the big day

Setup third party configurations and API keys

Some examples of this would include Stripe accounts or third party email/notification systems like SendGrid or MailGun. It’s helpful to have a running list of third party services being used on a project so payments or limits don’t get overlooked.

Pull Firebase indexes and security rules into your code base

Maintaining these in your code base from the start would be best practice but if you’ve forgotten, make sure to do it before launching to production so it’s easier to deploy them in a consistent manner.

If you’re deploying to multiple environments, adding aliases to…

Feel like you’re bored at work and completely uninterested or unmotivated to get anything done? Here’s some advice a co-worker gave me that changed my entire approach to software development.

Do you feel stuck at work? Like starting to code in the morning is akin to pulling out your own teeth? About a year ago I felt that way to the extreme. I was making the same components over and over again, setting react state, passing data through props, rendering it in jsx and slowly dying every day single day. …

When it comes to outdoor rock climbing, there’s so many great places to choose from in Southern California. Here’s my 5 favourite spots!

Wheeler Gorge

Wheeler Gorge, Ojai

Running along a beautiful creek, the sport climbing area in Wheeler Gorge is one of my all-time favourite places to go. The climbs range in difficulty from 5.8 to 5.12a so climbers of all levels will have something to enjoy. The “parking area” is basically a dirt patch off the side of the road and the approach is about a quarter mile along the water so make sure to bring water-friendly shoes and plenty of snacks to…

Working at a dev shop I get to dip my toes in all different kinds of responsibility pools, including interviewing. Here are some answers I’ve heard during interviews that were literally. the. worst.

What direction do you want to move your career towards? What parts of software do you enjoy building the most?

Worst Answer: I enjoy the full stack! I love working on making the front end intuitive and beautiful as well as touching the back end and designing the data we’re getting back.

This told me nothing about the person’s interest, strengths, or weaknesses. Maybe people are worried about pigeon-holing themselves into one domain or getting stuck in the front or back end because of something they said…

At the beginning of 2021, the digital product studio I work for offered me the opportunity to be Lead Engineer on a new social media project we won. Here’s some of my takeaways from the experience!


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store