
Principal Instrumentation Software Engineer, Windows
- Madison, WI
- Permanent
- Full-time
- Design, develop, test, troubleshoot, and maintain Linux and Windows based software solutions that improve the capabilities of internally developed laboratory instrumentation.
- Assist in the deployment and configuration of software applications in a biotech manufacturing environment.
- Collaborate with cross-functional teams, including scientists, electrical and mechanical engineers, operations managers, and IT staff, to gather requirements and deliver software solutions that meet business needs.
- Conduct software testing and validation to ensure quality, reliability and performance of applications. Adhere to team practices for software development, including version control, coding standards, code review, and documentation.
- Demonstrate creative 'out of the box' thinking to solve difficult problems and champion new technologies to achieve project goals.
- Demonstrate mastery across a wide range of technologies and platforms related to software design and development, programming languages, machine control, data integration, data analysis and visualization tools.
- May mentor/supervise a team of one or more and guide and evaluate the performance of those individuals; is accountable for the effective performance of the team/individuals.
- Keeps executive leadership, peers and staff informed through effective verbal and written communication.
- Understand and adhere to corporate standards regarding applicable Corporate and Divisional Policies, including code of conduct, safety, GxP compliance, data security, and the software development lifecycle.
- Bachelor's Degree with 8 years' experience, Master's Degree with 7 years' experience; PhD with 3 years' experience.
- 3 years' experience developing software for laboratory, scientific, medical, or industrial equipment.
- Proficiency in C#, .NET, Windows Forms and GUI programming in Visual Studio IDE
- Understanding of multi-threading, semaphores, mutual exclusion
- Proficiency with XML and JSON messaging
- Experience with git, and GitHub for source code change control.
- Strong understanding of software development methodologies and a commitment to Agile approaches.
- Experience integrating with Tecan, Hamiliton, or similar commercial liquid handling robots
- Experience in Linux, including gnu C/C++ GTK application development and shell programming
- Proficiency in Python or Java programming languages
- Experience with Service Oriented Architecture
- Experience with relational databases and SQL.
- Experience with Device interfacing via RS232, 485, TCP/IP
- Experience in Image Analysis and graphics libraries