Key Duties and Responsibilities
- Performs development activities, including the design, implementation, maintenance, testing and documentation of software modules and sub-systems
- Learns and employs best practices
- Performs bug verification, release testing and beta support for assigned products. Research problems discovered by QA or product support and develops solutions
- Works under the close supervision of a development manager
Minimum Education/Certification Requirements and Experience
- MS in Computer Science, Applied Mathematics, Engineering or a Science discipline, with 5 years of experience
- Working experience in technical software development via academic, research or industry experience
- Proficiency in several programming languages such as Python, JavaScript, C++, C#, Java, as well as back-end frameworks (Node.js, Django, etc.).
- Understanding of how to develop, use, and integrate with APIs using protocols such as REST, gRPC, etc.
- Problem solving oriented
Preferred Qualifications and Skills
- Familiar with Open-Source practices and projects
- Knowledge of front-end technologies (HTML5, CSS3, JavaScript, jQuery, etc.) and frameworks (React.js, Angular, Vue.js etc.),
- Experience with database technologies, such as SQL, NoSQL, MySQL, Oracle, etc.
- Experience with containers, monitoring, logging, etc.
- Knowledge of secure coding practices to protect the application from threats and vulnerabilities.
- Basic knowledge with Finite Element simulation
- Knowledge with control version tool such as git
- Good communication and interpersonal skills
- Ability to learn quickly and to collaborate with others in a geographically distributed team.