Software Engineer

Purpose
We’re looking for developers who want to build foundational data systems that drive change. Our team has worked on projects that record the social infrastructure of entire countries, tally the winners of national elections, and reduce infant mortality. We build software that solves real problems and you will too.
Qualities we’re looking for
Thoughtful coder

You understand the importance of abstractions and interfaces. You keep modules loosely coupled and know that algorithms + data structures = programs.
You read and understand existing systems before diving in. You know how to prototype, how to iterate, and when to step back and think it through or ask questions.

Builder

You are committed to the projects you work on and need to see them through to completion. You understand that solving the user’s problem is the end goal.

Lifelong learner.

You stay up to date with the latest trends and are excited to learn new languages, tools, and best practices.

Explorer

You thrive in teams and projects that span time zones and cultures.
You’re ready and excited to travel in order to support projects, no matter how dusty or remote.

Responsibilities

Define client needs, system requirements, dependencies between requirements, and expected timelines
Design, architect, build large scale data collection and visualization systems
Coordinate and balance priorities of multiple projects and deliverables.

Essential

Minimum 3 years programming production web applications
Minimum 3 years programming in Python, JavaScript, or Java
Experience programming with APIs and service based architectures
Experience with databases and their integration into web and Android applications
Strong attention to detail and understanding of architectural dependencies.
Strong troubleshooting and problem solving skills.

Desirable

Experience with Clojure, Java, JavaScript, and Python
Experience with Django, React, Redux, Postgres, Superset, NiFi, Kafka
Experience working with remote teams