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.
[Read More]
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.
[Read More]
In any technology company one of the fundamental aspects of its identity is the technology stack, and programming language that it’s built on. This is what defines types of tools that are fair game, and more importantly, defines the types of engineers who are hired and capable of succeeding there.
[Read More]
As a Datavis Engineer at Shutterstock, I dive into a lot of data everyday and routinely answer questions regarding customer behaviors, site security, and latency issues. I keep a list of SQL snippets to copy and paste into my work, and I found that keeping the list of examples is easier than memorizing a bunch of similar-but-different SQL dialects.
[Read More]
For most large-scale image retrieval systems, performance depends upon accurate meta-data. While content-based image retrieval has progressed in recent years, typically image contributors must provide appropriate keywords or tags that describe the image. Tagging, however, is a difficult and time-consuming task, especially for non-native English speaking contributors.
[Read More]
One of our key missions on the search team at Shutterstock is to constantly improve the reliability and speed of our search system. To do this well, we need to be able to measure many aspects of our system’s health. In this post we’ll go into some of the key metrics that we use at Shutterstock to measure the overall health of our search system.
[Read More]
When it comes to traditional load balancers, you can either splurge on expensive hardware or go the software route. Hardware load balancers typically have poor/outdated API designs and are, at least in my experience, slow. You can find a few software load balancing products with decent APIs, but trying to use free alternatives like HAproxy leaves you with bolt on software that generates the configuration file for you. Even then, if you need high throughput you have to rely on vertical scaling of your load balancer or round-robin DNS to distribute traffic horizontally.
[Read More]
Being fast and nimble is important to us at Shutterstock, and one way we accomplish this is by working in small teams. This approach has yielded tremendous benefits over the years, but it comes with its own challenges: Shutterstock now has over 300 people and dozens of teams. How do we coordinate everything with so many different groups?
[Read More]
A few years ago, we began a fun and challenging journey to break a large, monolithic codebase into a set of isolated, independent REST services. This effort has already yielded a ton of value in simplifying our codebase and speeding up development.
[Read More]
Shutterstock developers pay a lot of attention to the user experience of our website. We have a fleet of User Experience experts who help make sure the error states our web application shows to customers are useful and actionable.
[Read More]
As an engineer, I have always been curious about why people, and especially other engineers, behave the way they do. How do engineers get “in the zone” when coding and why do they like it so much? Why are so many engineers (including myself) so averse to holding meetings?
[Read More]
Our engineering teams support many different sites, including the Shutterstock Images, the Shutterstock Videos, the Shutterstock Contributor, Bigstock, Offset, and Skillfeed (now part of Bigstock).
[Read More]
Here at Shutterstock we love digging into data. We collect large amounts of it, and want a simple, fast way to access it. One of the tools we use to do this is Apache Solr.
[Read More]
At Shutterstock we recently went through the process of settling on a preferred templating language. We have lots of projects across different languages and platforms, and it was clear to the front end team that we would gain efficiency by investing in a single templating approach.
[Read More]
We’re happy to share a project we’ve developed that helps us understand how our customers are interacting with our site. It’s called Lil Brother—it tracks clicks and other events in the browser, and reports back in real time.
[Read More]
Like many other Linux/open-source software tech companies, Shutterstock makes extensive use of tried-and-true technologies like MySQL. We are always exploring different database technologies such as Riak and MongoDB, but at the core of our business is a highly available and tightly managed MySQL infrastructure. We started on MySQL with a loosely-designed schema and have been adding to it incrementally over the years.
[Read More]
We’re happy to share a project we’ve been working on that helps us see into our data. It’s a JavaScript toolkit for creating interactive time series graphs, called Rickshaw.
[Read More]
We use open source software in just about every form it takes: programming languages, operating systems, web servers, databases, and even firewalls. We try to release some of our own software, too. Open source software has all kinds of advantages, but one of my favorite reasons is how easy it is to fix problems if any arise.
[Read More]
At Shutterstock we’re obsessed with speed. Faster page loads mean happier customers, and we like happy customers.
[Read More]
At Shutterstock we use Perl, and have built our industry-leading website using a Perl and an open source stack. Here are some reasons we love Perl and why developers feel fanatical about Perl!
[Read More]
Over the years, the Shutterstock development team has grown from two people to almost twenty today. We’ve tried to maintain a consistent development culture during that time because it provides a spirit that makes us want to be here and keep getting better at what we do.
[Read More]