Open Source Applications Engineer

Open Source Applications Engineer#

An Open Source Applications Engineer (OSAE) focuses on building features that are in the product roadmap, either by contributing to existing open source applications or when necessary, building new open source applications. Team members may serve as Infrastructure Engineers, Application Engineers, or both.

Outcomes#

Deliver on the product roadmap. Team members serving in this role work very closely with user communities we serve and others in the Product & Services team to define and deliver new product features.

Partner with open source application communities. This aspect of our work can include contributing to multiple OSS and Open Science communities to build, maintain and improve strategically important applications.

Key responsibilities#

  • Work with our end user communities to understand common needs, and build appropriate solutions that satisfy them

  • Contribute new features or bug fixes to existing projects

  • Write new applications when projects don’t exist that could meet community needs

  • Ensure that the solutions built are high quality by adopting software development practices such as testing, continuous integration and code reviews.

  • Partner with OSIEs to deploy applications we build and contribute to

  • Work with backend and frontend technologies as needed for delivering solutions

  • Work with and improve upon existing, community-maintained OSS tools

  • Understand the bigger picture of the OSS and Open Science ecosystem, including current gaps and alternative approaches

  • Participate in upstream open source communities we rely on (such as JupyterHub, MyST, etc), with a focus on advocating for strategic community needs

  • Collaborate with members of the Product group in education and outreach around the features we build to solve user needs

  • Work in fast, flexible, agile ways as part of a highly collaborative product & services team

  • Work with a distributed and global team - team members are given a lot of autonomy, and expected to be proactive at communicating with one another and working with others to allocate effort that will maximize our impact.

Necessary qualities#

  • Experience writing and maintaining web service backends in both synchronous and asynchronous flavored python. This is the primary skillset we are hiring for.

  • Experience writing and maintaining simple user facing web frontends (HTML, JavaScript, CSS)

  • Ability to navigate highly modular code bases spread across different repositories

  • Experience and enjoyment of working collaboratively in remote, agile environments

  • Broad understanding of user experience design

  • Interpersonal skills to work with a diverse set of communities, including the ability to communicate complex information clearly, both verbally and in writing

  • Experience collaborating and coordinating work via online platforms, such as GitHub, GitLab, or BitBucket, and distributed revision control

Useful qualities#

  • Experience working with complex single page application web frontends (built with React and/or Lumino for JupyterLab)

  • Experience engaging with highly technical researchers across a variety of methodological fields, research domains, and computational platforms

  • Confidence building relationships across communities

  • Experience with the Jupyter ecosystem and other tools for interactive computing

  • Connections and relationships in the worldwide ecosystem of open source software for data-intensive research

  • Familiarity with common data science and data management practices