Important: This role is for someone working within European or African Timezones
OpenFn is an open-source digital public good used by low-to-middle-income country governments and NGOs around the world to scale the next generation of health and humanitarian interventions via data integration, interoperability, and process automation.
We use cutting edge technologies to drive efficiency where it matters most;we do not make marginal improvements to already comfortable lives.
OpenFn/Lightning is a free and open-source workflow automation platform that's built on the Phoenix Framework (Elixir/Erlang) and backed by a Javascript compiler/execution environment (running in NodeJs) with adaptors for working with the most commonly used, mission-critical software in the health and humanitarian sectors.
We believe that IT project success in these complex environments relies on facilitating a high-quality conversation between technical and non-technical users and are focused on creating a best-in-class developer experience, a visual workflow builder, and a workflow management/audit platform designed specifically to solve the problems faced by NGOs and government ministries as they deliver health and humanitarian services to some of the most historically underserved populations in the world.
We aim to be secure, stable, and scalable—in that order.
Requirements
We're looking for a senior engineer with deep Elixir experience to join our global, remote team and play a big role in taking our open source web application, along with its associated tooling, to the next level. Check out our source code and hex docs.
As a small team working in the face of rapidly increasing demand, we move fast at times and slow at others, but we try to make sure that we're always doing so for the right reasons. While we're careful not to gild the lily, no one likes wading through code that could have been written more clearly or stomping bugs that might have been avoided.
If you like the idea of a mission-first, globally-adopted, Phoenix LiveView (1.7+) workflow automation platform, and of building out in the open in conversation with leading NGOs and governments around the world, we'd love to talk to you.
Things that matter to us
- Curiosity and pragmatism: You've got to enjoy trying new things;constantly think about the tradeoffs between acting early and not doing something.
- A passion for tooling: All of our Javascript libraries are used by real people, and we treat ourselves as customers as well. If we can't easily debug something, then chances are an end-user developer at a ministry of health or refugee protection agency is going to experience UX pain as well.
- An interest in transpilers: Transpiling Javascript is the core of what we do. We build software capable of automagically manipulating user code, detecting potentially malicious invocations or generating feedback for users as they are writing code.
- An enthusiasm for open source: The majority of our code is publicly available under the LGPL-3.0 license and has already been adopted and adapted by some of the top international development organizations around the world. We want to further this with more and better tools that empower those working in the ICT4D sector.
- Strong opinions, weakly held: Making decisions that affect future design paths is always difficult. We don't sit on mistakes. And we listen carefully when someone has ideas or prior experience that contradict our own.
What you'll be doing
You'll start by learning. You'll get to grips with how Workflows and Jobs are created and executed in real systems. You will be an integral part of designing and implementing an Open Source Workflow/ETL system—with a focus on leveraging Elixir and OTP to scale gracefully.
You'll play an important role in ensuring workflows are executed and reported on reliably, and have critical input into how users/admins can provision Lightning from the CLI.
You'll be building with reuse in mind, allowing isolated features to be used in larger applications—mostly in Elixir, with Phoenix Liveview—and you'll ensure that the web applications we deploy are secure, stable, and scalable via a strong test- and metrics-forward approach to development.
Along the way you'll help ensure that the UI for less technical users is intuitive and the code that our power-users write and run is observable and measurable. You'll also collaborate with our team and our partners to improve OpenFn's architecture, propose novel solutions, and review the work of your peers across the company and the sector.
Our Stack
- Orchestration/platform: Elixir, Phoenix (with Liveview), React, Postgres, GCP, Terraform, Kubernetes
- Adaptors/automation: JavaScript, Typescript, NodeJs
Things that might set you apart
- You are an Elixir pro and are comfortable with OTP, leveraging it for its fault-tolerance and scalability.
- You have good functional programming experience. (Ideally in Elixir, but anything strong and/or dynamically typed is cool too.)
- You have experience with Phoenix and LiveView;you've got opinions about when to use Javascript/Typescript and when not to.
- You love Postgres.An interest in devops and automation, calling ./run doesn't make a system and getting discrete pieces of infrastructure to sing together is generally more exciting than not.
Benefits
- Financial compensation is commensurate with experience.
- Flexible working schedule.
- Health insurance stipend.
- Exposure to hottest industry and technology trends and leading health and humanitarian interventions in the sector.
- Opportunity for leadership and advancement. You will be a key contributor to our company's technical strategy and direction.