Actalent-posted 12 months ago
$75 - $83/Yr
Full-time • Mid Level
Jersey City, NJ
1,001-5,000 employees
Administrative and Support Services

The Embedded Software Engineer will be responsible for developing networking devices that include data and control plane components, with a focus on protocols relevant to satellite communications or similar industries. The role requires full stack embedded development experience, including low-level programming, hardware/software integration, and application software development. The ideal candidate will have a proven track record of working in cross-functional teams, collaborating with hardware engineers, systems architects, and other software developers. The position demands in-depth knowledge of real-time embedded software philosophies and practices, as well as strong debugging skills in kernel context.

  • Develop embedded software in assembly, C/C++, Rust or other languages, code for microcontrollers (including hardware drivers).
  • Review schematics, logic analyzer, and embedded software (bare-metal) trouble-shooting techniques.
  • Exercise/validate the system from user space, and knowledge of user space API.
  • Collaborate with cross-functional teams to ensure successful integration of hardware and software components.
  • Bachelor's degree in Computer Science or similar field.
  • 5+ years of professional software development experience, with a strong focus on at least one programming language (preferably Rust or C++).
  • 5+ years of full software development lifecycle experience, including coding standards, code reviews, source control, build processes, testing, and debugging experience.
  • 1+ years of hands-on experience developing software in Rust.
  • Proficiency in developing and debugging embedded software, with proven experience designing and implementing fault-tolerant and high-reliability embedded systems.
  • Proficiency in using Git for version control.
  • Familiarity with at least one integrated development environment (IDE), such as Visual Studio Code.
  • Excellent written and verbal communication skills.
  • Knowledge of Linux kernel internals (process scheduler, memory management, concurrency/synchronization, memory allocation, file systems) and networking subsystems architecture.
  • Knowledge of low-level communications, PCIe, Ethernet, SPI and I2C would be desirable.
  • Strong debugging skills in kernel context.
  • Medical, dental & vision
  • Critical Illness, Accident, and Hospital
  • 401(k) Retirement Plan – Pre-tax and Roth post-tax contributions available
  • Life Insurance (Voluntary Life & AD&D for the employee and dependents)
  • Short and long-term disability
  • Health Spending Account (HSA)
  • Transportation benefits
  • Employee Assistance Program
  • Time Off/Leave (PTO, Vacation or Sick Leave)
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service