Our team is responsible for development of PowerCASE - Exa’s simulation setup product. Engineers in a variety of industries use PowerCASE to import and edit geometry, prescribe simulation behavior, and explore/review their model and simulation setup using a 3D graphics interface and other GUI controls. We’re in the process of extending PowerCASE to support a variety of major new simulation capabilities while simultaneously making progress on what will be the next generation PowerCASE.
PowerCASE combines a variety of diverse domains –including fluid dynamics, computational geometry, 3D graphics, and parallel processing. Experience with one or more of these domains is a plus, but first and foremost, we’re looking for software engineers who can lean on domain experts as needed and who are strong software developers. Due to the nature of PowerCASE, we tend to place a particular emphasis on:
- Usability. Fluid simulations can get fairly complex and we strive to make that complexity manageable by way of intuitive controls and straightforward work-flows
- Performance. Our software needs to be efficient enough that even the largest industrial cases can be set up without CPU, memory consumption, or file I/O speeds being a problem.
- Sound software engineering practices. The code we write today will underpin PowerCASE for years to come – it needs to be maintainable, extensible, and robust.
As part of the PowerCASE development team, you’ll work closely with various domain experts (physics, computational geometry, aerodynamics, thermal, aeroacoustics, etc.) to design and build new product features which satisfy customer requirements. You’ll also be involved in various projects associated with development of the next-gen PowerCASE.
This is a small team so you’ll be making significant contributions to PowerCASE from day one and will be expected to take ownership of various portions of the product.
- Implement new PowerCASE features and help maintain/evolve existing functionality
- Produce functional and technical designs which balance customer needs and implementation concerns
- Work with QA to ensure that the software is thoroughly tested
The ideal candidate will possess the following:
- Intellectual curiosity. If you don’t enjoy developing an understanding of new technologies and problem domains, this isn’t the job for you.
- MS in Computer Science or a related discipline, or equivalent practical experience
- Excellent C++ programming skills and familiarity with STL
- Experience designing and developing complex commercial software systems
- Solid grounding in computer science theory
- Experience designing and implementing graphical user interfaces using a high-level toolkit (ideally Qt) on Windows and/or Linux.
- Excellent English written and verbal communication skills
- Solid organizational skills; Able to handle multiple tasks/projects simultaneously
- Strong problem-solving skills
Additional Skills & Experience:
Experience with one or more is a plus:
- Familiarity with commercial CAD and/or meshing packages or related concepts – in particular, parametric, feature-based CAD systems.
- Experience with one or more toolkits for 3D graphics, such as OpenGL or HOOPS
- Familiarity with modern C++ features (e.g. C++11).
- Usability concerns as they apply to user interface design
- Python scripting language
- General physics familiarity and/or previous exposure to fluid dynamics
For immediate consideration, please send your resume to firstname.lastname@example.org with the Job Title: Senior Software Engineer - CASE in the Subject line.
Exa Corporation is an EEO/AA/Veterans/Disability Employer