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