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!
Are you interested in the chance to work on a professional creative software product that touches millions of customers across the world?
If so, the Photoshop team is looking for a passionate, GPU-focused developer to join us in shaping the future of Photoshop! You will work within a fast-paced, agile environment, partnering closely with fellow developers, quality engineers, designers, and product managers.
Your role as a developer will play a key part in helping modernize this world-class product and delivering an incredible user experience.
We are looking for someone who holds high standards and is technical, driven, and creative, and who with their clear communication skills, adaptability and collaborative approach can work effectively across the team to bring Photoshop to life on multiple platforms.
What you'll Do
Architect and build image processing and compositing features that extend the capabilities of Photoshop
Implement GPU acceleration across desktop and mobile platforms
Analyze and optimize C++ code to ensure optimal CPU / GPU utilization and performance
Write automated integrity and performance tests for functionality you expose
Shape architectural and product design details when tasks or specifications are open-ended
Collaborate with teammates across all functional disciplines to ensure quality in all phases of development
Work closely with core technology teams and other platform teams to balance cross-platform consistency with platform optimizations
Write beautiful, self-documenting code that others can easily read and adapt and write and review engineering documents and review design specs.
You are someone who...
Loves software and marrying art with science to enable creative people to fully express themselves more efficiently and effectively
Is a team-player and is looking to contribute to something greater than yourself
Is a motivated, self-starter, who can make progress quickly even when there is ambiguity
Is a problem solver, who possesses strong analytical skills tempered with empathy and emotional intelligence
Is able to organize and prioritize your work in order to make the best use of your time and capabilities
Cares deeply about customers, quality, craftsmanship, and polish
Is a phenomenal listener and communicator, able to digest, synthesize, and distill complex information and communicate clearly
In the face of adversity are able to adapt and persevere, all while maintaining a healthy, balanced long-term perspective
Is a quick learner and is always looking to improve yourself, and see challenges and setbacks as opportunities to learn
Loves solving problems and coming up with solutions that are both elegant and robust
What you need to succeed
A bachelor's degree (or masters) in Computer Science or equivalent
7+years of experience with image processing, compositing, and / or color science-related software development
A strong background in C++and programming fundamentals; experience with modern C / C++ a plus
An understanding of GPU architecture, frameworks, shading languages, and best practices
Experience with Metal, DirectX 12, and / or Vulkan preferred; experience with OpenGL, OpenCL, DirectX 11 or lower, etc.
is sufficient given a proven ability to learn quickly
Experience developing for Windows and / or macOS platforms; iOS, Android, and Linux development experience a plus
Expertise in writing robust and fully asynchronous code
Good understanding of Photoshop and working with large products and codebases