Computer Scientist - II (C++)
- Location
- Noida, India
- Employment
- Full Time
- Work model
- On-Site
- Level
- Mid
- H-1B history
- 221 approvals (FY2023)
- Posted
About this role
The Opportunity
Adobe builds products that power millions of customer experiences worldwide. Behind these products are sophisticated software systems operating at scale, where efficiency, dependability, safety, and engineering excellence are fundamental requirements. We are looking for a Computer Scientist-II with deep C++ expertise who enjoys solving complex technical problems and taking ownership of significant areas of the product. You will develop architecture, build high-performance software, make critical technical decisions, and influence solutions that span modules and groups. We value engineers who are dedicated and proactive. They challenge assumptions, solve root problems, make practical tradeoffs, and take responsibility for improving the systems they own. They focus on making these systems better, more reliable, and easier to evolve.
What You'll Do
Take responsibility for and develop 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. Drive technical direction for complex problems — evaluate alternatives, make pragmatic tradeoffs, and influence architecture decisions across components and teams. 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 little supervision. 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 guidelines. Build for operational excellence with strong focus on performance, reliability, security, observability, maintainability, and efficient resource utilization. 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 speed up development and problem solving, improve engineering workflows, and increase team efficiency. What You Need to Succeed B.Tech/M.Tech in Computer Science or a related field, or equivalent practical experience. 7+ 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 managing system resources. 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, bringing to bear tools such as Claude, Codex, or Copilot to accelerate development, improve problem solving, and enhance engineering efficiency. Strong technical judgment and problem-solving ability , with the ability to navigate ambiguity and influence technical decisions across