Principal Embedded Linux Software Engineer at Cognex Corporation in Natick, Massachusetts

Posted in Other 5 days ago.

Type: full-time





Job Description:

**** This role follows a hybrid schedule: 3 days in the office and 2 days remote. Candidates must be based near our Natick, MA or Portland, OR offices. ****

The Company: A Global Leader with a Start-Up Culture

As the world leader in the fast-paced machine vision industry, Cognex is changing how companies bring their products to market. Cognex brings automation to all industries - across the world - to improve how companies bring their products to market. From electric vehicles to medical supplies to smartphones, manufacturers across the globe depend on Cognex to ensure their products are safe and defect-free. With over $800 million of cash in the bank and no debt, we are a financially strong company with a fast-paced, creative, and quirky culture. We proudly call ourselves "Cognoids" and while we work hard, we know how to play, too. We embody the company motto of "Work Hard, Play Hard, Move Fast" from ultimate frisbee tournaments to skydiving team outings to Halloween costume contests. Cognex rewards Cognoids who are willing to take risks, innovate, and push to find new and better ways to advance machine vision.

The Team: Platform Software:
  • Responsibilities include:
  • Create Linux distributions to support our custom hardware platforms
  • Provide system software support for our highly successful industrial machine vision products-DataMan, In-Sight, and SnAPP
  • Construct reusable software modules that abstract the hardware peripherals
  • Create and maintain common system services
  • Validate and bring-up customer embedded hardware boards
  • Produce manufacturing test software payloads

The Role: Principal Software Engineer:

Are you a Linux expert? Do you have a track record of driving key technology initiatives? Are you passionate about real-time embedded systems? If so, look no further. The team is seeking a highly proactive individual that will help drive our custom Linux distribution for multiple Cognex products and contribute to enabling hardware subsystems. As a Principal Software Engineer, you will need to be a strong programmer with debugging skills that consider software and hardware. Solid build system experience including Yocto is highly desired. Come work on cutting edge embedded systems that are pushing the boundaries to what is possible in today's factory automation and logistics environments.

Essential Functions:
  • Lead projects from analysis gathering, design, implementation, and product maintenance
  • Write new device drivers and other firmware to control of custom hardware (cameras, USB, Ethernet, Wi-Fi, Bluetooth, I/O, power management, lighting, etc.)
  • Integrate device drivers into an embedded Linux system.
  • Implement communication protocols, internal data handling and management and means of configuring devices
  • Develop or modify overall distribution framework, supporting multiple custom embedded systems
  • Gather application details and requirements and synthesize into a flexible easy-to-use design
  • Occasional travel to Germany, Hungary, and the USA or customer sites.

Knowledge, Skills and Abilities:
  • Take on individual responsibilities and lead small teams
  • Expert experience developing software in C/C++
  • Experience with professional team software programming projects (development processes, source code control, formal bug tracking, etc.)
  • Expert experience with Linux on embedded systems
  • Team player and with proven ability to work effectively on multi-site development projects (Germany, Hungary, USA)
  • Self-motivated, and able to work independently
  • 5+ years experience with ARM based embedded systems, device drivers and low level system programming
  • Experience in writing and working with software unit tests
  • Experience with network stack, file system and memory management
  • Experience with software licensing, security or cryptography technology
  • Experience with Git, Python, Yocto
  • Good presentation, communication, organizational and interpersonal skills.
  • Experience with technical photography or other optics

Minimum work experience and education required:
  • A minimum of 10 years of relevant professional software development experience
  • Bachelors or master's degree in computer science, electrical engineering, or other relevant technical discipline

More jobs in Natick, Massachusetts

Other
about 1 hour ago

CoWorx Staffing Services
General Business
1 day ago

Jackson Hewitt
General Business
1 day ago

Jackson Hewitt
More jobs in Other

Other
30+ days ago

Pike Electric, Inc
Other
30+ days ago

Enterprise Products Company
Other
6 minutes ago

University of Richmond