Open Positions
 BOSTON, MA / REMOTE

C++ Solver Developer

About

FlexCompute (https://www.flexcompute.com) is an MIT spin-off that is becoming the computing powerhouse for next-generation R&D. We develop technology to solve massive-scale partial differential equations, which are being used to design some of the coolest products in the world including flying taxis and quantum circuits. The computing power is provided through web-based applications and Python API using a SaaS business model.

At FlexCompute, you will work with world-class engineers and scientists. You will have the opportunity to use our technology to shape how cutting-edge products are being designed by some of the world’s most innovative companies. The pursuit of excellence drives technology and product development. The environment is friendly, supportive, and collaborative, with a particular emphasis on the individual’s career growth through learning and executing advanced technologies.

Flexcompute offers a highly competitive salary, equity, 100% coverage of individual health insurance, and 401k contribution.

Location

Boston, MA / Remote

Job Summary

Flexcompute is seeking an experienced software developer to contribute to modern electromagnetics simulation software designed for multi-node CPUs and GPUs. The successful candidate will have a critical role in designing and implementing cutting-edge algorithms with an emphasis on speed, robustness, accuracy, and scalability. This position offers a unique opportunity to explore state-of-the-art high-performance computing hardware and deploy scalable computational algorithms in a production environment. The candidate will gain experience working with highly experienced professionals and be an integral part of the product development, release, maintenance, and support phases.

What You Will Do

  • Independently implement, test, and document new software features.
  • Contribute to a clean and maintainable API for various functionalities
  • Contribute to general source code maintenance and other relevant software development activities (bug fixes, support, etc)
  • Collaborate with teams developing the user interface and scientific visualization tools/technologies
  • Collaborate with Product Management, QA, and Documentation teams to accomplish product milestones in a timely manner
  • Design efficient and scalable algorithms
  • Follow sound software engineering practices. The code we write today will underpin our platform simulation products for years to come – it needs to be maintainable, extensible, and robust.
  • Profile and optimize feature implementation to improve speed and scalability on CPUs/GPUs
  • Make user experience a priority. We strive to make the complexity inherent in fluid simulations manageable by way of intuitive controls and straightforward workflows.
  • Deliver robust and high-performance simulations for industrial applications that involve the management of large amounts of data.

What You Will Need

Basics

  • C++ for scientific computing and Python (or similar) for scripting
  • Strong analytical and problem-solving skills which include designing efficient algorithms for large amounts of data
  • Excellent coding practice which includes: unit tests, integration tests, version control (git), code review
  • Proven experience in and contributions to large codebases.
  • Masters or PhD in computer engineering or a related discipline with 0-3 years of industry experience
  • Computational electromagnetism experience is not required but familiarity with Maxwell’s equations is a plus

Preferred

  • Industry experience with the implementation and testing of new features in commercial software
  • Ability to work collaboratively in a medium-sized distributed development team
  • Track record developing scalable software using MPI, OpenMP, or CUDA
  • Familiarity with some electromagnetic simulation approaches (FDTD, FDFD, FEM, …)

How You Will Be Successful

  • Envision the Future
  • Communicate Honestly and Broadly
  • Seek Technology and Business “Firsts”
  • Embrace Diversity and Take Risks

We welcome you to apply even if you don’t match every requirement posted for this role.  No one candidate will be a 100% perfect match to our description, so if you are passionate about working on the next evolution in simulation software and have a similar experience to what we are looking for, we encourage you to apply.  Diverse backgrounds and experiences promote innovation, and our goal is to build a team that encompasses a variety of backgrounds, experiences, and skills.

contact: hr@flexcompute.com

If you’re interested in joining Flexcompute, even if your skills and background don’t fit an open position exactly, please send your application.