Job Responsibilities
- Responsible for full life cycle of scientific computing software development, including requirements definition, architecture design, algorithm implementation, and continual improvements in performance, scalability and stability;
- Writes efficient & maintainable codes and conducts code testing & performance optimization to ensure the accuracy & efficiency of scientific computing algorithms;
- Implements concurrent programming technologies to optimize the parallel execution of computing tasks;
- Cooperates with domain experts to understand user needs and provides customized scientific computing solutions;
- Researches and understands latest scientific computing technologies from industry & academia for software development;
- Works closely with teammates on software implementation & integration, project development and documentation;
Job Requirements
- Postgraduate degree in computer science, information science & engineering, mathematics, or relevant disciplines;
- More than 2 years of experience in software development with independent completion capability;
- Proficient in mainstream programming languages (such as Python, Java, C++) coding & debugging, data structures, algorithms and numerical calculations;
- Priority will be given to those who have experience in scientific computing and concurrent models (such as multi-threading, multi-process);