Engineer, Software
3 days ago
Engineer, Software Location: Newmarket, ON, CA 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 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 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 Science Notes 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. 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. #J-18808-Ljbffr
-
Software Engineer
3 weeks ago
, , Canada ECI Software Solutions Full timeCareer Opportunities with ECI Software Solutions A great place to work. Careers At ECI Software Solutions Share with friends or Subscribe! Are you ready for new challenges and new opportunities? Join our team! Current job opportunities are posted here as they become available. Subscribe to our RSS feeds to receive instant updates as new positions become...
-
Senior Software Engineer
4 weeks ago
, , Canada Beacon Software Full timeBeacon Software is a permanent capital holding company which acquires and grows essential businesses. We are a profitable series B+ firm that combines great technologists, operators and M&A professionals to accelerate the scale of the ambition of the dozens of businesses we own and operate. We are supported by capital from tier-1 venture capital, crossover,...
-
Full Stack Software Engineer
4 weeks ago
, , Canada Greenhouse Software Full timeJoin to apply for the Full Stack Software Engineer role at Greenhouse Software Our mission at Greenhouse is to make every company great at hiring – so we go to great lengths to hire great people because we believe that they’re the foundation of our success. At Greenhouse, you’ll join a team that collaborates purposefully, fosters inclusivity, and...
-
Senior Software Engineer
3 weeks ago
, , Canada ECI Software Solutions Full timeLocation: Canada - Remote (EST/CST Business Hours) We are seeking a Senior Software Engineer who is ready to play a crucial role in designing, planning, and executing our product modernization plans, going from a monolithic desktop application to a SaaS‑based cloud‑native architecture leveraging microservices and hosted in AWS. A Senior Software Engineer...
-
Senior Software Engineer
2 weeks ago
Canada Beacon Software Full timeBeacon Software is a permanent capital holding company which acquires and grows essential businesses. We are a profitable series B+ firm that combines great technologists, operators and M&A professionals to accelerate the scale of the ambition of the dozens of businesses we own and operate. We are supported by capital from tier-1 venture capital, crossover,...
-
Senior Software Engineer
2 weeks ago
, , Canada Jonas Software Full timeSenior Software Engineer (Java / AWS) Join to apply for the Senior Software Engineer (Java / AWS) role at Jonas Software. About The Role We are seeking a Senior Software Engineer with strong experience in Java development and modern cloud‑native architectures. This role will focus on designing, building, and maintaining scalable APIs and backend services,...
-
Senior Software Engineer – .NET
2 weeks ago
, , Canada Astera Software, Inc. Full timeAbout Astera Based in Westlake Village, California, Astera Software is a profitable, fast-growing company specializing in data management space. Astera Data Stack is a complete data integration platform that allows users to extract, map, transform, and load their data in a code-free environment. In addition, it also includes functionality for other types of...
-
Senior Software Engineer
3 weeks ago
, , Canada Aplos Software Full timeAbout Aplos, Raisely and Keela: We’re excited to share that Aplos, Raisely, and Keela have come together to form one unified company with a shared mission: to help nonprofit organizations thrive. While we continue to offer the products you know and love, we now operate as one team, dedicated to making nonprofit work easier, more impactful, and more...
-
Software Engineering Program Manager
3 days ago
, , Canada Incognito Software Systems Full timeAre you passionate about solving problems and delivering next-generation software to enhance the Internet experience? Join a global leader creating software for broadband service providers. We have been growing since 1992 and now work with some of the top service providers worldwide to deliver solutions that are innovative, creative, and make life easier for...
-
Senior Software Engineer
3 days ago
, , Canada Salvo Software Full timeAt Salvo Software, we’re building the future of connected automotive diagnostics by combining cutting-edge cloud solutions with advanced scan tool technologies. Our mission is to create smarter, more reliable, and scalable systems that empower technicians, engineers, and vehicle manufacturers worldwide. We thrive on solving complex challenges and are...