Desired Skills and Experience

  • A minimum of five years of experience as an active contributor during all phases of the software development lifecycle, with the ability to describe specific and detailed individual contributions in the areas of architecture/design, development, testing, release, and maintenance.
  • Detailed knowledge of the HTTP specification and the RESTful style, including protocol basics, standard headers, content negotiation, and common techniques for securing HTTP-based applications.
  • A thorough understanding of basic data structures and a high-level understanding of their implementations. Experience and proficiency with common algorithms and their relative tradeoffs.
  • Proficiency with object-oriented development, data modeling, and design patterns.
  • Experience working in one or more data serialization formats (e.g. XML, JSON, or ASN1), and defining associated document structures and serialization routines.
  • Experience designing and building systems for highly available multi-site deployment environments, a solid understanding of the network architectures that support such systems, and familiarity with techniques for tuning application performance in a distributed environment.
  • A sense of proud ownership and an ongoing desire to proactively enhance products and processes.
  • Strong English communications skills, with the ability to clearly, concisely, and accurately describe advanced technical concepts to diverse audiences in speech and in writing.
  • A Bachelor’s degree in Computer Science or a related field.
  • A minimum of ten years of experience as an active contributor to a software development team.
  • Experience leading a software development team or sub-team.
  • Mastery of a garbage collected C-like language (e.g. Java, C#).
  • Experience operating in a Linux/Unix environment, including basic system configuration and scripting.
  • Experience building applications that leverage an RDBMS (e.g. Oracle, SQL Server, MySQL).
  • Experience authoring and refining technical specifications.
  • Experience mentoring junior developers and participating in the hiring process.
  • A Master’s degree in Computer Science or a related field.

Apply