Integration Testing for Front-End Applications

Introduction At Shutterstock, we continuously work to add new features and improve functionality of our website for our users. In order to keep up with the rapid pace of development without compromising quality, we need to have a solid testing toolkit that allows developers to test the front-end application in isolation while gathering faster feedback on their code. In this post, we will talk about our integration testing toolkit and the benefits we have seen since implementing it. [Read More]

Improving Multilingual Text Support in Shutterstock Editor

Becoming Grapheme Cluster Aware

While Shutterstock supports 21 languages, our image editing tool, Shutterstock Editor, initially launched in English only. In order to deliver the same quality of experience for all 21 languages on Shutterstock Editor, we needed to make adjustments to how the tool handled characters in those languages. [Read More]

Engineering Career Tracks at Shutterstock

Individual Contributor and Management Tracks (Re)defined

Clear definition of levels and active enablement of individual career development are cornerstones of healthy, high-performing, highly-engaged engineering organizations. At any given point in time, it is important for engineers and managers of engineers to comprehend where they stand, the possible paths before them, and the specific behaviors and impact expected of them at each level from both performance and career progression perspectives. [Read More]

Image Search Using Joint Embeddings (Part Two)

In Part 1, we discussed how using joint embeddings to rank images can help address the cold start problem. We showed that the joint embedding ranker exposes more new images than our existing ranker. This difference was even more pronounced for popular queries, where our existing ranker tends to favor older images that have more behavioral data. [Read More]

Image Search Using Joint Embeddings (Part One)

On the Shutterstock search team, our focus is serving the best possible images for a given query. To do this, we use behavioral data from our customers such as downloads to help us rank the quality of an image for a given search. While this approach often works very well because it allows us to harness the collective intelligence of our great users, it does have one very serious drawback: new content from our contributors is more challenging to surface in search results. This is commonly known as the cold start problem. [Read More]