Actalentposted 4 months ago
$75 - $83/Yr
Full-time • Mid Level
Jersey City, NJ
Administrative and Support Services

About the position

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.

Responsibilities

  • 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.

Requirements

  • 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.

Nice-to-haves

  • 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.

Benefits

  • 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