WARNING! This job is awaiting verification or has expired and may no longer be applicable
Category

Software Development

Posted

2013-05-05 12:06

Description

Tipbit is a startup based in Seattle and San Francisco looking at vast amounts of information from a variety of sources and across a variety of end-user devices.

We are seeking a backend software engineer with skills in building reliable and scalable distributed systems. You would be responsible for the design and development of our entire backend infrastructure, including web tier, indexing and search systems, autoscaling, deployment, and monitoring. You will work directly with the application developers and search engineers depending on you for service, and will design the protocols, features, and tools needed both internally and externally.

We use a wide variety of technologies in our stack, some mainstream and some more novel. You must be comfortable working with multiple programming languages and paradigms on a daily basis.

We use a wide variety of open-source projects, and we contribute back to them as we work – you would do the same.

Responsibilities

Your primary responsibility would be in the design and development of our indexing, search, and web platforms.

We have our first version running today, using a wide variety of technologies:

  • Erlang, memcache, and MySQL for our web tier;
  • A novel indexing and search platform built using Java, OpenNLP, ElasticSearch, and more;
  • Continuous integration and deployment with Git and Jenkins;
  • Metrics and monitoring with Logstash, Kibana, Graphite, sellotape, and string;
  • All tied together with queuing from RabbitMQ and ØMQ.

You would be responsible for improving and extending this system, including the selection of new technologies and design choices to take this from being a prototype to becoming a large-scale production system.

As part of this you will be responsible for:

  • Automatic scaling in response to load…
  • … and coarser-grained scaling as our customer base grows.
  • Appropriate use of open-source technologies and contributing our improvements back.
  • Improving the product through analysis of server-side performance metrics and client-side user behavior metrics.

Technical Skills

  • You must have experience designing and building large distributed systems.
  • An in-depth knowledge of Linux is essential. You should understand the performance and networking characteristics of Linux in detail.
  • Experience with Java or other object-oriented application development is required.
  • Experience with functional programming languages such as Erlang, OCaml, or Haskell would be a strong plus.
  • Work in protocol design, particularly REST APIs, would be essential. We want not just technical expertise, but style and taste are critical too.
  • You should be a comfortable toolsmith, ready to build, borrow, and combine whatever we need to automate our systems.

  • San Francisco Bay area or Seattle area preferred.

  • Open to other locations for great candidates. Several folks work from home today.

Application Info

Please sign in with Google or GitHub to view this job's application information. This is necessary to prevent companies from receiving excessive amounts of spam.

Country

Anywhere*

Location

Anywhere (SF/Seattle preferred)

Powered by Tramcar