SENIOR EMBEDDED SOFTWARE ENGINEER

Senior Embedded Software Engineer: Camgian is hiring a Senior Embedded Software Engineer to take ownership of existing products and lead development of embedded software for new products. This position will be in Camgian’s headquarters located in Starkville, MS. The successful candidate will be capable of architecting embedded software based on product functional and performance requirements targeting both custom and COTS hardware, understand hardware resource and power constraints, drive custom hardware architecture decisions and COTS hardware choices, have experience developing in flavors of Linux OS, RTOS and successfully transferred products into production.

 

DUTIES/RESPONSIBILITIES 

  1. Establish and develop embedded software competencies. Provide both high-level and hands-on contributions.

  2. Manage project embedded Software activities

  3. Embedded software architecture concept definition, description, and development

  4. Creation of requirements, specifications, and test plans

  5. Contribute to hardware platform selection based on product/design requirements

  6. Create and maintain Yocto configurations

  7. Modify, debug, write embedded SW for various RTOS implementations

  8. Modify, debug, Linux drivers

  9. HW/SW integration and debug

  10. Code verification & validation

  11. Product/system test development & support

  12. Vendor/contractor oversight or management as needed

  13. Work on improving and/or establishing tools, processes, and best practices

  14. Assume ownership of existing products’ embedded software:  Troubleshoot / analyze failure modes, track ‘bugs”, implement changes, and manage releases

  15. Collaborate with product lead, hardware team, and software developers during product development

  16. Perform work breakdown to come up with development schedules and budgets

  17. Other duties and responsibilities as determined by manager

 

QUALIFICATIONS

  1. Bachelor's Degree in Computer Engineering, Electrical & Computer Engineering or Computer Science

  2. Extensive experience with a variety of common programming languages, algorithm development, & complex data structures; Proficiency in embedded C/C++

  3. Proficiency with various flavors of Linux, embedded Linux platforms and RTOS’s

  4. Proficiency using development tool chains and Integrated Development Environments (IDEs)

  5. Ability to create a Hardware Abstraction Layer, port code to a different processor and redefine the HW/SW interface, and develop drivers

  6. Knowledge and understanding of hardware resource limitations, performance-power trade-offs, processor/memory/peripheral component selection, low-power design techniques

  7. Experience with wired & wireless networking, protocols, & methods (e.g., RS232, USB, CAN bus, TCP/IP, Bluetooth, RF etc.)

  8. Extensive experience with code development, simulation/emulation, verification & validation, Design Re-use, libraries, version/revision control, etc.

  9. Experience with HW/SW integration and test

  10. Strong troubleshooting, failure analysis, and resolution skills

  11. 8-10 years’ experience as an embedded software engineer

  12. United States Citizenship

 

 

PREFERRED QUALIFICATIONS
Master’s degree in Computer Engineering, Electrical & Computer Engineering or Computer Science

  1. Experience developing/modifying board support packages (BSP)

  2. Experience building and customizing embedded Linux images (e.g., Yocto, Buildroot)

  3. Experience developing in new compute platforms with GPU’s, TPU’s etc.

  4. Experience incorporating Machine Learning (ML) models on small compute platforms

  5. Experience with wireless communications like Cellular, Satcom, Wi-Fi, Commercial/Proprietary radios

  6. Experience with sensor integration (Camera’s etc.), FPGA’s

  7. Experience with compact PC based application development running Windows or Linux

  8. Experience with Python or other high-level languages

  9. Knowledge of messaging protocols like RabbitMQ, MTTQ etc.

  10. Knowledge of filesystems, databases (e.g., PostgreSQL, Redis etc.)

  11. Knowledge of software level encryption

  12. Excellent verbal and written communication skills with the ability to effectively advocate technical solutions

 

Exceptional work ethic, willingness to learn, tenacity not to quit, aptitude to surpass, and strong desire to work in a fast-paced environment, with existing and new product lines, are necessary for success. Collaboration and cross pollination with other teams will be frequent, thus communication, openness, and willingness to share both success and failure is a must. We are a team-centric organization, there are no individuals, we win and lose together.

 

Camgian offers a competitive salary, fun work environment, excellent benefits, and an equity opportunity.

 

Camgian Culture and Core Value Traits

  1. Ability to work as part of a team while maintaining independent thinking

  2. Self-driven and self-starter in addition to excellent communication skills

  3. Great at thinking outside the box and have an aptitude for innovation and problem solving

CREATE THE FUTURE
UPLOAD RESUME

Thanks for submitting!