Apply

Senior Software Engineer

Job icon Job posting at Blist on May 07, 2008

We’re looking for an exceptionally strong and accomplished senior software engineer with significant experience in building massively scalable, distributed computing systems to help lead the development of our core service offering. The ideal candidate will have the following attributes:

  • At least 6 years of professional software engineering experience including at least 3 years experience as a senior software engineer and/or dev lead
  • Demonstrated mastery of at least one strictly typed, object oriented language like C++ or Java
  • Proficiency with at least one dynamically typed scripting language like Ruby, Python, Perl or Smalltalk
  • Demonstrated excellence working with database technologies including RDBMS, Berkeley DB’s, etc.
  • Experience developing distibuted database systems and/or distributed storage systems is preferred.
  • Comfortable working with XML including XQuery and XPath
  • Comfortable working in a hetergenous development environment where you’ll be working with multiple development languages and technologies
  • Competent developing web services APIs
  • Excellent communicator
  • Natural mentor
  • Self starter who’s anxious to start producing

A bachelor’s degree in computer science, math or physics is required. A masters degree in computer science is preferred.

This position is based in our office in Seattle, WA.

If you are an accomplished senior software engineer with the experience and drive to succeed at blist, email your resume, as well as the source code for the programming challenge below, to senior_software_engineer at blist dot com.

Programming challenge:

Without using any built in date or time functions, write a program that accepts two mandatory arguments. The first argument is a string of the format “[H]H:MM {AM|PM}” and the second argument is an integer. Assume the integer is the number of minutes to add to the string. The return value or output of the program should be a string of the same format as the first argument. For example AddMinutes(”9:13 AM”, 10) would return “9:23 AM”. The exercise isn’t meant to be too hard. We just want to see how you code. Feel free to do it procedurally or in an object oriented way, whichever you prefer. Use any language you want. While we don’t want you to spend an inordinate amount of time on this, make sure you send us commercial quality, production ready code. It’s part of the interview process, designed to give you an opportunity to do your best work without time constraint and with all your tools at your disposal.

Apply