Leading Projects with Aggressive Timelines

Shutterstock Project management

I’ve often dealt with many projects that require a very aggressive timeline. It’s less a concern about prioritization and more about getting the products out there as quickly as possible. I have learned that there are a right way and a wrong way to tackle this kind of projects, and here are some tips: Understand […]

5 ways to hone your production incident postmortems

Tech Collaboration

I’ve messed up many times, as has everyone else on my team. There have been outages, oversaturated content, and frustrated users. We’ve put out a lot of fires. And we’ve done a lot of postmortems afterward. “What’s a postmortem?” I’m delighted you asked! Postmortems, also referred to less deathly as “root cause analysis,” are a […]

Functional Programming in JavaScript

The current state of web development is best characterized not only by the myriad of problems developers face, but also by the vast number of ways we can go about solving those problems. But are they all created equal? As the technology that powers our solutions continues to drive forward at an almost dizzying pace, […]

How to build quality into your software development workflow

Sagacity View that shows execution time per test across runs

Suppose you’re a startup looking to grow into a mid-sized tech company — somewhere between 30 and 100 engineers. Hiring is happening fast, and the amount of code you’re churning out is growing fast as well. At an earlier stage, your company was focused on proving the product. Everything was smaller in scale and you […]

Let’s Get Terminal: An Inside Look at Q1 CodeRage


Last week we wrapped up our first quarter CodeRage, a 24-hour hackathon dedicated to our engineers to build exciting and innovative products. The idea of CodeRage is to build something new and interesting without fear of making the idea “production-perfect”. We as engineers are encouraged to shoot for the moon and build anything that interests […]

Taking Control of Your Own Curriculum.

Throughout my career as a software engineer and technology leader, I’ve helped companies find and develop talent. The one constant: how unprepared most college grads are when entering the industry. The process of obtaining a Bachelor’s Degree exposes engineers to new ideas and most importantly, to how to learn. To gain real world skills, developers have […]

Docker Registry Design

First a little background; Docker is an open source platform designed to make applications ship in small footprint containers which are easy to maintain.  The idea is to speed up the development lifecycle and go to production more rapidly.  Docker helps to abstract the application from the underlying system environment.  This approach also makes it […]

Building your own network automation

There’s an important piece of infrastructure lacking the appropriate level of automation. In fact, without this part you are not connected to the Internet. I’m talking about the network hardware that moves packets between your backend servers and your customers. The current state of the network industry is far behind that of the server industry, […]

Swift: An Introduction to the Language

There was a huge amount of interest in Swift after it was introduced by Apple earlier this year. Not only were iOS engineers at Shutterstock learning everything they could about the new and evolving language, but there was a ton of interest in Swift from across the engineering organization. Due to the interest, I prepared […]

12 Questions To Ask About PCI

Organizations either breeze through or struggle with PCI certification. The struggle parallels to a fight against zombies. You must stay on your toes. Once they start coming towards you they don’t stop and as your team deals with their own zombies, you realize you can’t keep up. The challenge does not stop there. This poem […]