The purpose of creating an index on a particular table in your database is to make it faster to search through the table and find the row or rows that you want. The downside is that indexes make it slower to add rows or make updates to existing rows for that table. So adding indexes can increase read performance and decrease write performance. Indexes are also used to enforce uniqueness constraints, but I won’t go into that for this post.

But First, Let’s Talk About Karaoke!

Besides being my favorite pastime (just FYI, I’m Filipino), karaoke provides a good analogy for indexes and might help you…

This weekend I attended my first AlterConf, a one-day conference with the aim of helping to create a more inclusive tech industry. There were many great talks throughout the day as the speakers shared their inspiring stories and delved into thought-provoking topics, including:

  • Designing ethically-conscious products
  • Potential problems with the way tech companies express how they value their employees
  • How to empower so-called “quiet developers”

One talk stood out to me for its simplicity and message of “fostering healthy communication on small teams”. The speaker was Rachel Vincent, the Head of Operations at The Recurse Center, which provides educational programming…

The strategy pattern is an alternative to the template method pattern I wrote about in my previous post, providing a different solution to the common programming problem of requiring some variation within an algorithm. Both patterns use polymorphism in their approaches, but while the template method pattern relies on inheritance, the strategy pattern relies on composition and delegation.


To use the Party example from the post on the template method pattern, you might choose to think about parties as being made up of different parts, such as a venue, guests, supplies, and activities. …

A couple friends and I have a web development book club. The goal is to learn and grow together as software engineers. But really, sometimes it’s more like a support group, where we use a lot of 😞, ☹️, and 😢 to discuss our respective screw-ups at work and the impossible vastness of information about web development and how we only know the smallest tiniest minusculest amount of it. We’re a fun group… le sigh

The first book we read together was Practical Object-Oriented Design in Ruby by Sandi Metz. Really amazing resource for new Ruby devs (or probably any…

At some point during your career as a web developer, you will have to decide what type of database is best suited for your application. You might face this decision very soon, if you are planning on building your own application as a side project. And at the very least, you will probably be asked about databases in a job interview for a web developer role.

Web applications use either relational (SQL) or non-relational (NoSQL) databases for persistent data storage. The point of this post is to provide a simple, high-level overviews of relational and non-relational databases, highlight their differences…

As a software developer on a team that includes other software developers, code reviews are an important part of the job. It is probably the one duty of my job that I can expect to do every single day. Why? What is the purpose of code reviews? Well, code reviews have several purposes. They:

  1. Help ensure that new code is comprised of sound logic.
  2. Help ensure that new features follow the specifications.
  3. Help ensure that new code conforms to the agreed upon code style (if your company/team doesn’t have a code style guide, you should consider adopting one).
  4. Act as…

About 2 years ago, I switched careers from marketing to web development. I won’t bore you with the whole story of why or how I did it. Find any other millennial that attended a coding bootcamp, and I’m sure my story is very similar.

However, I will say that the switch to web development has been without a doubt the greatest major life decision I’ve ever made. But it hasn’t been without its struggles. This post is for aspiring and newly minted web developers to pass along whatever knowledge I’ve gained in my first couple years as a web developer.

Learn the Basics

In celebration of the release of Node.js 4.0.0 this week, I’m going to cover some more ES2015 features that we now have access to in Node.js by default.

Until ES2015, JavaScript had only one type of collection for data: Array. Arrays are collections that are indexed using numeric values. But now we have four new types of collections: Set, Map, WeakSet, and WeakMap. Instead of being indexed like arrays, these new collections are keyed.

This article will give an overview of each new collection type so that you can begin using them in your code.


Sets are collections of values…

Today I had a phone interview for a software engineering position. I felt fairly prepared for the interview, simply because I’ve been living/breathing/eating/sweating/crying code for 6 months straight. But a very simple JavaScript question tripped me up a little bit.

“What is this in JavaScript?”

Now, I know a lot about JavaScript, and I’ve thought about this very often in the past 6 months. But this very general, very broad question got me a little frazzled. I didn’t know where to start my answer because I had never tried to answer this question before. …

I’ve recently been learning a bit about Koa, which uses ES6 (ES2015) generator functions in its design and allows us to treat our asynchronous operations differently than using callbacks or promises.

After I presented about Koa at the NYC Node.js meetup, fellow presenter Eddie Zaneski showed me something even more awesome than generators: async / await.

Here’s an example of async / await in action:

async function doSomeStuff() {
try {
let results1 = await returnsAPromise();
let results2 = await alsoReturnsAPromise();
return { results1, results2 };
} catch (err) {
throw new Error(err);

Our function is defined as…

Jimmy Farillo

Web Developer + Dance Machine

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