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
English

Job 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.

Apply for this position