From zero to Pinterest in less than a year

frozen 2 enchanted forest
frozen 2 enchanted forest
Image courtesy of Disney’s Frozen II

Two weeks ago, I found myself in the incredibly fortunate position to have multiple job offers for software engineering roles at dream companies. As someone who had zero idea how to code just a year ago, this felt totally unbelievable and unlikely. All of my expectations about what was “possible” as a new developer were completely blown away.

During the course of my 3.5-month job search, I interviewed with some amazing well-known companies such as Pinterest, Disney, Poshmark, Twitter, Amazon, Asana, Lyft and some absolutely incredible startups too.

Now, as an official incoming Pinterest Apprentice Engineer 🎉, I wanted to put together some advice for current and future job-seekers and career-changers looking to break into tech. Every person has their own unique experience and strengths of course, but these are some of the insights and strategies that worked for me. …


Jakob Nielsen’s guide for best practices with examples.

stock colorful mountain image
stock colorful mountain image
Photo by Simon Berger on Unsplash

Jakob Nielsen’s 10 Usability Heuristics for User Interface Design are essential for every designer and developer to know and understand, in order to provide a seamless user experience for all end users. These timeless heuristics are broad rules of thumb that can be applied to everything from physical products to websites and mobile apps.

In this article, I’m going to explain and review each one with examples.

1. Visibility of system status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

It’s important to always keep your user in the loop during interactions to help avoid potential errors and frustrations. While we don’t need to tell them every single action that’s taking place (that could be overwhelming!), …


An introduction to time complexity with help from Ratatouille

Well hey there, Chef Remy! Welcome back to the kitchen!

chef remy from ratatouille
chef remy from ratatouille
Image credit: Pixar

Today we’re going to complete our intro to Big O Notation with O(log n), O(n log n), O(2^n) and O(n!) via an impeccable film, Pixar’s Ratatouille. When we last left off, we were preparing our famous ratatouille dish for notorious restaurant critic Anton Ego who was waiting patiently for his meal.

As a refresher, check out the time complexity comparison chart below:

big o notation complexity comparison chart
big o notation complexity comparison chart

O(log n) Log Time

Let’s say our waiter received an order from a mysteriously cloaked man (Chef Skinner in disguise!


An introduction to time complexity with help from Ratatouille

When we write code, it’s important to understand how our choice of code impacts the speed and performance of the program we’re creating. Big O Notation is a way to classify how quickly the runtime of the algorithm/number of operations or space increases in relation to the input n. It looks at the worst case scenario, assuming every possible element is touched on as the algorithm is written.

There are seven classifications in Big O Notation, ranging from fantastic, fast and/or space efficient solutions that remain constant despite the input size, to absolutely terrible, please-don’t-ever-use-these solutions!

big o notation complexity comparison chart
big o notation complexity comparison chart

Understanding how different data structures and algorithms fit into this Big O complexity gradient can help you select the right ones and optimize your code at work — or for a tech coding interview, perhaps. …


Fun with Finding Nemo

In everyday life, we need to find things or make decisions, and one way to make that process easier is to cut those choices in half.

Let’s say you’re playing a round of the board game Guess Who? where the object of the game is to guess the character your opponent has selected. You might ask them questions like:

Is your person a male or a female?

Male. Ok, does he have facial hair?

No. Ok, is he wearing a hat?

We continue to deduce our choices with every step. After all, there’s no need to consider all those women or mustachioed men if you know you’re looking for a clean-shaven man! In a similar way, binary search trees allow us to find what we’re looking for by reducing our options at every step. …


Entering the Temporal Dead Zone

Image for post
Image for post

Earlier this week I was preparing to give a tech talk about some foundational JavaScript concepts to know for tech interviews. As always, when prepping content to share, I was obsessively going over the details to make sure all of my facts were correct. I would never want to steer anyone wrong. After all, these articles and talks are made to help people, not hinder them!

var, let, and const

As I was reviewing the slides for the difference between var, let and const, I found myself questioning the statement that var is the only one hoisted. …


A brief foray into CSS cocktails because… 2020

Earlier this year I first learned that pure CSS art was a thing, and it’s safe to say that my mind was officially blown. I didn’t know you could do so much with just…CSS?? (…and a little HTML, but mostly CSS!)

amazing pure css art by diana smith
amazing pure css art by diana smith
Pure CSS art by the incredibly talented Diana Smith

Naturally I placed CSS art on my learning-to-code bucket list since I’m a sucker for anything visual or creative, but with all of the algorithms and data structures and fundamental JavaScript concepts to learn and study, it was placed on the back burner. …


Hamilton-inspired trivia for tech interviews

hamilton musical still with characters standing on chairs
hamilton musical still with characters standing on chairs

Technical interviews are notoriously stress-inducing, especially for people approaching their first software engineering/development job. While there’s currently some healthy debate surrounding the importance of the algorithm and data structures portion, it’s still vital to know the fundamentals.

Today I’ve compiled a short quiz to help you test your knowledge of important JavaScript concepts to know for tech interviews. If you need some refreshers before we begin, check out these helpful articles here and here. Try your best to answer these before checking them in the console!

P.S. I’ve had the music from Hamilton stuck in my head for weeks, so you’ve been warned.


3 Powerful JavaScript Array Methods to Know

open laptop on a desk stock photo
open laptop on a desk stock photo
Photo by Clément H on Unsplash

If you ask a developer “What are some of the most important JavaScript array methods to know?”, you will likely hear mention of map, filter and reduce. These 3 powerful methods enable you to iterate through the contents of an array, similar to using a for loop. Each of these methods will create a new array (or element, object, etc. for reduce) based on the callback function supplied, and they won’t mutate or change the original array.

Why should you use map, filter or reduce instead of a for loop?

  • They can create code that’s easier to read.
  • They are quicker to write. …


Because the internet is for everyone ✌️

groups of people in the sunset with reflection
groups of people in the sunset with reflection
Photo by Mario Purisic on Unsplash

Last week was the anniversary of the Americans with Disabilities Act (ADA), bringing the topic of accessibility to the forefront of many discussions, especially in relation to tech. Oftentimes it seems that many developers put aside web accessibility standards as a “nice to have” addition, instead of a hard requirement from the get-go. …

About

Alison Quaglia

Apprentice Engineer @ Pinterest. Bridging the gap between development and design. A believer in kindness above all things. 🌱

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