Design, develop and test software for scientific UI/UX applications in a multi-disciplined, concurrent development team setting. Participate in product requirement definition and architecture development; implement formal design methods and code inspections for quality assurance.
Professional Qualifications
Education
Bachelor of Science in Computer Science, Computer Engineering, or an engineering discipline with a heavy emphasis on computer science is required.
Experience
Web-based UI/UX Design: Design experience using JavaScript, TypeScript, Node.js or similar, and frameworks like Electron to create intuitive user interfaces that work in any browser and on any operating system. Experience with JSON and MQTT for system interface management.
Data Presentation: Experience presenting scientific data in a web-based application in an intuitive and interactive way.
Must be proficient in JavaScript, TypeScript, HTML5, CSS, Node.js, Vue.js, React or similar and have some experience with Python, C++ or other object-oriented languages.
Experience defining and implementing web APIs.
Familiar with Electron or other similar web app frameworks.
Demonstrated ability to translate abstract logical concepts and ideas into software architecture implementations.
Familiar with git based source control and bug tracking systems.
Must have a strong understanding of cross-browser compatibility and cross-platform development.
General
Solid understanding of software engineering fundamentals and mathematics.
Self starter and motivated. Enjoy challenges. Proven drive to achieve goals.
High insight, curiosity and problem solving ability. High attention to detail.
Good interpersonal and networking skills.
Team player. Enjoys and works well with other people in a team environment.
Effective oral and written communication skills in English.
Dependable, positive attitude and good attendance.
High ethics, integrity, honesty, patience.
Position Responsibilities
Specific:
Design, develop, implement, test, debug, and document software solutions for web-based applications.
Engage as a member of a multi-disciplined, multi-department design and development team.
Participate in product requirement definition through interactions with customers, scientists, and marketing personnel to understand and define features and functions.
Understand the hardware/software interfaces as they apply to the overall architecture.
Implement the software architecture using formal design methods and code inspections for quality assurance.
Integrate and test the software to ensure that the design meets product requirements.
Document software, algorithms, and specifications
Maintain released software; troubleshoot and resolve defects.
General:
Gain a solid understanding of the scientific application/use-case being addressed with the product.
Assist with product development schedules.
Light Work-Exerting up to 20 pounds of force occasionally, and/or up to 10 pounds of force frequently, and/or a negligible amount of force constantly.
Other job related duties as assigned.