Senior Rails Engineer, Consultant - remote

Vital Strategies
Posted 3 years ago
We Work Remotely
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, used by nurses, doctors and population health experts to treat patients with high blood pressure. This treatment prevents the world’s leading causes of death, heart attacks and strokes.

The Simple app is used by thousands of nurses and doctors every day, treating over a million patients across India, Bangladesh, and Ethiopia. Our goal is to save 100 million lives (see more details in The Lancet).
Learn more about the Simple project at Simple.org and in this article on our blog.

Job summary 

We’re looking for a Senior Rails Engineer to join our tech team at Resolve to Save Lives and help us accomplish our goal of saving 100 million lives in 30 years. Our team provides software to support public health programs that aim to prevent cardiovascular disease, the world’s leading cause of death. (Read more details about our approach in The Lancet .)

To reach this milestone, we developed Simple , a free, open source app used by healthcare workers to treat patients with high blood pressure. By allowing doctors to track patient care over time, we can help them control their blood pressure and prevent heart attacks and strokes.

The Simple app is used by thousands of nurses and doctors every day, treating over a million patients across India, Bangladesh, and Ethiopia. By joining our team, you will play a key role in helping us grow the app, keeping it fast and reliable while providing valuable data to public health programs we support.

Our team prides itself on:

  • Delivering fast, simple software used by nurses in clinics every day
  • Working on solutions for hundreds of millions of patients
  • Building holistic products, not just blindly writing code
  • Contributing to an open source project used in multiple countries
  • Open, honest, and supportive collaboration among designers, mobile developers, and Rails engineers
  • Valuing convention over configuration
  • Ensuring patient privacy and data security
  • A remote-first philosophy that encourages information sharing and working hours that make sense

Our approach

Simple consists of a Ruby on Rails 5.2 server that provides a web dashboard for public health workers as well as a sync API for the Simple mobile app.

Nurses use the Android app to look up existing patients or register new ones, record their most recent blood pressures, and update medications. Our app has an offline-first design, allowing it to work in clinics with limited network access while staying fast and reliable for nurses. Data is synced to the Rails API when network is available.

The web dashboard provides aggregated reports at the regional and clinic levels, allowing public health officers to see what’s working and address program issues in the field. Our reports are used to help return patients to care, ensure drugs are in stock, and assist hospital administrators in staffing and training needs.

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

  • Crafting dashboard charts and data pipeline that provide public health experts with a clear story of how patients and clinics are doing
  • Adding an A/B testing framework for discovering the most effective reminders for patients to return for care
  • Collaborating with our Android team to improve API endpoints and ensure they’re flexible and reliable
  • Performance profiling and alerts to ensure our app scales to tens of millions of patients over time
  • Improving how our app is deployed in AWS, on-premise servers in government data centers, and in other third-party cloud services
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.

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 are a small team of self-directed people. Once familiar with the project, we expect engineers to be able to take ownership and guide large projects from start to finish. We write down ideas and work as asynchronously as possible, meeting via video conference when necessary. Proposing ideas and trying things matter more than always being right. We are frequently wrong and try to write code we can easily change 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.


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 common Rails production challenges (especially at scale), and can work effectively with our entirely remote team.

Here’s what makes a successful engineer at Resolve:

  • Value simplicity over perfection
  • Be a problem solver and doer, take ownership of your work
  • Focus on outcomes instead of getting lost in details
  • Clear communications that empower and enable others
  • Ask for help when you need it
  • Coach, share knowledge, and nurture a supportive engineering culture
  • Don’t be afraid to try things and learn from mistakes
  • Set clear timelines and document progress
We’re keen to find someone for whom our problems look familiar. We don’t want a specialist, but instead someone who is just as comfortable slinging ERB views as they are optimizing query traces and setting up caching. Critically, we also want someone who is curious, writes and communicates well, can thrive while working asynchronously across many time zones, 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.


Required qualifications
Technical experience:
  • Very fluent with Ruby and Rails development
  • Strong understanding of Rails conventions and object-oriented principles
  • Knowledge of ActiveRecord, indexes, and caching
  • Embrace testing and continuous integration
  • Launched and maintained production Rails apps at scale
  • Hands-on architectural experience with modern cloud infrastructure and managing apps that are growing quickly
  • Supported production APIs and user-facing components

    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.

    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. You also must have reliable, consistent access to a network for frequent online collaboration.

    Location:
    This is a remote position. Our team spans the US and India, and we’re currently looking for engineers in the US to provide a better team balance.
     
Length of contract
6 months with potential for extension.