The Senior R&D Engineer is responsible for the development of software products and supporting systems. In this role, the Senior R&D Engineer will use advanced technical and problem-solving skills to help the team tackle complex issues, satisfy customer requirements, and accomplish development objectives.
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
- May be responsible for managing interns or co-ops but typically does not have direct reports
MINIMUM QUALIFICATIONS
- BS in computer science or related field with 5 years’ experience, MS with 3 years’ experience, or PhD with 1 year experience
- Commercial experience with software development that requires design and implementations in C++ and/or other object-oriented languages.
PREFERRED QUALIFICATIONS
- Strong C++ programming skills
- HPC experience; shared and distributed memory development
- Knowledge of various IPC methods (sockets, pipes, MPI protocols…)
- Experience with API development
- Familiarity with advanced numerical methods such as FEM
- Experience with both Windows and Linux development environments
- Experience in a large-scale commercial software development environment
- Understanding of customer requirements and tools used in this domain
- Good communication and interpersonal skills
- Ability to work collaboratively in a geographically distributed team