Collaborate with the Spectrum design team to ensure the design system’s aesthetic is built into implementation libraries while maintaining an idiomatic API for consumers.
Extract and clarify data from designs, map data to clear abstractions, and integrate that design data into the Spectrum implementations using patterns expected by product web developers.
Writing clarifying documentation to communicate engineering approach, support contributors and consumers in the internal and open source community, perform code reviews, and help grow the predictability and stability of the framework.
Partner with product teams to define, build, support, and validate implementations of Spectrum in Adobe’s products.
Work with various toolsets and teams to understand design’s requirements and communicate engineering concerns back to design.
Assist in the discovery and delivery of fixes for Spectrum implementation gaps.
Document and share our ground-breaking techniques with the wider web development and design engineering communities.
What you need to succeed
Must-Haves
Has experience building sophisticated web UI using either no frameworks or multiple frameworks, build tools, and the latest Javascript/ECMAScript features (2+ years).
Experience with CSS architecture and standard processes, such as pre- and post-processors, cross-browser concerns, layout, CSS custom properties, responsive design, and animation (2+ years)
Working experience with web UI implementation, semantic HTML, and direct experience using vanilla Javascript
Experience with git and GitHub, the process of contribution to open source development, and performing peer code reviews
Has built UI following accessibility practices (WCAG), web standards, and testing methods including unit testing and visual regression testing.
A pragmatic, collaborative and open-minded outlook, and a high degree of comfort working in a fast-paced environment closely working with designers and engineers.
Nice-to-Haves
Familiarity with design systems concepts such as tokens, tooling, standard methodologies, and how they integrate with product development
Experience with Typescript, web components standards, lit-based component development, and related aspects of that ecosystem.
Experience using Node.js ecosystem and npm package development
Experience building libraries, frameworks, or SDKs used by other developers
Experience building responsive components for mobile web
Practice with open development, providing collaborative and detailed feedback to other team members
Hands-on usage of build, test, and release methods; such as compilers, linting, CI/CD tooling, software testing and validation techniques, and modern dev-ops practices