Senior Frontend Engineer - Open-Source Jupyter Team at AWS

Job ID: 1601429 | Amazon Dev Center U.S., Inc.

DESCRIPTION

Interested in working full time on open-source software for data science and machine learning?

The AWS machine learning services organization, which includes SageMaker, is building an open-source team that will be working full time on the open-source Project Jupyter. This team is being led and managed by one of Jupyter’s co-founders, Brian Granger, who is a Principle Technical Program Manager at AWS. We are seeking software engineers who are passionate about working on open-source software and serving the needs of user working in data science and machine learning.

What is Project Jupyter? Project Jupyter is an open-source software project and community that builds software, services, and open standards for interactive computing across dozens of programming languages. The core of Jupyter is the Jupyter Notebook, an open document format and web application that enables users to compose and share interactive programs that combine live code with narrative text, equations, interactive visualizations, images, and more. Today, Jupyter Notebooks have become ubiquitous across computational education and research, science, data science, and machine learning. Many millions of users and tens of thousands of organizations use Jupyter on a daily basis. As of early 2021, there are more than 10 million public Jupyter Notebooks on GitHub alone. Major research collaborations and communities across physics, chemistry, biology, economics, earth science, etc., leverage Jupyter as a foundational tool for their computational work, collaboration, education, and knowledge dissemination. Entire curricula at universities and massive open online courses are based on Jupyter. Many AWS customers use Jupyter through Amazon SageMaker and a range of other AWS products and services. For an overview of Project Jupyter, see this article (https://www.computer.org/csdl/magazine/cs/2021/02/09387490/1smCZM9XKSY)

The charter of the Jupyter opens-source team at AWS is to make Jupyter the best notebook platform for data science, machine learning, analytics, and scientific computing for all of its users. The team tenets are as follows:

· We are customer obsessed. We build things that Jupyter users need. Our customers are AWS product teams, AWS customers, and the broader Jupyter user community.
· We work in the open. We work openly on GitHub with a broad range of external Jupyter stakeholders.
· We help Jupyter deliver on its promise. We share Jupyter’s mission to make interactive computing usable, accessible, reproducible, and productive to a broad range of audiences working with code and data.
· We support the communities we are a part of. We do our share of the “needful things,” like triaging issues, grooming backlogs, mentoring and on-boarding other contributors, participating in design discussions, fixing bugs, cutting releases, giving talks and writing blog posts, and helping with the organizational and governance dimensions of Jupyter.
· We help connect AWS and the Jupyter ecosystem. We help AWS teams navigate all things Jupyter and facilitate their active participation in the Jupyter subprojects they depend on.
· We focus on what we know best; we don’t try to do everything. Our team includes contributors with experience in particular parts of Jupyter and those are the areas where we can make the most impact.
Consistent with the team charter and tenets, members of the Jupyter open-source team at AWS will be entirely focused on open-source contributions to Jupyter.

A successful candidate will be proficient in core software engineering skills, including debugging, analysis, and problem resolution, writing maintainable software, and translating requirements into implementation. Engineering work will include both modern frontend development (TypeScript, React, webpack, npm) and backend work in Python. Open source software development is a highly collaborative effort, so strong communication skills are required for effective code review, written technical discussions, and online and in person meetings with open-source users and stakeholders.

Key Responsibilities:
· Help AWS and Jupyter understand Jupyter users and uncover their needs and tasks through a human centered design process.
· Actively participate in ongoing weekly meetings of Jupyter contributors and regular Jupyter community events, including Jupyter Community Workshops and JupyterCon.
· Contribute impactful features, bug fixes, tests, and maintenance work across a wide range of Jupyter sub-projects, including Jupyter Lab, Jupyter Widgets, and Jupyter Server.
· Submit, respond to and triage GitHub issues across Jupyter open-source repositories.
· Review pull requests of other open-source contributors.
· Design, propose, and implement new major work that is aligned with Jupyter’s open-source roadmap, and work with other contributors to build consensus around that work.
· Help other AWS teams and AWS customers to leverage Jupyter in effective ways and contribute to Jupyter themselves in productive ways.
· Present your work both internally and externally at conferences, tech talks, and brown bags.
· Coach and mentor new and junior external Jupyter contributors.
· Actively help the Jupyter community to become a more inclusive and diverse place to work.

Team is based in the Bay Area, but remote work will be considered.

Amazon.com is an Equal Opportunity-Affirmative Action Employer – Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation.


BASIC QUALIFICATIONS

· Bachelor’s Degree in Computer Science or related field.
· Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
· 5+ years professional experience in software development.
· Experience with modern programming languages (Python, JavaScript) and open-source technologies.
· Experience with web/mobile technologies (e.g., Python, JavaScript/TypeScript, NodeJS, React, WebPack, HTTP mechanics/performance).

PREFERRED QUALIFICATIONS

· Modern frontend development including TypeScript, React, CSS in JS, webpack, npm.
· Deep knowledge of the open standards of the web: HTTP/HTML/CSS/JS/WebSockets.
· Experience in building accessible web applications (WCAG 2.x).
· Async network and server programming in Python.
· Experience working with UX designers in a human centered design process.
· Direct experience in data science or machine learning, or a familiarity with the challenges and needs of users working in those fields.
· Experience with CI/CD in an open-source context.
· Experience with Jupyter’s applications, open standards, and architecture is preferred, but not strictly required.
· Experience in contributing to open-source projects and participating in open-source communities.