Senior Embedded Software Engineer

Allient IncorporatedRochester, NY
18h

About The Position

Allient-Rochester (formerly ORMEC Systems, Inc.), a subsidiary of Allient Inc., specializing in motion control systems, including motion controllers, servo drives, motors, and integrated automation solutions is in growth mode and currently seeking a Senior Embedded Software Engineer to join our team in Rochester, New York! Allient-Rochester services the aerospace & defense, medical, semiconductor equipment, e-mobility & logistics, factory & industrial automation, and packaging industries, Allient-Rochester’s tradition of innovation and excellence in motion control continues to grow as part of Allient’s global network of motion and control solutions. The Senior Embedded Software Engineer researches, designs, and develops embedded software systems in collaboration with hardware product development. This role requires a high level of independence and leadership, particularly in complex projects, and involves managing the full software development lifecycle, contributing to technology strategy, on-time delivery of software projects, and mentoring junior engineers. Apply now!

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
  • 10+ years of professional experience in embedded software/firmware development.
  • Demonstrated ownership of complex embedded systems or product architectures in production environments.

Responsibilities

  • Design, implement, and optimize embedded motion control, servo, and I/O systems to meet aggressive performance, determinism, and reliability requirements.
  • Own critical subsystems within larger product architectures.
  • Serve as a technical authority for EtherCAT and real-time fieldbus architectures.
  • Lead the design and implementation of high-performance communication stacks, synchronization strategies, and distributed systems between controllers and drives.
  • Lead integration and optimization of multiple industrial protocols. Ensure robust interoperability with third-party systems and controllers.
  • Contribute to and own portions of system-level architecture for embedded platforms, spanning firmware, real-time OS, communication layers, and hardware/firmware boundaries.
  • Translate high-level architectural direction into robust subsystem designs that scale across products.
  • Research and integrate new technologies to enhance product capabilities.
  • Coordinate technologies with industry partners and vendors; interface with vendors to select/customize purchased software, support programs, and hardware such as single board computers.
  • Investigate and resolve software issues, implementing enhancements and optimizations.
  • Oversee all phases of software development (design, coding, testing, documentation, deployment, and maintenance).
  • Create and maintain verification and regression tests for all aspects of the design of developed products.
  • Manage projects independently, adapting to complexity and scale.
  • Support a culture of continuous improvement and innovation within the team, engaging in advanced training and professional development initiatives.
  • Collaborate with cross-functional teams to ensure cohesive system design and support the alignment of software development projects with organizational goals and product roadmaps.
  • Adhere to best practices in software development and documentation, ensuring compliance with industry standards and regulatory requirements.
  • Stay updated with emerging technologies and methodologies to contribute to efficiencies and competitive advantages in software engineering processes.
  • Provide mentorship and technical guidance to junior engineers.
  • Contribute to technology roadmaps and strategic planning for software development.
  • Lead efforts in continuous improvement, innovation, and best practices.
  • Lead and actively participate in all phases of the product lifecycle—architecture, implementation, review, documentation, testing, release, and long-term maintenance.
  • Own complex problem investigations in the field and drive root-cause analysis and systemic improvements.
  • Support coordination across teams, including hardware, QA, and product management.
  • As a Team Leader, oversee the daily operations of the software engineering team, including task assignments, performance monitoring, and technical guidance (as assigned).
  • As a Product Leader, take ownership of a specific product line’s software development, documentation, testing, maintenance, quality, and support (as assigned).
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service