Position Description

Senior Rails Developer
Location United States
Department RESOLVE GENERAL
# of openings 2
Apply Now

Vital Strategies, headquartered in New York City, is an international public health organization. Our programs strengthen public health systems and address the world’s leading causes of illness, injury and death. We currently work in 73 countries, supporting data-driven decision making, advancing evidence-based public health policies and programs and mounting strategic communication campaigns. Our programs are concentrated in low- and middle-income countries and cities in Africa, Latin America, Asia and the Pacific.

Resolve to Save Lives is a global health initiative of Vital Strategies that aims to save millions of lives by reducing preventable deaths from cardiovascular disease and to prevent infectious disease epidemics. Since September 2017, Resolve to Save Lives has worked closely with low- and middle-income country governments, the World Health Organization, academic and other civil society partners to build capacity for and implement a core package of interventions to reduce cardiovascular disease, the world’s leading cause of death.

Simple is a free, open source app developed by Resolve to Save Lives, and is used by nurses, doctors and population health experts to improve treatment for patients with high blood pressure. Simple is currently operational in multiple states of India as well as in Bangladesh, and is being used to manage more than 200,000 patients across more than 400 clinics, with plans for its deployment in additional program focus countries in 2020. Our goal is to save 100 million lives (The Lancet).

Learn more about the Simple project at Simple.org and in this article on Medium.

Job summary

We’re hiring a full time Senior Rails Developer to help us add features to the Rails application and improve the APIs powering Simple. This includes:

  • Delivering fast, simple software used by nurses in clinics every day
  • Working on solutions for hundreds of millions of patients
  • Building holistic products with empathy, not just writing code
  • Contributing to an open source project used in multiple countries
  • Collaborating closely with a talented, international team of Android and Rails developers as well as designers
  • Supporting an offline-first app, including the challenges of navigating a distributed system
  • Managing deployments in cloud and on-premise environments
  • Ensuring patient privacy and data security

You will help extend our API to allow for new features and apps, secure our application to meet security best practices, and ensure that our Rails app is reliable, scalable, and easy to modify. Our code has grown quickly, and you will help make sure that we keep complexity down, clean up technical debt as needed, and write code that doesn’t require extensive commenting and explanation.

User experience is critical to our success, so you will be working with our design team to make sure that we’re iterating quickly, as getting health data into official hands will help save lives. Our app needs to be easy to understand, for users and developers. Your work will have a real, tangible impact on peoples’ lives.

Simple is designed as an offline-first app. This means instead of a traditional REST API, we have a sync API that keeps data on the devices roughly in line with data on the server. As a result, our app is fast and usable in unreliable network conditions. This distributed system invites some nice benefits, but also requires that you help us navigate its challenges.

Key responsibilities Here are some example projects that give you some idea of what’s in store:

  • Adding support for Diabetes measurements in our API
  • Taking dashboard HTML/CSS from our design team and writing the Rails controllers and view templates to make them come to life
  • Adding two-factor auth support for our web app users
  • Tracing slow API endpoints and improving their performance by refactoring and making work async where needed
  • Exporting basic dashboard data into a downloadable CSV/spreadsheet
  • Ensuring admin tools for adding users and facilities are functional and easy to use
  • Working with our Android team to make sure API contracts are well understood and followed on both app and server sides
  • Adding support for distributed soft deleted records, as well as support for subsequent race conditions and merge issues
  • Determining how to deploy our Rails app in AWS easily on-premise servers in government data centers, and in other third-party cloud services

Length of contract 12 months with potential for extension.

About you We are seeking an experienced candidate who is ready to do work that matters. The ideal candidate embraces learning about our challenges, has solved plenty of Rails app-related problems (especially at scale), and can work effectively with our remote team.

We’re keen to find someone for whom these problems look pretty familiar. We don’t want a specialist, but instead someone who is just as comfortable slinging ERB views as they are digging into writing query classes and debugging Rails routing errors. Critically, we also want someone who is curious, writes and communicates well, anticipates user needs from a human level, and always looks to keep things simple and iterate. We’re looking for someone who can self manage, plans their time wisely, and delivers straightforward solutions to vague problems.

Mindset We try hard to be a team full of empathy, inclusion, and respect. We trust each other, have hard conversations with open mindedness, and assume positive intent. We document as much as possible, work as asynchronously as possible, and meet via video conference when necessary. Proposing ideas and trying new things are paramount; always being right is not. We are frequently wrong and try to write code that we don’t mind deleting when we learn new things. We’re excited for you to participate and look forward to helping you grow your own skills as well.

Diversity Given that we’re writing software for the globe, it’s critical that our team represent the diverse environments in which we operate. We strive for an inclusive, diverse team with different perspectives, ideas, and identities.

Required qualifications

  • Experience: Very fluent with Rails development and supporting user-facing and API components. Experience with devops is a plus.
  • Education: As for your specifics, a CS degree is not required, nor do we require a certain number of years of experience. What really matters is how you got here, why you want to be here, and what you can do.
  • Remote: This is a remote job. Our team spans the US east coast, UK, and India time zones. You must be legally able to work in the US, France, Switzerland, Nigeria, Ethiopia, or India. You also must have reliable, consistent access to a network for online collaboration.
  • Availability: You’re free to work when you want, provided that you can overlap and collaborate with the team as needed. That said, we understand that staying up all night does not lead to great work.
  • Balance: We work hard, but we also make sure you feel supported.
Back Apply Now