Senior Software Engineer, Instrument, C#
Senior Software Engineer, Instrument, C#
Job Summary:
We’re in search of a talented full stack software engineer that has extensive experience developing client software for Windows. The right candidate has built desktop applications, windows services, consumed external / internal APIs, interacted with varying hardware over a multitude of interfaces. Additionally, the right person will be ready to support their own development, automate all their testing and package / release their own software.
Responsibilities:
- Planning, designing and developing on-instrument software for sequencing, genomics analysis, bioinformatics pipelines and lab automation.
- Collaborating remotely in a small growing team of fast paced solution oriented software, firmware and hardware engineers from various specialties.
- Automating, managing and supporting development environments in accordance with industry best practices and security guidelines.
- Deploying and debugging software initiatives as needed in accordance with best practices throughout the development lifecycle.
- Providing software documentation and diagrams as required.
- Employing problem-solving skills to troubleshoot and diagnose issues as needed.
- Using your extensive knowledge of APIs to design services and integrate them with existing data providers in polyglot protocols and languages.
- Take ownership of assignments, ensuring quality with complete automation testing.
- Stay current with industry trends, making recommendations as needed to help the company excel.
Instrument Software Engineer Requirements:
- Bachelor’s Degree in Computer Science, Bioinformatics, Engineering or equivalent experience.
- Five years experience in developing desktop software using C# .Net.
- Experience developing software using C, C++ and python a huge plus.
- Ability to automate testing using .Net testing frameworks.
- Build functional UI using .Net / Windows technologies (WinUI, WPF, WinForms).
- Integrate with drivers, firmware and or API (COM, Rest, gRPC).
- Ability to create Windows Services and/or CLI to perform backend logic and expose via API.
- Strong awareness of networking and internet protocols, including TCP/IP, DNS, SMTP, HTTP and distributed networks.
- Extensive experience with open-source technology, software development and system engineering.
- Excellent communication and organizational skills, and the ability to stay focused on completing tasks and meeting goals within a busy workspace.
- Skilled at working in tandem with a team of remote engineers, or alone as required.