Track This Job
Add this job to your tracking list to:
- Monitor application status and updates
- Change status (Applied, Interview, Offer, etc.)
- Add personal notes and comments
- Set reminders for follow-ups
- Track your entire application journey
Save This Job
Add this job to your saved collection to:
- Access easily from your saved jobs dashboard
- Review job details later without searching again
- Compare with other saved opportunities
- Keep a collection of interesting positions
- Receive notifications about saved jobs before they expire
AI-Powered Job Summary
Get a concise overview of key job requirements, responsibilities, and qualifications in seconds.
Pro Tip: Use this feature to quickly decide if a job matches your skills before reading the full description.
Overview:
As a C++ Software Engineer, you will be solving complex software challenges that are the equivalent of the race cars of the software application world. We are looking for engineers who are proficient in leveraging languages such as C, C++, and Rust to produce solutions with absolute precision, speed, and control. If you are an engineer who enjoys continuously pushing boundaries with bright engineering minds to create world-class solutions, then this is a truly unique opportunity for a talented software professional to make a significant impact, evolve with a diverse team that thrives on continuous learning, and help us define what's next in EDA."
The Ideal Candidate Will Possess:
- Deep Software Proficiency: Strong command of modern C, C++, and Rust, including their respective ecosystems. A sharp focus on performance optimization, robust memory management, and advanced concurrency across these languages is essential.
- Problem Solver & Innovator: A natural drive to dissect complex technical challenges, translating them into elegant, efficient, and scalable software solutions. You bring clarity to ambiguity and seek optimal, pragmatic approaches.
- Agile & Adaptable Mindset: Thrives in a dynamic, fast-paced environment, embracing evolving requirements, demonstrating a proactive 'can-do' attitude, and readily contributing across all phases of the software development lifecycle.
- Strategic & Influential Communicator: Ability to articulate complex technical concepts clearly and persuasively to diverse audiences, from peers to product managers and executive leadership. You can form, articulate, and support opinions based on research and proof-of-concepts, driving consensus and change.
- Collaborative Team Player: Excels in an Agile setting, working seamlessly with cross-functional teams and actively fostering a positive, inclusive team dynamic.
- Automation Advocate: A strong proponent of automation across development, testing, and deployment processes to enhance efficiency and reliability.
- Software Development: Design, develop, and implement critical, production-ready components in C, C++, and Rust for next-generation EDA applications, ensuring exceptional performance, reliability, and scalability.
- Performance & Concurrency Optimization: Drive the optimization of code across multi-threaded environments, distributed systems, and low-latency operations, vital for High-Performance Computing (HPC) workloads.
- Architectural Contribution: Contribute significantly to the architectural design of robust, maintainable, and extensible software solutions, with a keen eye on distributed system architecture, network topology, and communication patterns.
- Distributed Systems Integration: Collaborate closely with architects and product engineers to seamlessly integrate applications within complex distributed system landscapes, utilizing advanced networking protocols and inter-process communication for efficient data exchange.
- Quality & Best Practices Champion: Advocate for and implement best practices in software development, including rigorous code reviews, comprehensive unit and integration testing, and streamlined CI/CD pipelines.
- Advanced Troubleshooting: Diagnose and resolve intricate technical challenges related to performance, scalability, and stability within distributed environments, including complex network and protocol interactions.
- Collaboration & Knowledge Sharing: Actively collaborate with and share technical knowledge among team members, fostering a culture of continuous learning. Partner with product management and engineering teams to translate requirements into innovative technical designs and deliver impactful features.
- Education: Bachelor's or higher degree in Computer Science, Engineering, Technology, or a closely related field.
- Strong C/C++: Proven experience in software design and development across C and C++, with a focus on high-performance, scalable, and distributed systems.
- Core CS Fundamentals: Strong understanding of data structures, algorithms, and object-oriented design principles.
- Distributed Systems & Networking: Solid experience with distributed systems and inter-process communication paradigms (e.g., gRPC, MPI, message queues). Strong understanding of networking fundamentals (TCP/IP, UDP, sockets), various communication protocols (e.g., HTTP/S, gRPC, custom binary protocols), and network programming/debugging tools.
- Development Environment: Proficiency in a Linux development environment, including scripting (e.g., Bash, Python) for automation and tooling, and expert use of version control systems, particularly Git.
- Software Quality: Strong understanding of software testing methodologies and hands-on experience with unit/integration testing frameworks.
- Soft Skills: Strong analytical and problem-solving abilities, fluent in English with excellent verbal and written communication skills, self-driven, and detail oriented.
- Experience with containerization technologies (e.g., Docker) and orchestration.
- Knowledge of High-Performance Computing (HPC) concepts and parallel computing.
- Familiarity with EDA domain concepts or chip design workflows.
A collection of over 377,000 minds building the future, one day at a time in over 200 countries. We're dedicated to equality, and we welcome applications that reflect the diversity of the communities we work in. All employment decisions at Siemens are based on qualifications, merit, and business need. Bring your curiosity and creativity and help us shape tomorrow!
We offer a comprehensive reward package which includes a competitive basic salary, bonus scheme, generous holiday allowance, pension, and private healthcare.
Transform the everyday
Key Skills
Ranked by relevanceReady to apply?
Join Siemens EDA (Siemens Digital Industries Software) and take your career to the next level!
Application takes less than 5 minutes

