Key Duties and Responsibilities
- Participates in planning, architecture, and research
- Performs complex development activities that may require extensive analysis in areas including user experience, software design and solver research
- Employs best practices and helps to maintain them through technical reviews and mentoring
- Performs complex bug verification, release testing and beta support for assigned products.
- Researches problems discovered by QA or product support and develops solutions
- Researches and understands the marketing requirements for a product, including target environment, performance criteria and competitive issues. May work with strategic customers or proxies to assess needs and develop solutions
- Works independently with minimal supervision and may take on some planning and mentoring responsibilities
Minimum Education/Certification Requirements and Experience
- BS in Engineering, Computer Science, or related field with 5 years’ experience, MS with 3 years’ experience, or PhD with 1 year experience
- Relevant industry experience in software development
- Good knowledge and experience programing with Python and Javascript/Typescript
- Experience in any of the following: Computer-Aided Engineering (CAE), Finite Element Analysis (FEA), Computational Fluid Dynamics (CFD), CAD modeling
- Passion for understanding complex problems and crafting innovative technical solutions
- An inquisitive and rigorous mindset
Preferred Qualifications and Skills
- Understanding of graphical user interfaces and visualization
- Experience developing web applications with frameworks such as Angular or React
- Experience with cloud/distributed computing technologies like micro-service architectures, RPC frameworks and APIs (gRPC, REST, WebSocket)
- Familiarity with mechanical simulations and material modeling
- Good communication and interpersonal skills
- Ability to learn quickly and to collaborate with others in a geographically distributed team