Posted in

Embedded Software Engineer

Embedded Software Engineer

CompanyQrypt
LocationGermantown, MD, USA
Salary$120000 – $150000
TypeFull-Time
DegreesBachelor’s
Experience LevelMid Level, Senior

Requirements

  • Bachelor’s degree in Electrical or Computer Engineering, Computer Science, or related field
  • 4+ years of experience developing software for embedded platforms or the Linux kernel
  • Expertise in the design and development of embedded systems
  • Proficiency with C, C++, Python and bash scripting
  • Understanding of hardware schematics and datasheets
  • Familiarity with communication protocols (I2C, SPI, UART, etc.)
  • Familiarity with electronics lab/test equipment (oscilloscope, logic analyzer, JTAG debuggers)
  • Familiarity with implementing signal processing and/or control system algorithms
  • Strong written and verbal communication skills

Responsibilities

  • Play a major role in the design, development, and test of systems composing of hardware, digital logic, embedded software, Linux kernel modules, and user-space Linux software
  • Design and implement firmware and software for embedded microcontrollers and processors
  • Optimize code for performance, memory usage, and power efficiency
  • Assist in the design, review, and debug of analog/mixed signal circuit boards
  • Perform verification and validation of both hardware and software requirements through testing
  • Lead hardware/FPGA/software integration efforts
  • Develop manufacturing and test tools and procedures, and supervise their execution
  • Develop a deep understanding of the domain (quantum random number generators, network security systems) to architect future products and systems and validate existing products and systems
  • Assist in project planning and management

Preferred Qualifications

  • Advanced C/C++ programming skills with focus on embedded environments
  • Experience with Xilinx tool chain (Vivado, Vitis) for FPGA and SoC development
  • Linux kernel experience with focus in DMA and networking drivers
  • Experience with embedded Linux and board support package (BSP) development
  • Knowledge of version control systems (Git) and CI/CD pipelines
  • Familiarity with hardware description languages (VHDL or Verilog)
  • Experience in the installation, upgrade, configuration, and performance tuning of Linux-based servers
  • Security clearance a plus