Software Engineer at Snapsort, May 2011

About Snapsort

Snapsort makes it easy for people to make complex decisions about products and services such as which camera to buy, which cellphone plan is best, or what type of vacation to take. Snapsort aggregates large amounts of information, utilizes our unique recommendation algorithms and helps users map their unique and specific criteria to the right purchasing decision. Our niche websites are used by millions each month with double digit monthly growth rates. Snapsort was founded in 2009 by two seasoned entrepreneurs and is located in the UW Accelerator Centre (Waterloo, ON).

Snapsort is positioning itself to be the dominant source of consumer purchasing advice on the web. We are a small engineering focused team (4 of us right now) and we need to hire at least two talented and passionate software engineers to keep up with our break neck growth. Salary range is $80k-$100k+.  $250 referral fee if we end up hiring someone you refer to us.

Working at Snapsort

Working at Snapsort we spend most of our time writing or discussing code, releasing the smallest features we can, and building on the successful ones. Our websites are powered by data and algorithms (rather than humans), so we spend a lot of time working with data, which includes collecting data, parsing data, writing algorithms to understand data, interpreting and displaying data to users.

If you hate meetings, and just want to get stuff done, this is probably the place for you. At Snapsort there is no IT department, no QA team, minimal management, just a few people imagining what could be done and then building it.


Your job will be to build and release new features and websites, working on offline data analysis, server-side logic, and front-end web user interfaces. Although we’re a small company, we do tend to specialize in areas we have the most interest and abilities.


We develop almost exclusively with open source tools and technologies. We want our team of developers to have fun and be productive, so we’ll expect you to bring your own ideas and suggestions as to what hardware and software should be used.

At Snapsort we currently develop on Ubuntu, using PostgreSQL and Redis for data storage and Mercurial for source control. We use Jenkins/Hudson for continuous builds and single click deploys up to Amazon EC2. Most of our code is written in Scala, some in Python, and lots of bash scripts hold things together. We don’t expect you to know Scala: we didn’t when we started Snapsort. Scala is a blend of object-oriented and functional programming, and compiles to Java bytecode running on the JVM. Compared to Java, Scala code tends to be more concise, less repetitive, and almost always more fun to write. If you’ve developed with C# or Java you’ll have no problem with Scala, but you should be interested in or experienced with functional programming.


  • A strong desire to solve problems
  • Ability to design, code and test high quality software
  • Take responsibility and release features users love and that drive our vision forward
  • Back-end software development, databases, algorithms, performance, threading
  • Front end web development with XHTML, CSS, Javascript
  • We’re a small team, you’ll need to fit in well

Bonus Points

  • Worked at a startup before
  • Experience with Scala or other functional languages
  • Active in an open source project
  • History of creating personal software projects
  • Active blog (ideally tech-related)
  • Experience with Linux or other Unix
  • Like to spend lots of time researching products before buying

How to apply

Please send your resume to  If your resume stands out we’ll be in touch with you for an interview.

If you want to really impress us we’ve devised a coding challenge.  It will give you an example of the types of problems we work on at Snapsort, trust us its way more fun than writing a cover letter.  Completing the  coding challenge and sending your solution along with your resume to is the best way to show us how much you love coding.