Remote Senior JS/Typescript Engineer (EU/Africa Timezones) - remote

OpenFn
Posted 1 year ago

Important: This role is for someone working within European or African Timezones

OpenFn provides a data transformation and process automation platform that enables secure, stable, scalable interoperability for lower- and middle-income country (LMIC) government and NGO customers.

OpenFn is a free and open source digital public good (DPG) used by LMIC 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.

While customer-facing OpenFn/Lightning is a Phoenix LiveView (Elixir/Erlang) web application, our adaptors, worker servers, and compiler/execution/runtime environment are all TypeScript. We have 50+ Js/Ts Language Adaptors and a developer-friendly CLI for working with the most commonly used and mission-critical software in the health and humanitarian sectors.

We want to create a best-in-class developer experience, increasing ease of use and offering better visibility for those developing and automating workflows with OpenFn.

Requirements

We're looking for a senior engineer with deep Typescript and Javascript experience to join our global, remote team and play a big role in taking our adaptors, our open source language and our associated tooling to the next level.

In addition to growing a large library of Javascript adaptors, we are building a Typescript visualiser that allows users to create fully-extensible, visual data transformation jobs from our large set of existing Adaptor libraries. We empower users to work freely in both code and blocks, switching between the two seamlessly... and the output will be runnable anywhere.

You'll be focusing on the design, development, and testing of these adaptors with an eye towards harnessing generative-AI (such as GitHub Co-Pilot and OpenAI's ChatGPT) to build better (more intuitive, better tested, more user-friendly) adaptors and job code. You'll help us explore how AI can take some of the pain out of adaptor generation, maintenance and usage.

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 low-code environments 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 learn OpenFn's existing expression and adaptor model inside and out. You will learn how to use existing adaptors to create real data transformation and automation pipelines for LMIC governments and major health and humanitarian NGOs. You will learn how to extend those adaptors, to build new adaptors, to train other developers on those adaptors, and you'll do so while brining a wealth of prior Javascript experience to the table to concurrently start shaping this next generation of adaptors in communication with our Head of Engineering.

You'll design and implement open source tooling to manipulate and visualize Javascript, harnessing generative-AI first to improve your own workflow, and then to help others do the same. You will then integrate and make accommodations for these tools with and within larger applications and deployments.

Along the way you'll be ensuring that the code our end-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

  • Adaptors/automation: JavaScript, Typescript, NodeJs
  • Orchestration/platform: Elixir, Phoenix, React, Postgres, GCP, Kubernetes

Things that might set you apart

  • You are a true JavaScript pro.
  • You have experience in building rich interactive web based UIs, we're talking dragging boxes, connecting lines and other visualizations.
  • You are passionate about emerging AI technologies but conscious of its potential social impact.
  • You have a solid understanding of how LLMs work and experience either training/tweaking models or crafting effective prompts.
  • You have functional programming experience.

Benefits

  • Financial compensation is commensurate with experience.
  • Flexible working schedule.
  • 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.