Job Description:IPG Photonics (NASDAQ:IPGP) is seeking a Staff Embedded C/C++ Software Developer to join our agile software development team in Kingston, Ontario, Canada. Our Kingston group is responsible for inventing, developing, and building novel process monitoring tools for advanced manufacturing industries.The group's products are integrated with IPG's industry-leading laser processing solutions and are used to provide quality assurance for high-power laser processing applications in the manufacturing of automotive, aerospace, biomedical, and consumer electronics products. Our technology empowers many household brands to offer increasingly reliable, safe, and efficient solutions to empower industry and improve the lives of consumers. In particular, our technology is being used to drive the electric vehicle revolution.This position involves leading C and C++ software development on real time Linux targets for our company’s next generation laser weld measurement product. It involves software architecture design, developing time-critical functionality, extending product capabilities and business logic code, performance profiling time-critical operations to improve software performance, and implementing new measurement algorithms. It further involves leading software development projects, performing code reviews, and providing technical mentorship to junior team members.We expect candidates with significant professional experience developing C/C++ applications for Linux targets. A strong background in real-time Linux development is preferred.Responsibilities
Leading C/C++ software development projects for embedded Linux targets
Designing, planning, and executing C/C++ development projects for embedded Linux targets to advance product capabilities and functionality
Building and debugging applications in Linux
Performance profiling time-critical operations to identify bottlenecks and improve application performance
Collaborating with other internal development teams on interface design
Mentoring junior developers and advising on software development best practices
Prototyping, developing, testing, and maintaining production quality code
Advancing our team’s development processes and tools
Requirements:Requirements
Excellent learning, communication, and teamwork abilities
8+ years of professional experience developing C/C++ applications for embedded Linux targets
Proficiency in Linux as a development platform and proficiency with debugging tools
Extensive understanding of embedded and real-time software development concepts, including shared memory, multi-tasking, inter-process communication, interrupts, etc.
Strong interest in software development for industrial applications
Must be authorized to work in Canada
A strong mathematical background is a benefit
Experience in radar-based applications is a benefit