Embedded Software Engineer

Overview

On Site
$50 - $55
Contract - W2
Contract - Independent

Skills

Embedded Linux
NVIDIA GPU and CPU/GPU processing

Job Details

Experience in embedded Linux software, drivers, file systems and kernel development
Outstanding proficiency in C/C++ on resource-constrained embedded platforms
Strong Linux filesystem, Kernel, Shell scripting, IPC, watchdog timers experience
Experience in coding with NVIDIA GPU and CPU/GPU processing
General user-level and Linux administration experience
Experience with networking, concurrency, and distributed systems
Experience with open-source environments and development tools, such as Linux, GNU cross compiler toolchains, and IDEs (e.g., Eclipse) and common open-source configuration management and test tools, such as subversion, git, mercurial, GDB, perf
Knowledgeable in the area of communication protocols at all layers, such as I2C, SPI, UART, and TCP/IP protocols
Able to use tools such as oscilloscopes, logic analyzers, and on-chip debuggers
Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis and documentation
Experience in implementing high-reliability systems, systems in extreme environments (aerospace experience is a plus), sensors & imaging systems, FPGAs, logic analyzers and oscilloscopes
Proficiency reading hardware specifications and schematics
Knowledge of operating systems concepts.
Proficiency debugging embedded software systems
Experience in test definition and execution
History of coordinating development activities within teams and cross-group collaborations
Experience with FPGA programming is a plus
Aerospace Experience a plus
Responsibilities include:-
Design, develop and maintain embedded software for spacecraft subsystems, test software applications, device drivers, middleware on Linux or other RTOS
Participate in software requirements generation, design, implementation, and testing discussion with multiple team members
Maintain new and pre-existing software solutions to enhance feature sets and to consistently improve overall stability
Participate in team discussions involving satellite architecture and design for ongoing and future projects
Assist in design of hardware testing and verification software for use in the production process
Work in a small team environment closely with satellite hardware, sensors and system engineers to develop optimal solutions
Assist in troubleshooting software related issues associated with 3rd party software and hardware sensors and products.
Attend project and subsystem engineering and management meetings when requested
Report design and production status weekly to project manager
Communicate issues and concerns to team members and managers and support planning to resolve technical, schedule, safety and cost issues
The engineer will follow basic design standards to ensure acceptable performance in the satellite, launch, and space environment. Familiarity with iterative, agile,
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.