image

Software Engineer

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);