Principal Software Engineer - Hybrid Work Schedule
Woodbridge Canada
Responsibilities
Location Woodbridge, OntarioCA Job ID JR-032861The Principal Software Engineer will provide software design, architecture and development skills in innovating and developing new generation PerkinElmer Analytical Software Platform. The role will include close collaborations with geographically dispersed software teams within PerkinElmer organization.
Duties and Responsibilities/Essential Functions:
Work with software team on design, architecture, and development of analytical edge device software framework with capabilities to run on-prem and in a future on cloud deployments
Be part of software architect team and contribute into development of better design and architecture process
Understand the desired software strategy and outcome in respect to analytical edge device software framework and the software product in general
Work on right IoT Edge Device framework architecture, including technology choices
Work with the team on implementation of design and architecture solutions
Work with the team on implementation of successful deployment strategies
Work with the team on maintainability and other software qualities
Map requirements to specifications that lead to design and architecting a software solution(s)
Design modules according to established layered architecture
Understand boundaries, interfaces and roles and responsibilities for major subsystems and modules of the application
Be able to quickly ramp up knowledge about analytical chromatography instrumentation and workflows (LC, MS, GC)
Provide skills dealing with distributed client/server architectures, be familiar with different types of inter-process communication mechanisms
Work closely with solution architects and other developers on solution design
Documenting and communicating design/architecture
Be a team player and put team objectives above personal ambitions
Ensure that software design conforms to the documented architecture
Identifying and mitigating technical risks
Work on low-level device control protocols through variety of transports TCP/IP, RS232 etc.
Work on low-level device control protocols through 3rd party vendor APIs
Be part of distributed Agile team. Develop automated tests as a part of software deliverables
Basic Qualifications:
Degree in Computer Science, electrical/computer engineering, mathematics, physics, molecular biology, or equivalent
Hands-on experience with developing, deploying and maintenance of complex applications is required
Experience in developing applications using SDLC process and Agile methodology
Experience and willingness working with geographically distributed teams
Experience in designing and architecting software for IoT Edge Computing Devices
Experience and understanding on how to deal with device low level communication protocols utilizing TCP/IP, RS-232, USB etc. transport layer
Experience with IoT friendly communication protocols like NATS Pub/Sub, MQTT, AMQP etc. for communicating with backend. and knowledge of on-prem IoT solutions
Experience with embeddable databases like SQLite, Level DB, BadgerDB etc
Experience with modern service orchestration frameworks like Hashicorp Nomad, Docker Compose or Swarm, Kubernetes etc.
Preferred Qualifications:
Certifications and training in Software Design, SoftwareArchitecture and Software Methodologies fields are beneficial.
Experience with any kind of Analytical Instruments is a big plus.
Good knowledge and experience in Windows and Linux networking and dealing with IT infrastructure issues which affects software solution.
Good knowledge and experience with Edge Device embeddable O/S like Windows IoT and embeddable versions of Linux O/S
Knowledge about modern application security models and TLS and device certificate management
Knowledge and experience with modern cloud IoT solutions like Azure IoT, IoT Core or AWS IoT is beneficial.
Savvy with tools and technologies (including but not limited to Go language, .NET Core; C#) to develop state-of-the-art applications.
Ability to work with distributed cross-functional teams - excellent group interaction and negotiating skills.
Customer focus, value driven – passionate about working to develop applications to address customer needs.
Demonstrated organizational skills with the ability to handle multiple tasks with different priorities.
Strong written and oral communication skills.
R&D lab with scientific instruments; mass spectrometers, autosamplers, prototypes, etc.
Loud sounds generated by analytical instruments
#LI-TE
PerkinElmer is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability status, age, or veteran status or any other characteristics protected by applicable law. PerkinElmer is committed to a culturally diverse workforce.