Our Company
Changing the world through digital experiences is what Adobe’s all about. We give everyone—from emerging artists to global brands—everything they need to design and deliver exceptional digital experiences! We’re passionate about empowering people to create beautiful and powerful images, videos, and apps, and transform how companies interact with customers across every screen.
We’re on a mission to hire the very best and are committed to creating exceptional employee experiences where everyone is respected and has access to equal opportunity. We realize that new ideas can come from everywhere in the organization, and we know the next big idea could be yours!
About the Role:
We are looking for a Software Engineer to join our growing engineering team, building and scaling next-generation Machine Learning platforms. In this role, you will be a key contributor to designing, implementing, and optimizing complex distributed systems that power large-scale ML workloads. You will work in a multicultural, hybrid environment, collaborating with multi-functional teams across engineering, data science, and platform operations.
As a senior engineer, you are expected to take technical ownership of components, mentor peers, and contribute to setting engineering standards and practices.
What you'll do:
Design, build, and maintain components of ML platforms with a focus on scalability, reliability, and performance.
Develop high-quality, production-grade software using Python.
Contribute to build and release pipelines using Bazel.
Containerize and orchestrate applications with Docker and Kubernetes.
Apply advanced software development patterns to ensure clean, maintainable, and reusable code.
Optimize algorithms and workflows for performance and cost efficiency.
Collaborate with global teams, contributing to technical design reviews, architecture discussions, and code reviews.
Mentor junior engineers and help shape engineering culture and protocols.
What you need to succeed:
Python: Proficient, with extensive experience in production environments.
Bazel: Beginner to intermediate understanding of build systems and Bazel workflows.
Docker: Advanced knowledge of containerization, image optimization, and protocols.
Kubernetes (K8s): Medium to advanced experience in deploying, scaling, and managing workloads.
Development Patterns: Advanced understanding of design patterns, clean architecture, and software engineering principles.
Algorithms: Good grasp of core software engineering algorithms (sorting, searching, graphs) and ability to apply them to practical problems.
Strong problem-solving abilities with a focus on delivering scalable solutions.
Experience working in multicultural teams and hybrid work environments.
Ability to communicate complex technical ideas clearly to both technical and non-technical audiences.
A proactive attitude, ownership of work, and willingness to mentor peers.