Senior Software Developer in C++
Role details
Job location
Tech stack
Job description
We are seeking a Senior Software Developer to join our electro-magnetic simulation team in DES. In this role, you will be a key technical contributor advancing our state-of-the-art EM simulators. You will shape the core EM simulation algorithms and ensure that our software solutions meet the performance, scalability, and reliability demands of cutting-edge RF, micro- and millimeter-wave designers. As a senior software developer, you will work closely with cross-functional stakeholders - including Marketing, R&D, Technical Support, and Quality Assurance - to capture requirements and deliver whole-product solutions. You will also investigate emerging technologies, lead design reviews, validate solutions with customer feedback, and foster best practices in software engineering within our Agile development framework. Responsibilities:
- Define and develop the algorithms of advanced EM simulation software with a focus on accuracy, scalability, reliability, and high performance.
- Evaluate and integrate new technologies to advance the simulator's capabilities.
- Troubleshoot and resolve complex algorithmic and performance issues.
- Collaborate across functions (Marketing, R&D, QA, Technical Support) to align the simulator capabilities with customer workflows and product strategy.
- Mentor and guide on software design and coding best practices.
- Promote best practices in Agile software development (test-driven development, up-front design, code review, continuous integration).
- Contribute to technical documentation.
Requirements
Do you have experience in Software design?, Do you have a Master's degree?, * Master's or PhD in Electrical Engineering, Computer Science, Math, or a related technical field.
- Strong background on computational electromagnetics or numerical analysis.
- Experience developing and maintaining a field solver.
- Proven experience designing and evolving complex computational algorithms for large-scale, high-performance simulations.
- Expert-level proficiency in C++.
- Strong software design skills.
- Excellent problem-solving and analytical skills.
- Strong communication, leadership, and ability to collaborate across multi-site, multi-cultural teams.
Desired Qualifications
- Experience with Rust and Python.
- Familiarity with electronic design and electronic design automation (EDA) tools.
- Background in high-performance computing and algorithm optimization.
- Hands-on experience with DevOps practices: Git, CI/CD pipelines (e.g., Jenkins), and modern build systems.