Lorem Ipsum

Upcoming Event

Rust Forge

Learn why Adobe is moving beyond C++ by integrating Rust to build better products faster and more securely. Explore our pragmatic migration strategy for a 78M line codebase, emphasizing incremental adoption and developer enablement over a risky rewrite. Gain insights into Adobe’s journey towards a modern, safer, and more productive software development future.
Our Featured Speaker for Rust Forge

David Sankel
Principal Scientist

David Sankel is a Principal Scientist in Adobe's Software Technology Lab, and is an active member of the C++ Standardization Committee. His experience spans microservice architectures, CAD/CAM, computer graphics, visual programming languages, web applications, computer vision, and cryptography.  He is a frequent speaker at C++ conferences and specializes in large-scale software engineering and advanced C++ topics. David’s interests include dependently typed languages, semantic domains, EDSLs, and functional reactive programming.

C++ Teams at Adobe

Meet the teams driving Adobe's innovation with C++. Explore how they tackle complex challenges, develop groundbreaking solutions, and utilize C++ to shape the digital world.

Photoshop
After more than 30 years, you would think Photoshop would be complete, but there is a constant desire to reinvent the product. Extending from a desktop product to a multi-surface platform, pushing image processing and new AI capabilities, improving the core subsystems to scale better on new hardware and running in the browser, simplifying the product for new users adding fine controls for experts.
Adobe Acrobat

Our team builds the Core PDF Library that brings unparalleled document experiences to consumer and enterprise users. Our Core PDF Library is designed to keep even the most complex PDF files responsive and performant, even in resource-constrained environments. We tackle interesting challenges in the context of PDF documents, revision management, algorithms, and data structures, working to build highly leveraged, critical components for use across iOS, Android, Web Assembly, and Desktop clients.

Our team has a passion for building modern C++ code that is secure, multi-threaded, and performant. Join us in building an amazing library that is used by 100+ Million users each month!

3D & AR
With augmented reality, we can merge digital content with the physical world to create and deliver next-generation experiences. Everything becomes a creative canvas to the millions of people who want to tell their stories in new and exciting ways—artists can build deeper emotional connections and brands can connect in a more meaningful way with their customers.
Digital Video & Audio
Our team builds the libraries and features that bring unparalleled video and audio experiences used by millions of customers working on products like Adobe Premiere Pro, Adobe After Effects, Adobe Premiere Rush, and other Creative Cloud video and audio apps.
Adobe STLab
Adobe’s Software Technology Lab, STLab, is chartered with improving software engineering practice through education, library and tool development, and research.
The group’s current focus is the problem of writing safe and efficient concurrent code that can scale for desktop, servers, browsers, and mobile environments and provide a responsive experience even with high-latency operations.

Explore our products.

From students to creative professionals, and from small businesses to the world’s largest enterprises, our customers are using Adobe products to unleash their creativity, accelerate document productivity, and power digital businesses.
  Adobe Creative Cloud
Adobe Creative Cloud gives anyone, anywhere the most powerful tools to express their creativity
  Adobe Document Cloud
Adobe Document Cloud modernizes how people view, share, and engage with documents.
  Adobe Experience Cloud
Adobe Experience Cloud gives digital businesses everything they need to design and deliver great customer experiences.
 Adobe Express
Adobe Express, our template-based web and mobile app, empowers everyone to create standout content.

All the reasons to bring your career to our C++ team at Adobe.

From Digital Video, Audio, Imaging, and PDF, we are always looking at better ways to get more out of existing and new hardware.

That means increasing the use of concurrency and utilizing low-overhead constructs,like coroutines and continuations, and looking at new models for structuring systems to scale from one-to-many cores.
Join our C++ Talent Community
Still waiting to start you active job serach, but looking to stay updated on the latest opportunities, events and news?

​​​​Do you want to speak directly to one of our Talent Partners? cppatadobe@adobe.com

Training

A collection of expert-led training on C++ development, produced by Adobe's top engineers.

Adobe Software Technology Lab's Better Code Seminar

The Better Code Seminar is an interactive and informative event designed to enhance your programming skills and elevate the quality of your code. Our goal is to provide you with a comprehensive understanding of the principles that underlie great code, based on the latest research and deep thinking in the field.

Better Code: Contracts
Does it sometimes feel like all computer systems are held together with duct tape and good intentions? Do you have confidence that the code you write, and the changes you make, are correct? What does “correct” even mean? How do we know the code we write today won’t become a long-term liability? These persistent questions can be enough to suck all the fun out of programming, but it doesn’t have to be that way. In this talk, we’ll look at the connective tissue of good code, and show how to keep it strong and supple. We’ll suggest replacing code reviews with something better and chart the path to a more hopeful future of software.
Dave Abrahams
Better Code: Algorithms - Preliminarie
A function is a fundamental building block in software development and a key tool for designing efficient and maintainable systems. This talk looks at the characteristics of a “good” function and provides practical guidance on when and how to refactor and utilize existing libraries to develop Better Code.
Sean Parent
Better Code: Functional Design 

Functional languages emphasize powerful, simple, and composable APIs, but you don't need to use these languages to benefit from their advantages.

This talk introduces functional design and showcases its application to several real-world problems. It covers denotational semantics and several math-based programming abstractions. Finally, functional solutions are compared with traditional ones.

No prior knowledge of functional programming is required for this talk.
David Sankel

Better Code: Algorithms - Composition
Algorithm composition is the process of combining existing algorithms to create new ones that solve complex problems. This talk looks at different forms of composition with different trade-offs. The talk will inspire you to think of algorithms as reusable building blocks that can be combined in novel ways.
Sean Parent

Past Events Highlights

Connecting, Learning and Innovating Together

C++ on Sea 2024
David Abraham shows the essentials of Hylo's design, discusses the progress made in detail, and looks at the road ahead. By the end, you'll begin to see the outlines of an inspiring possible future of programming. You may even want to help create that future!
CPP-Summit 2024
This talk distills insights from the Beman project, a new open-source C++ library collection implementing standard library proposals, on how to build high-quality C++ libraries in a collaborative environment. Developed with contributions from dozens of experts, Beman's best practices encompass documentation, file structure, pre-commit hooks, continuous integration, and effective CMake usage.
Meeting C++ 2024
Titus is a Senior Principal Scientist at Adobe, focusing on Developer Experience. He has served on the C++ standards committee, chairing the working group for the design and evolution of the C++ standard library. He has also served on the ACM/IEEE/AAAI CS2023 steering committee, helping set curriculum requirements for Computer Science undergraduate degrees, focusing on the requirements for software engineering.
CppCon 2024
This talk introduces the Beman Project, a new community initiative to improve the quality of C++ standard library enhancements. The project provides a) a simple way for engineers to evaluate standard library proposal implementations, b) a high quality template for standard library authors to share their implementations, and c) a modern platform for the wider C++ community to discuss standard proposals.

What our employees are saying.

img1

“Being an engineer at Adobe means resolving challenging but fun problems every day, collaborating with the most talented engineers and scientists, and keeping learning and growing throughout my career. My favorite thing about Adobe is its culture and Adobe For All vision. It makes me feel included and supported at work.”

Di Pu Senior Machine Learning Engineer
Soumya Lakshmi

“The work I do at Adobe is innovative, collaborative, impactful, and rewarding.  After three years and two roles, the opportunities are limitless and I love the impact and the magic we create for our Photoshop users.”


​​​​​​​

Soumya Lakshmi Senior Engineering Manager, Photoshop
Media player