Senior Software Engineer, MEMS
Role details
Job location
Tech stack
Job description
SiTime is seeking a Senior Software Engineer with the focus on Computational Geometry to join our team in developing and refining our in-house MEMS simulation and design software. The team comprises software developers, computational experts, and physicists with the primary responsibility to develop and maintain the MEMS simulation and design environment, which involves orchestrating complex simulations across multiple physical domains, implementing advanced mathematical algorithms, analyzing trade-offs between key characteristics, and ensuring design for manufacturability. As the Senior Software Engineer and the Computational Geometry Expert, you will work on the automation of geometric operations throughout the design flow, automated preparation of geometry to meshing and simulations, and complex shape optimization problems. You will collaborate with MEMS Design engineers as your primary internal customers to identify missing functionalities and develop tools addressing the new design challenges. It is not necessary to meet all job requirements to be considered a qualified candidate for this position. Responsibilities:
- Develop architecture for the geometry-handling modules.
- Implementation of the geometry-handling and related modules based on third-party libraries (Open CASCADE).
- Participate in system design and definition of the technical stack, support integration of the developed modules into the design platform.
- Lead investigation and implementation of shape optimization algorithms with respect to multiple design constraints and complex design targets.
- Communicate with the users to collect feedback, identify the missing functionality and update the development roadmap.
- Deliver high-quality code following the team's development guidelines (code reviews, test coverage, critical documentation).
Requirements
Do you have experience in Software development?, Do you have a Master's degree?, * Master's degree in Math, Applied Math, Computer Science, Computational Physics or another scientific or engineering discipline.
- Experience of coding for Computational Geometry (3+ years). Excellent knowledge of relevant Mathematics: Analytic Geometry, Linear Algebra, Bezier curves & NURBS.
- Proficiency in C++ (5+ years); knowledge of Java and Python is a strong advantage.
- Experience with shape optimization algorithms and geometry parametrization is a strong advantage.
- Knowledge of Open CASCADE or similar libraries is a strong advantage
- Understanding software design patterns.
- Experience with modern software development practices: version control, issue trackers, unit tests, code reviews, etc.
- Strong organizational and interpersonal skills, clear communication, responsibility for the overall success of the project.
- Technical curiosity.
- Ability to work well with others in a collaborative, fast-paced team environment.
- English fluency in written and spoken communication.