Employment Type : Full-Time
Essential Duties and Responsibilities
Software design and development for scientific data processing
Research on advanced methods to boost computational performance for scientific data processing
Provide recommendations on software structure and algorithm improvement of existing software
Ensure software development is performed in accordance with defined specifications and guidelines
Oversee and ensure software algorithms adhere to the defined software coding standards
Perform code review and build unit test for new codes
Improves operations by conducting systems analysis; recommending changes in software development guidelines,
standards and procedures
Perform system administrative tasks of maintaining multiple LINUX OS servers and setting up server as needed
Develops software solutions by studying information needs; studying systems flow, data usage, and work processes;
investigating problem areas; following the software development lifecycle
Support operational data processing system and software maintenance
Deliver documentations on software design, architecture and testing as needed
Supervisory Responsibilities
This position will not supervise direct reports.
Education and/or Work Experience Requirements
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required.
Education and/or Experience
Master’s Degree (or above) in Software Engineering or Computer Science
At least 5 years of experience in software design and development, and system analysis
Experience creating and maintaining IT architectures and databases on Linux OS
Experience working with binary data decoding and encoding
Experience implementing multi-threading concepts
Knowledge and experience in software development life cycle, unit testing, continuous integration (Jenkins/GIT), and
problem solving
Experience using software version control, such as SVN, TFS or/and GIT
Strong collaborator and experienced working in a multi-disciplinary team
Strong analytical and troubleshooting skills
Quick learner and self-motivated
Experience working in a team environment using a version control system
Experience in hands-on development and troubleshooting on embedded targets