The Cloud Technology organization builds platform and client services that are foundational building blocks for many other Adobe products and services. Areas of focus include: identity, security, cloud storage, e-commerce, workflow management, synchronization, customer facing web apps, scalability, infrastructure management and search, just to name a few. Our mission is to build highly scalable, highly available and highly resilient services that fulfill the business objectives of Adobe
The Creative Intelligence Lab within Adobe Research is looking for a research engineer with a specialization in programming languages and performance optimization to work with the domain-specific language Halide (https://halide-lang.org). Join our effort to help product teams throughout the company reap the benefits of Halide for image, video, and audio processing: high performance, cross-platform portability, and code maintainability.
As a research engineer in Adobe Research, you will work closely with scientists and engineers to explore state of the art technologies for productive high-performance programming, helping to integrate new research into Adobe's existing products and growing adoption of best practices in modern signal processing techniques. You will have the opportunity to:
- Collaborate with world-class scientists and engineers, within Adobe Research and across the company.
- Help craft, build, test, and deploy novel image and video processing algorithms.
- Have an impact on shipping applications with millions of users.
- Learn from your peers and grow into new opportunities.
- A passion for making code run fast.
- An interest in using experimental programming languages and novel tools.
- Experience optimizing code for modern CPU and GPU architectures by exploiting SIMD, multi-core parallelism, and the cache hierarchy.
- Demonstrated ability to write efficient, clean, and maintainable C++.
- Demonstrated ability to work well with others on codebases with >100,000 lines of code.
Additional desired qualifications
- Familiarity with the Halide domain-specific language.
- Experience with domain-specific programming languages and compilation.
- Knowledge of mobile computing as well as desktop computing.
- Knowledge of signal processing algorithms for images or video.
- Knowledge of deep learning methods for processing images or video.
- Ability to read assembly and identify potential performance problems.
- Experience with performance profiling tools.
- Experience transferring new research into shipping products.