Company Overview
Siemens EDA is a global technology leader in Electronic Design Automation software. Our software tools enable companies around the world to develop highly innovative electronic products faster and more cost-effectively. Our customers use our tools to push the boundaries of technology and physics to deliver better products in the increasingly complex world of chip, board, and system design.
Responsibilities
- Design, develop, and implement critical, production-ready components in C, C++, and Rust for next-generation EDA applications, ensuring exceptional performance, reliability, and scalability.
- Drive the optimization of code across multi-threaded environments, distributed systems, and low-latency operations, vital for High-Performance Computing (HPC) workloads.
- 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.
- 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.
- Advocate for and implement best practices in software development, including rigorous code reviews, comprehensive unit and integration testing, and streamlined CI/CD pipelines.
- Diagnose and resolve intricate technical challenges related to performance, scalability, and stability within distributed environments, including complex network and protocol interactions.
- 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.
Requirements
- Proven experience in software design and development across C and C++, with a focus on high-performance, scalable, and distributed systems.
- Strong understanding of data structures, algorithms, and object-oriented design principles.
- 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.
- 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.
- Strong understanding of software testing methodologies and hands-on experience with unit/integration testing frameworks.
- Strong analytical and problem-solving abilities, fluent in English with excellent verbal and written communication skills, self-driven, and detail oriented.
Benefits
- Competitive basic salary
- Bonus scheme
- Generous holiday allowance
- Pension
- Private healthcare
Required Skills
Nice-to-Have Skills
- Docker
- High-Performance Computing (HPC)
- Electronic Design Automation (EDA)
Remote Type
hybrid
Experience Level
senior
Job Type
vollzeit
Salary
- salary_min: 85000
- salary_max: 110000
- salary_is_estimated: true
Languages