Senior Computer Scientist - C++
Adobe · Noida
Collected role description
Role overview
Senior Computer Scientist - C++ at Adobe
We are looking for a Senior Computer Scientist with deep C++ expertise who enjoys solving complex technical problems and taking ownership of significant areas of the product.
Responsibilities
- You will shape architecture, build high-performance software, make critical technical decisions, and influence solutions that span components and teams.
- Drive technical direction for complex problems — evaluate alternatives, make pragmatic tradeoffs, and influence architecture decisions across components and teams.
- You will be successful when you:Own and evolve significant technical areas with minimal direction and strong technical judgment.
- Deliver solutions that materially improve performance, scalability, reliability, quality, or developer productivity.
Employment details
- Location: Noida [Uttar Pradesh] [India]
About the employer
- Adobe’s industry-leading offerings including Adobe Acrobat Studio, Adobe Express, Adobe Firefly, Creative Cloud, Adobe Experience Platform, Adobe Experience Manager, and GenStudio enable people and businesses to turn ideas into impact, powered by AI and driven by human ingenuity.
Additional role details
- What You'll DoOwn and evolve significant technical areas end-to-end — from understanding ambiguous problems and defining the right solution through architecture, implementation, production validation, and long-term evolution.
- Design and build high-performance C++ systems, making thoughtful decisions around architecture, concurrency, memory management, resource utilization, and scalability.
- Solve problems at the root — identify systemic causes rather than treating symptoms, and drive durable solutions that reduce recurring issues and technical debt.
- Own outcomes, not just tasks — proactively identify gaps, risks, and opportunities and drive them to closure with minimal direction.
- Solve complex problems across boundaries, collaborating with engineers, architects, product managers, and other teams to deliver cohesive solutions.
- Raise the engineering bar through architecture and code reviews, performance optimization, testing, and engineering best practices.
- Be a force multiplier — mentor engineers, share technical expertise, and establish patterns and practices that improve the broader engineering organization.
- Leverage AI-assisted engineering to accelerate development and problem solving, improve engineering workflows, and increase team productivity.
- What You Need to SucceedB.Tech/M.Tech in Computer Science or a related field, or equivalent practical experience. 10+ years of hands-on software engineering experience, with a strong track record of owning and delivering complex technical solutions.
- Deep expertise in C++, including modern C++, memory management, concurrency, multithreading, STL, and performance optimization.
- Strong foundation in data structures, algorithms, object-oriented design, operating systems, and computer science fundamentals.
- Strong understanding of systems design, distributed systems, concurrency, scalability, and performance engineering.
- Experience designing and building large-scale, high-performance software systems.
- Experience building or operating Distributed systems at scale, with an understanding of multi-tenancy, scaling, reliability, backward compatibility, security, observability, and capacity planning.
- Strong experience with performance analysis and optimization, including profiling CPU, memory, I/O, latency, and resource utilization.
- Experience with cloud platforms, distributed infrastructure, and modern software development practices.
- Strong proficiency in AI-assisted engineering, leveraging tools such as Claude, Codex, or Copilot to accelerate development, improve problem solving, and enhance engineering productivity.
- Strong technical judgment and problem-solving ability, with the ability to navigate ambiguity and influence technical decisions across teams.
- Turn ambiguous, complex problems into clear technical direction and executable solutions.
- Make architecture decisions that balance performance, scalability, reliability, maintainability, and long-term evolution.
- Solve systemic problems at their root and eliminate recurring sources of complexity, performance issues, and operational risk.
- Influence technical direction across teams and organizational boundaries through technical depth and credibility.
- Raise the technical bar through mentorship, design leadership, and engineering practices that benefit the broader organization.
Collected minimum qualification
Tech/M.Tech in Computer Science or a related field, or equivalent practical experience.
Collected experience requirement
10+ years