Low Level Embedded Software Engineer

Overview

On Site
$160,000 - $180,000
Full Time
No Travel Required

Skills

Bachelor's Degree in Computer Science / Computer Engineering or a related field.
Fluent in C and Python strong VxWorks / Linux and Bare Metal embedded background.
Experience with development of bootloaders / BSP / VxWorks 7 / Linux
and RTEMS device drivers test code and scripts.
Familiarity with Buildroot and or Yocto Linux build systems.
Skilled in low level hardware code development and debugging.
Good understanding of NAND FLASH memory file systems / drivers and implementation

Job Details

Visa sponsorship or transfers not available.

Job Description

Sr Embedded Software Engineer

Essential Functions:

  • Provide technical expertise within the Engineering department to solve difficult software challenges or problems or to bring in new technical capability
  • Design, develop, document and test embedded software for space products
  • Develop C or assembly code for Bootloaders, BSP, VxWorks 6.9 or 7.0 and future versions, Embedded Linux, RTEMS device drivers
  • Able to debug, test, and verify component and board designs through software
  • Develop test programs, test plans, and verification plans
  • Represent Engineering in technical customer discussions / meetings
  • Assist Manufacturing Engineers with technical assistance with production issues
  • Able to Develop and Maintain Python based desktop GUI applications to control and monitor Automated Test Equipment (pyvisa, nidaqmx)

Responsibilities:

  • Product Specifications: Implement innovative approaches and develop clearly written design specifications that ensure PDC s products are designed to succeed in the market relative to their technical performance, feature set, cost and time to market goals.
  • Architecture: Facilitate the design of complex products by leading and coordinating engineering teams of varied technical disciplines through clearly documented architectural level design documents. Lead the decision and tradeoff process for issues that cross hardware/software or other technical discipline boundaries.
  • Design (and Develop): Perform original and innovative software design and distill large-scale designs into architectural elements that facilitate the division of design work to teams of two or more engineers.
  • Planning: Develop plans, schedules, and identify resources required to develop products from market requirement through product release. Identify risk areas and develop contingency plans to eliminate or mitigate risk that could result in schedule delays or failure to meet specification or design plan requirements.
  • Innovation: Conceive methods for achieving product requirements and specifications using appropriate software architecture and design techniques. Anticipate possible difficulties and develop alternate methods.
  • Maintenance: Provide support for maintaining existing products by investigating and resolving defect reports, creating documentation, and creating and releasing new versions of software packages.
  • Continuous Improvement: Take the initiative to research, develop, propose, evaluate and/or implement new methods, processes, techniques, tools, components, or technology that improve quality, timeliness and/or performance of PDC s products or the efficiency or cost effectiveness of PDC s engineering work. Modify existing SOPs or create new SOPs to implement new processes.
Qualifications

Required Knowledge, Skills and Abilities:

  • Fluent in C and Python, strong VxWorks, Linux, and Bare Metal embedded background, development of bootloaders, BSP, VxWorks 7, Linux, and RTEMS device drivers test code and scripts
  • Familiarity with Buildroot and or Yocto Linux build systems
  • Good understanding of NAND FLASH memory file systems, drivers, and implementation
  • Skilled in low level hardware code development and debugging. Skilled with debuggers/In-circuit emulators.
  • Experience and skills in debugging using lab equipment and other tools
  • Ability to work in a team setting effectively
  • Successfully problem solves and manages conflict
  • Has analytical, evaluative, and objective critical thinking skills

Educational / Experience Qualifications:

  • Bachelor's Degree in Computer Science, Computer Engineering, or a related field, Master s degree is a plus
  • 10+ years relevant work experience
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.