Senior Software Developer
P&P Optica
About P&P Optica
Location
Compensation
- Relevant skills and experience: We assess each candidate's background, achievements, and demonstrated capabilities.
- Internal equity: We strive to maintain consistency and fairness across roles within our organization, aligning compensation with existing team members in comparable roles.
What You’ll Get To Do
- As a Senior Software Developer, you will be responsible for the development of entire feature sets from definition, design, management of development to full release
- Act as a Project Owner, taking full accountability for scoping, staffing, and defining success for major roadmap initiatives
- Negotiate technical options with Product Managers and stakeholders, moving beyond stating problems to providing actionable, business-aligned options
- Design and develop software for complex, multi-instrument, smart imaging systems
- Testing and deployment of new software releases
- Designing data collection requirements for new product development
- Support for on-site system commissioning, data collection, and support
- Enhance and optimize tooling for the data collection and model development processes focused on reducing total time-to-market
- Develop tools for use across multiple environments, including in-house development servers, remotely deployed systems and AWS cloud infrastructure
- Work with Python-based AI, machine-learning and chemometric algorithms for data analysis.
- Document the use, internals, and installation of software systems for coworkers and customers.
- Play a lead role in evolving our software platform to support Modular Inspection Systems, ensuring seamless over-the-air (OTA) updates and integration across diverse plant environments
- Architect systems capable of processing over 16 million data points per minute while maintaining the stability required for 24/7 industrial production
- Evaluation and integration of software development infrastructure
- Software support for hardware and applications engineering groups
- Work with external suppliers for hardware and software (e.g. cloud infrastructure)
- Support a range of physical and virtual servers running Windows and Linux
- Involvement in network maintenance, security, redundancy planning and architecture for local and cloud applications, often with huge data sets
You at PPO
Skills & Experience
- Solid experience with software development processes and tooling
- Experience with the management of software projects (new feature releases)
- Strong understanding of concurrency, distributed systems and other core software principles
- Ability to architect, implement and prove out effective AI-based solutions for complex soft-real time data processing problems
- Significant Linux experience is an asset
- Industrial experience with Python - and coding best practices
- Knowledge of cloud computing ecosystems such as AWS, Azure or GCP (with a strong preference of AWS)
- Comfortable with both low-level embedded software and higher-level, whole-system abstractions
- Experience building software within SOC 2 or similar security frameworks, with a focus on data integrity, availability, and confidential processing
- Strong understanding of system redundancy and fail-safe design for 'soft-real time' industrial environments
- Demonstrated ability to use AI-enabled development tools to accelerate coding, conduct code reviews, and conduct 'what-if' analysis on complex architectural decisions
- Actively participate in cross-functional 'Tiger Teams' to solve fundamental technical debt and foundational data normalization challenges
- Act as a technical mentor to intermediate and junior developers, fostering a culture of curiosity and 'doing things right' through code reviews and architectural guidance
- Strong written and verbal communication skills with experience documenting software designs
- Ability to work effectively as part of a fast-paced, multi-disciplinary team with clear communication to all team members and management
- Our office is located in Waterloo, ON and this role will require you to spend a minimum of 3-4 days per week in the office to interact with our hardware and support production activities
Bonus Skills & Experience
- Familiarity with C/C++ and hardware interfacing techniques
- Experience with automation using microcontrollers and/or PLCs
