DrivenData Labs | Software engineer (Python) w/ focus on data applications | Berkeley, CA | ONSITE | FULLTIME

DrivenData brings the transformative power of data science to organizations tackling the world’s biggest challenges. We run online machine learning challenges with social impact (drivendata.org), and we work directly with mission-driven organizations to drive change with statistical modeling, data engineering, and tool building (drivendata.co).

We are looking for a talented software engineer who is interested in data — possibly looking to transition into data engineering or data science — and in using their job to take on tough social challenges. As a core member of a small team your role will include managing code development, brainstorming approaches to engineering problems, working closely with data science and machine learning developers, and taking an open and constructive mindset to getting things done across multiple projects. You’ll work directly with data scientists that started their careers as software engineers, bringing an experienced understanding of software processes alongside opportunities to learn new quant skills, tools, and ways of approaching data applications. This is a full time position in Berkeley, CA (SF/Bay Area).

Doing client-facing work involves turning uncertainty into a reasonable path forward. As a team, we value unemotional arguments for how to proceed based on evidence, and we want somebody who can be assertive enough to get the point across but dispassionate enough to plow through even if their favored course of action doesn't happen this time. We're looking for somebody who can ask the right questions to figure out what is important, iterate between brainstorming together and working independently, and exercise sound engineering judgment to make reasonable decisions under conditions of ambiguity.

Duties and responsibilities: internal software development, maintain our Python codebase for drivendata.org, fix bugs, add features, safely refactor and maintain test coverage. Develop new internal tooling and improve on existing apps. Client-facing software development; build a variety of applications, generally small green-field apps. Light DevOps Tasks (spinning up EC2 instances, logging into a servers for diagnosing issues, setting up databases both locally and in the cloud).

Requirements: Advanced proficiency in Python, practical experience with writing solid and well-tested code, working knowledge of SQL, and comfort with Linux a necessity. No need to have a background in math or a CS degree, but the job will involve a lot of quantitative thinking so the applicant should not be afraid of math Working on a small team means doing a little bit of a lot of things. Able to quickly learn and adopt new technologies based on client needs; a typical engagement may include at least one data technology we haven't all worked with before. Must be able to read appropriate documentation in order to write clean, idiomatic code.

Nice-to-have experience: IaaS like Amazon AWS or PaaS like Heroku, Docker, big data tools like Spark and Hadoop, tools design for data-intensive applications e.g. Cassandra, Storm, Elasticsearch, etc.

If interested, send a resume and links to things you'd like us to see (e.g. Github, personal site, blog or projects) to isaac [at] drivendata.org with "HN" in the subject line.