Software Engineer
Siemens
Canton de Meudon, France
4 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
EnglishJob location
Canton de Meudon, France
Tech stack
Data analysis
Boolean Algebra
C++
Code Review
Data Structures
Software Debugging
Distributed Systems
Electronic Design Automation
Field-Programmable Gate Array (FPGA)
Graph Theory
Python
OpenMP
Software Engineering
Multithreading
Scripting (Bash/Python/Go/Ruby)
Application Specific Integrated Circuits
Concurrency
Optimization Algorithms
Job description
- Design and develop robust, scalable, and efficient C++ software tools for our Electronic Design Automation (EDA) solutions.
- Create and optimize advanced algorithms, with a strong emphasis on graph optimization techniques, to significantly improve the Quality of Results (QoR) and runtime of our products, ensuring cohesive and efficient data analysis across all platforms.
- Implement solutions that leverage concurrency and parallelism to improve performance, scalability, and efficiency across various platforms.
- Solve complex technical challenges and find good general solutions that improve the overall software flow in terms of QoR and run time.
- Participate actively in code reviews, testing, and debugging processes to ensure the delivery of high-quality, reliable software.
- Contribute to the continuous improvement of our software engineering principles, practices, and development processes.
Requirements
Do you have experience in Scripting?, Do you have a Bachelor's degree?, * Bachelor, MS, or PhD or equivalent experience in EE, CE, CS or related areas
- Experience specifically focused on the design, development, and deployment of optimization algorithms within the EDA industry, research, or similar technological contexts.
- Expert proficiency in C++ programming and a strong understanding of modern C++ features.
- Solid understanding of data structures, algorithms, and graph theory.
- Demonstrated experience with concurrency and parallelism concepts and implementations (e.g., multi-threading, distributed computing, OpenMP, MPI, TBB).
- Good understanding of Software Engineering principles and practices, including proficiency in setting up and maintaining development processes.
- Proficiency with scripting languages, particularly Python.
- A strategic and competitive attitude, focused on achieving success and outperforming in the marketplace through ethical and innovative approaches.
- Excellent problem-solving skills, with a eye for detail and a commitment to high-quality results.
- Good communication and interpersonal skills, with the ability to articulate complex technical concepts clearly.
Preferred Skills:
- Experience with or exposure to ASIC/FPGA design conception tools (e.g., synthesis, place & route, verification, simulation).
- Understanding of digital logic design principles.
Benefits & conditions
We offer a comprehensive reward package which includes a competitive basic salary, bonus scheme, generous holiday allowance, pension, and private healthcare.