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 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.
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!), …
Well hey there, Chef Remy! Welcome back to the kitchen!
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:
Let’s say our waiter received an order from a mysteriously cloaked man (Chef Skinner in disguise! …
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!
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. …
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. …
As I was reviewing the slides for the difference between
const, I found myself questioning the statement that
var is the only one hoisted. …
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!)
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.
P.S. I’ve had the music from Hamilton stuck in my head for weeks, so you’ve been warned. …
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
reduce instead of a
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. …