Senior Software Engineer
RainesDev
Remote,
Job Details
Full-time
Full Job Description
We are seeking an experienced C++ Engineer to drive the development of foundational algorithms that will power the next generation of our client's automated PCB design system. As a Senior or Staff Software Engineer, you will play a pivotal role in architecting the core geometry, physics, and meshing engines that form the backbone of our cutting-edge technology. This is a greenfield opportunity to take ownership of solving highly complex and impactful technical challenges, shaping the future of our innovation roadmap.
You will collaborate with a world-class team of ML/AI researchers and engineers to solve intricate routing problems using your expertise in computational geometry, path planning, and collision detection. Your high-performance C++ implementations will enable dynamic and manipulatable representations of circuit boards, empowering our reinforcement learning agents to explore and optimize these environments effectively.
Requirements
Key Responsibilities
- Algorithm Development: Design and implement high-performance representations of physical circuit boards for exploration and manipulation.
- Problem Solving: Apply advanced algorithms for path planning, collision detection, and geometric optimization to solve challenging PCB routing problems.
- Library Maintenance: Develop and maintain a high-performance geometry library that serves as a core component of our technology stack.
- Collaboration: Partner with the reinforcement learning team to design environments that support agent training and decision-making.
Job Requirements
- Experience:
- 10+ years of experience working with and extending large, high-performance C++ codebases in collaborative environments.
- Demonstrated expertise in computational geometry (e.g., through publications, PhD theses, or industry projects).
- Technical Skills:
- Proficiency in C++ with a focus on high-performance and scalable code.
- Experience with Python for integration with machine learning systems.
- Strong background in designing and optimizing algorithms for meshing, simulation, or geometric computation.
- Education:
- A strong academic foundation, with a B.Sc, M.Sc, or Ph.D in meshing, simulation, physics, robotics, or related fields.
- Passion:
- A deep passion for pushing the boundaries of automated circuit design through advanced software solutions.
Nice-to-Have Qualifications
- Prior experience working at a high-growth startup or tech company.
- Familiarity with reinforcement learning concepts and environments.
- A track record of delivering impactful solutions in fast-paced, collaborative settings.
What We Offer
- The opportunity to work on greenfield projects with significant ownership and impact.
- A collaborative environment with a world-class team of engineers and researchers.
- Competitive salary and equity package.
- Flexible work arrangements and a strong emphasis on innovation.