The Software Developer II is responsible for assisting in the design, development and maintenance of the next generation, multi-physics coupling engine, and its interactions with the end user and other software components in the ANSYS portfolio. This developer can expect to be engaged in all stages of code and capability planning, creation and evolution, and to work closely with other groups as they adopt the coupling infrastructure. Emphasis is on planning and executing work at the iteration (approximately monthly) time scale.
- Collaborate with other development, documentation and testing professionals in planning and developing the user-facing environment and related infrastructure for the core System Coupling engine component.
- Design, develop and extend architecture for a command/query-based system, exposed to Python scripting, and involving aspects such as data model management and validation and User Interface integration.
- Coordinate with and support other product creation teams and customer support representatives involved in leveraging and deploying our coupling component.
- Work efficiently in complex mixed language code base, written in Python and C++, on Windows and Linux
- Collaboratively diagnose and resolve defects related to use of the coupling engine.
- Contribute to the software development lifecycle by planning and completing tasks within the team’s test-driven iterative/incremental, and broader agile practices.
JOB MINIMUM REQUIREMENTS AND QUALIFICATIONS
- Bachelor’s degree in Computer Science, Engineering, Pure Science or Applied Mathematics
- Minimum of 5 years commercial software development experience
- Strong skills and demonstrable experience with contemporary C++ development. Key areas of interest include: OOD, C++11 and beyond, template metaprogramming, Boost, Google RPC.
- Masters degree in noted disciplines with two years software development experience preferred
- Python experience is highly desirable
The following would also be assets to the applicant:
- Test Driven Development
- Agile process experience