RESPONSIBILITIES
Drive componentization and modularization efforts within the existing equation solver code bases.
Design and evolve APIs to improve usability and integration.
Collaborate with domain experts to translate technical requirements into design specs.
Handle packaging, build systems and other related DevOps tasks to streamline sharing and deployment.
Draft documentation.
Help coordinate project timelines and communicate across multiple development teams.
Investigate problems discovered by QA or product support and develop solutions.
Works under the general supervision of a development manager.
MINIMUM QUALIFICATIONS
BS in Computer Science, Software Engineering, or related field with 2 years’ experience or Master's Degree
Strong experience with software design, modularization and API development.
Familiarity with DevOps tooling and build/package management (e.g., CMake, Azure DevOps, Conan, Docker, CI/CD pipelines).
Excellent written and verbal communication skills (in English).
Strong understanding of data structures and data handling algorithms.
Excellent analytical and problem-solving skills.
Driven and willing to learn.
Strong interpersonal skills.
Ability to learn quickly and to collaborate with others in a geographically distributed team.
PREFERRED QUALIFICATIONS
Master's Degree or PhD in Computer Science, Software Engineering, or related field.
Experience delivering high-quality products in a large-scale commercial software development environment.
Exposure to numerical computing, linear algebra, and HPC environments.
Familiarity with solver libraries (e.g., PETSc, Trilinos, Pardiso, MUMPS).
Passion for crafting robust and efficient code.
Understanding of customer requirements and tools used in this domain.
Knowledge of or experience with CAE.
Knowledge of or experience with Linux operating systems.
Ability to work independently and manage one's time.
Proficiency in Fortran and C/C++.
Any Graduate