Sr. Software Developer
- Req No.
- Job Locations
- Information Technology
More information about this job
Would you like to join an innovative team creating technology to power groundbreaking insights in academic, clinical, pharma and biotech research?
Our life science analytical and preparatory systems in mass cytometry and genomics can be found in leading academic institutions, clinical research laboratories, and pharmaceutical, biotech and ag-bio companies worldwide. Our mission is bold and ambitious, powering advancements in human health research that can change lives.
Fluidigm is looking for a .NET Software Developer to help us create modern, powerful and delightful scientific software products. This role is based in Markham, ON, Canada.
- You’ve built complex software before. Perhaps you spent the past few years building safety-critical medical device software. Or you built tech infrastructure for banks to ensure correctness and timeliness of financial transactions. Or you wrote CAD software, image processing apps, or operating systems. Whatever it was, it’s not your first time working with systems with strict processing and performance requirements.
- You love clean code and robust design. You’ve written enough code to appreciate simple, elegant solutions over unnecessarily complex acrobatics. You know that technical design is evolutionary and unpredictable, and yet some upfront planning is well worth the effort. You’re convinced that good code is readable, maintainable and testable.
- You love working across the .NET stack. You’ve worked with most parts of .NET and its tools, so you’re ready to dig in wherever needed: WPF, XAML, LINQ, MEF, SQL Server, build tools, etc.
- You love learning about users. You enjoy learning about user needs and exploring how you can utilize your dev skills to improve and expedite their work. At Fluidigm we deliver cutting-edge scientific software that enables scientists to make their next breakthrough in cancer research, immunology and single-cell biology. Due to the depth and breadth of the domain, it’ll take time to fully understand your users, but that doesn’t stop you from trying.
- You enjoy helping others learn from your experience. You love assisting other team members in learning from your experience, and are always looking to learning new things yourself.
- You understand that perfect is the enemy of the good. You understand that over-engineering is a slippery slope. You can ship code and software that work simply with just enough functionality, while being open to iterating as needed to get towards better solutions.
- Take our software to the next level. Develop our next gen .NET desktop product, and implement powerful data acquisition and analysis infrastructure, as well as delightful UI with powerful customer-facing features
- Translate requirements into code. Work closely with product owner, UX designer, biologists and product managers to understand nuanced user needs, implement features, seek feedback, and iterate
- Switch comfortably between front end and back end development work. Over time you should expect to become familiar with the entire code base
- Collaborate with a team of software developers, testers and product owner using Scrum methodology
- Understand, design and implement complex algorithms that control hardware instrumentation and/or process large data sets
- Contribute to the architecture and design of our applications
- Take ownership of a part of the product and oversee its maintainability and technical quality
- Progressively modernize our .NET code base and introduce features at a pace appropriate to technical and marketing needs
- Identify, analyze and resolve software issues and recommend enhancements or fixes
- Produce architecture documents, feature requirements and design documents
- 4+ years of .NET and C# software development experience, preferably in medical devices, scientific instrumentation, image processing, or other types of mission-critical, complex systems
- Strong development experience in C#, .NET framework (3.5 – 4.7) and C++ for desktop applications
- Experience with some of the following .NET technologies: WPF, MVVM, XAML, WinForms, MEF, LINQ, SQL Server, TSQL, and SSRS
- Experience applying different architectural patterns and styles (e.g., N-Tier or Plugin architecture)
- Experience working with .NET multithreading, asynchronous programming patterns and event driven applications
- Experience with Agile Scrum methodology, unit testing (e.g. NUnit), code repositories (e.g., Git, Azure DevOps), coding standards, code reviews, team tools (e.g., JIRA, Slack), and software testing
- Excellent interpersonal and communication skills
- Excellent practical judgement; when facing hard problems you should know when to amp up efforts and when to suggest easier alternatives
- Genuine interest in the Fluidigm mission of helping scientists make their next breakthrough in medical research, paving way to improvements in the way critical diseases are diagnosed and treated
- Bachelor’s / Master’s degree in Computer Science, Computer Engineering or a related field
- Post-secondary education background in Biology, Chemistry or Physics
- Experience working with mass spectrometry, flow cytometry, microscopy or similar scientific products
- Working knowledge of digital imaging and digital signal processing
- Experience with hardware integration and hardware communication protocols (e.g., USB, TCP/IP, RS232)
- Experience with WIX installer projects
- Experience working within a medical device environment (e.g., ISO 13485, IEC 62304)
Sounds good? Apply online with your resume!
Sounds good? Apply online with your resume!
Fluidigm is an equal opportunity/affirmative action employer. We will consider all qualified applicants for employment without regard to race, color, religion, sex, sexual orientation, age, or national origin.