Backend Software Engineer

Tech Talent Link

Software Engineers on our client’s design team are responsible for the design, implementation, and maintenance of the company’s data pipeline and end user API endpoints related to the data pipeline, and work in collaboration with other teams like Data Science and Platform.
The team uses technologies like Google BigTable, Etcd, Elasticsearch, Google PubSub, MongoDB, and writes systems in Go which are deployed into Google Kubernetes Engine.
Data Engineering is a team of distributed systems engineers; we’re looking for someone with the following skills and experience:

  • Has 5+ years of experience with concurrent programming in a distributed system
  • Has experience writing data-intensive server side systems
  • Has experience with lexers, parsers, and interpreters, preferably in the area of event stream evaluation
  • Is proficient in Go or would like to learn Go but is an expert in another language
  • Has experience with a distributed NoSQL database like Cassandra, BigTable, or Dynamo
  • Has experience with stream processing systems like Spark or Storm Streaming, or has experience with map reduce like systems
  • Has experience with persistent queues like Kafka, Google PubSub, AWS Kinesis or AWS SQS
  • Has ability to communicate sensitively and attentively
  • Has ability to communicate complex technical designs in written form

Key Responsibilities

  • Be a key contributor to the development of company data processing pipeline in all aspects such as availability, latency, performance, efficiency, change management, metrics, and future directions in its design
  • Work with team members to design, document, and implement large-scale distributed streams and batch processes for petabytes of data using Go
  • Provide tooling and infrastructure for other internal teams, including Engineering, Customer Success, and Sales

You will be working on a small team of talented and passionate engineers. Since the team is small, each individual is given a lot of freedom and responsibility to manage their day-to-day activities. Projects at the company are not spec sheets handed down to the engineering teams; they are open-ended problem statements that are solved and implemented by the same people.
We are also serious about testing and automation. We want to focus on shipping great features and iterating on our designs. Because of this, continuous integration and continuous deployment are both very important to us. You will get to take advantage of this on Day One.
We are committed to communicating projects and transparency. GitHub is our primary tool for source control, code review, issue tracking, and project planning. Everyone in our organization is given access to be a part of the conversation. For everything else, there is Slack.
We value the developer community at large and believe that the best way for the world to have great software is if great minds are sharing. This is why we find ways to take the tools we write and turn them into open source projects usable by other people facing similar challenges.

  • A self-learner, critical thinker and problem-solving individual
  • A self-starter with an ability to keep focus, request input at appropriate times, and deliver
  • Software engineering knowledge in data structures, concurrent programming, distributed systems, and query processing

Extra Credit

  • Experience with ETCD or Zookeeper
  • Experience working with Kubernetes and Docker
  • Experience writing Go not required but a huge plus
  • Experience with Snowflake, AWS Redshift, Google BigQuery, or any other large scale OLAP relational database
  Apply with Google   Apply with Twitter
  Apply with Github   Apply with Linkedin   Apply with Indeed
  Stack Overflow