At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
MSC Software develops CAE software applications for high-end engineering simulation and engineering data management. MSC is looking for an experienced computer scientist who is familiar with profound Web programming and backend architecture experience to design and implement next generation simulation data management software architecture.
EDUCATION (state degree and field)
BTech or MTech in Computer Science, Engineering, or related fields.
WORK EXPERIENCE
5+ years of experience implementing commercial software.
KNOWLEDGE, SKILLS AND ABILITIES
Must Have:
- Strong proficiency in Java, JavaScript, Typescript
- Experience in Angular 18+, Angular Material UI, HTML, CSS, SCSS, React
- Deep knowledge of multi-layered software architecture incl. micro-service architecture
- Experienced in working on complex object models
- Knowledge of relational databases and SQL
- Knowledge of data persistence and processing on heterogeneous cloud environments as well as in mixed hybrid space
- Sound knowledge of Unix/Linux environments
- Experience in Git, JIRA, Azure DevOps
- Knowledge of scripting languages: Shell, Python etc.
- Knowledge of multi-threading and synchronization
Added Advantage:
- Knowledge of containerization technologies e.g. Docker
- Knowledge in large, high-performance storage
- Authentication technologies such as OAuth, SSO, OIDC
- Web app testing (jest, playwright)
- Basic knowledge of HPC environments and queueing systems
- An appreciation for physics or engineering
- Familiar with full-stack web architecture
- Familiarity with automated testing patterns, including Web UI
- Knowledge of coding guidelines and compliance
- Good verbal and written communication skills
DUTIES/RESPONSIBILITIES
- Develop software in CAE and SPDM (Simulation and Process Data Management) domain following set coding standards and in accordance with web applicable software development methodology and release processes
- Implement automated test cases for delivered functionality
- Provide technical solutions for the development, design, and systems integration
- Utilize software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- Provide Technical inputs in areas of estimation, feasibility, technology, automation, and project implementation