C++ Developer
Who We Are
What We Offer
Job Summary
We are seeking an experienced Senior Software Engineer with strong expertise in C++ development to design, develop, and maintain high-performance software applications. The ideal candidate should have a solid foundation in software engineering principles, object-oriented design, multithreaded programming, and system-level development. The role requires close collaboration with cross-functional teams to deliver scalable, reliable, and maintainable software solutions.
Key Responsibilities
- Design, develop, test, and maintain complex, high-quality software for semiconductor CAD applications using modern C++.
- Analyze business and system requirements and translate them into scalable software architecture, detailed design specifications, and implementation plans.
•
Develop and optimize algorithms for layout data processing, geometry operations on large hierarchical design databases.
Develop efficient, reusable, and reliable code following established coding standards and best practices.
- Own software features throughout the development lifecycle - design, implementation, unit testing, integration testing, deployment, and post-release support.
- Troubleshoot, perform root-cause analysis, and resolve complex software defects and performance bottlenecks in data- and compute-intensive workflows.
- Define and execute software verification and validation strategies, including test plans and automated regression testing for CAD workflows.
- Lead and participate in code reviews, design reviews, and architectural discussions to ensure software quality, reliability, and scalability.
•
Lead small to medium-sized technical projects and drive deliverables to completion with minimal supervision.
- Mentor junior engineers and provide technical guidance on software design, development practices, and problem-solving methodologies.
- Collaborate with cross-functional teams including product management, QA, and customer support, and communicate effectively with internal and external customers.
- Contribute to continuous improvement initiatives by identifying opportunities for productivity enhancements and software modernization.
Required Skills
Technical Skills
- Strong proficiency in modern C++ (C++14/17/20 preferred) with 8-15 years of software development experience.
•
Thorough understanding of Object-Oriented Programming (OOP) concepts and design patterns.
Strong knowledge of STL, templates, smart pointers, memory management, and modern C++ design practices.
Strong understanding of data structures, algorithms, and computational geometry.
Proven experience developing multi-threaded and concurrent applications.
Solid understanding of software architecture principles and system integration.
Understanding of Operating Systems (Windows/Linux) and performance-critical, memory-efficient application development.
Experience with source control systems such as Git.
Preferred Skills
Experience with microservices architecture.
Experience with gRPC and REST APIs.
Experience with Docker and Kubernetes.
Experience with CI/CD pipelines and automated testing frameworks.
Desired Candidate Profile
Strong analytical and problem-solving skills.
Excellent verbal and written communication skills.
Demonstrated leadership skills, with experience mentoring engineers and coordinating cross-functional teams.
Ability to work effectively in a collaborative, Agile development environment.
Self-motivated and capable of driving tasks to completion with minimal supervision.
Strong ownership, accountability, and customer focus.
Passion for technology, innovation, and continuous learning.
Time Type
Employee Type
Travel
Relocation Eligible
Not included in the source posting: what you'll do.
Skills
Who can apply
The employer didn't state any visa, work authorization, citizenship or clearance requirements in this posting. Confirm with the employer before applying.
Read automatically from the employer's posting text. Always confirm with the employer — requirements can change after a job is published.