Req ID: 129670
Remote Position: No
Region: Americas
Country: Canada
State/Province: Ontario
City: Newmarket
Summary
The Engineer, Software develops, debugs, tests, deploys and supports code to be deployed in systems/products/equipment for various applications. They write, debug, maintain, and test software in various common languages and for software at various levels in the hierarchy (from Firmware to Application). Software creation follows an agreed to development process (such as Agile, Scrum, etc.) and complies with the product life cycle development (phase/gate deliverables).The Engineer, Software works in cross functional teams with other designers, customers, manufacturing engineering and project leadership to ensure robust and high quality product development. Enhance designs with feedback from reviews in areas such as manufacturing, test, supply chain, reliability, industrial design and simulations.Detailed Description
Performs tasks such as, but not limited to, the following:
Work independently to design and develop technical solutions without assistance in a limited number of technical fields supporting common segments/technologies. May also solve complex problems in cooperation with a team of other engineers.
Hardware Interaction: Write code directly interacting with microcontrollers/Microprocessors, SOCs, sensors, actuators, and other hardware components.
Low-Level Programming: Work extensively with C/C++ and assembly language for optimal performance and resource management.
Real-Time Operating Systems (RTOS): Develop and debug applications on constrained systems, often using RTOS for task scheduling and concurrency.
Resource Optimization: Efficiently manage memory, power, and processing cycles, critical for embedded devices.
Driver Development: Create and maintain device drivers for specific hardware peripherals (e.g., SPI, I2C, UART).
Firmware Development: Design, implement, and test firmware, often from boot-up to application logic.
Debugging & Testing: Utilize specialized tools like JTAG/SWD debuggers, oscilloscopes, and logic analyzers for hardware-level debugging.
Board Bring-Up: Participate in the initial software development phase when a new hardware board becomes available.
Protocol Implementation: Implement and work with various communication protocols (e.g., CAN, Ethernet, USB, custom wireless protocols).
Reliability & Safety: Design and test software for high reliability and, in A&D or equivalent, safety-critical operation (e.g., fail-safes, watchdog timers).
Standards & Compliances: Design and develop the software aligned with listed standards including but not limited to: RTA DO-178C & related standards.
Integrate tools and code developed by other internal groups or external customers
Debug of solutions using design of experiments, tools, and failure analysis methodologies
Liaison between the Customer, Program Manager, and the technical team
Apply a continuous improvement mindset to all aspects of the development process
Occasional travel and flexible work schedules for global site support may be required
Knowledge/Skills/Competencies
Firmware & Low-Level Programming: Experience in designing and developing firmware for embedded systems using languages like C/C++. Proficient in bare-metal programming, interrupt-driven design, and memory management for highly optimized code.
Microcontroller/Microprocessor: Working knowledge of microcontroller and microprocessor architectures (e.g., ARM Cortex, PIC, AVR) and their peripherals, including timers, ADC/DAC, PWM, and GPIO.
Real-Time Operating Systems (RTOS): Experience with RTOS concepts and implementations (e.g., FreeRTOS, RT-Thread), including task scheduling, inter-task communication, and synchronization.
Hardware-Software Integration: Proven ability to integrate software with hardware, perform board bring-up, and use electronic lab equipment (e.g., oscilloscopes, logic analyzers, and JTAG/SWD debuggers) to diagnose and resolve complex hardware-software issues.
Communication Protocols: Hands-on experience with both on-board and external communication protocols such as I2C, SPI, UART, CAN, USB, and Ethernet.
Embedded Linux/Operating Systems: Experience in developing applications for embedded Linux environments, including device driver development, kernel configuration, and file system management.
Scripting & Automation: Proficient in Python for developing build scripts, test automation frameworks, and data analysis tools to support the embedded development workflow.
Software Development Lifecycle (SDLC): Experience with the complete SDLC for embedded products, from concept and design to testing, deployment, and long-term maintenance.
Version Control: Experience with version control systems, particularly Git, for collaborative development and managing codebases.
Documentation: Strong technical writing skills to create and maintain clear, comprehensive documentation for firmware design, APIs, and test procedures.
Continuous Integration/Continuous Deployment (CI/CD): Experience working in robust CI/CD pipelines using tools like Jenkins, GitLab CI/CD, or GitHub Actions. This includes automated testing, code quality checks, and deployment strategies.
Experience in VxWorks is considered an asset
Ability to learn new software coding languages and custom code deployments
Physical Demands
Duties of this position are performed in a normal office environment.
Duties may require extended periods of sitting and sustained visual concentration on a computer monitor or on numbers and other detailed data.
Repetitive manual movements (e.g., data entry, using a computer mouse, using a calculator, etc.) are frequently required.
Occasional travel may be required.
Typical Experience
2 to 5 years
Typical Education
Bachelor of Applied Science or Engineering in Computer, Software, or Computer ScienceNotes
This job description is not intended to be an exhaustive list of all duties and responsibilities of the position. Employees are held accountable for all duties of the job. Job duties and the % of time identified for any function are subject to change at any time.
Celestica is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, pregnancy, genetic information, disability, status as a protected veteran, or any other protected category under applicable federal, state, and local laws.
At Celestica we are committed to fostering an inclusive, accessible environment, where all employees and customers feel valued, respected and supported. Accommodations are available upon request for candidates throughout the hiring process. If you require an accommodation, we will work with you to meet your needs.
This position involves technologies regulated by the Canadian government's Controlled Goods Program (CGP). Candidates must be Canadian citizens or permanent residents of Canada and meet all other requirements under CGP. Job offers will be conditional upon candidates undergoing a successful security screening per the Controlled Goods Regulations.
COMPANY OVERVIEW:Celestica (NYSE, TSX: CLS) enables the world’s best brands. Through our recognized customer-centric approach, we partner with leading companies in Aerospace and Defense, Communications, Enterprise, HealthTech, Industrial, Capital Equipment and Energy to deliver solutions for their most complex challenges. As a leader in design, manufacturing, hardware platform and supply chain solutions, Celestica brings global expertise and insight at every stage of product development – from drawing board to full-scale production and after-market services for products from advanced medical devices, to highly engineered aviation systems, to next-generation hardware platform solutions for the Cloud.
Headquartered in Toronto, with talented teams spanning 40+ locations in 13 countries across the Americas, Europe and Asia, we imagine, develop and deliver a better future with our customers.
Celestica would like to thank all applicants, however, only qualified applicants will be contacted.
Celestica does not accept unsolicited resumes from recruitment agencies or fee based recruitment services.