Senior Software or Computer Engineer
140,000 – 180,000 • yearly
NPAworldwide Recruitment Network
Job Description
Job description:
We are looking for a highly motivated computer engineer to join our Sensing and Communications Department.Successful candidates will have a BS, MS, or PhD degree in Computer Science, Computer Engineering, Electrical Engineering or similar technical field with a focus in embedded digital signal processing.
Professional experience beyond 5 years is desired, but may not be required in all circumstances.
Successful applicants will support the development of a state-of-the-art remote sensing and communication systems for autonomous underwater vehicles, undersea systems, and other marine applications.
Candidates must have a proven track record of designing, implementing, testing, and optimizing advanced sonar, radar, and communication system signal processing algorithms and state machines on embedded processing platforms using C/C++, assembly, and scripting/tooling using MATLAB/Python.
Applicants should be familiar with workflows and development on Digital Signal Processors (DSPs), FPGAs, System-on-Chips/System-on-Modules, as well as Microcontrollers, and should be experienced at writing VHDL as well as C/C++ programming and compilation in a Linux environment.
Additionally, applicants should command a thorough understanding of how to translate and optimize high-level algorithmic descriptions (e.g. in MATLAB) to high performance embedded DSP implementations on resource constrained platforms.
The applicant shall also possess experience with userspace driver development, ADCs & DAC interfacing, digital communications bus protocols (RS232/RS422/RS485, I2C, I2S, SPI, McBSP, CAN), high speed signaling (LVDS, LVPECL), and SoC cross-domain interconnect (e.g., AXI), is required.
Previous experience with hands-on integration and testing of embedded systems into larger platforms is highly desired, including familiarity with and use of typical electronic laboratory test equipment.
We work on exciting, technically challenging, cutting-edge technologies that will expose you to a wide variety of multidisciplinary fields and allow for unique growth opportunities and learning experiences.
You will work in a small company environment where technical excellence is rewarded and an entrepreneurial spirit is encouraged, and you will have the chance to work directly with colleagues and customers that value innovation and creativity.
Responsibilities:
Design and development of complex data handling infrastructure on embedded systems and implementation of signal processing algorithms on these platforms (50%)
Laboratory testing and integration with larger electronic systems, and field testing of these systems (30%)
Project leadership (20%)
Required Attributes and Skills:
5 or more years of experience with C/C++, assembly, VHDL or Verilog programming for implementing, optimizing, and testing digital signal processing algorithms
5 or more years of experience with C/C++ programming and compilation in a Linux environment
Extensive experience with implementation and optimization of sonar, radar, and communications system signal processing algorithms on embedded DSPs, FPGAs, and Microcontrollers
Experience developing on resource constrained embedded systems
Software and firmware design and implementation of real-time embedded sensor system processing algorithms to include, filtering, matched filtering, and beamforming.
DSP Techniques including FFTs, digital up and down conversion, decimation/interpolation, IQ demodulation, Z Transform, Digital Filters (FIR, IIR)
Performing trade-off analysis in DSP firmware data path design such as representation (fixed vs. floating point), pipelining (latency vs. throughput), and parallelizability (dependency checking).
Translating and optimizing high-level algorithmic descriptions (e.g. in Matlab) to high- performance embedded DSP algorithms for FFTs, FIR/IIR filters, search, and matrix manipulation, including ability to optimize memory consumption and cycle count
Experience with either the Xilinx Zynq Ultrascale+ or the Zynq 7000 architectures
Experience with the Xilinx IDE, Vivado, Advanced eXtensible Interface (AXI) protocol, and custom IP Core development
Writing software and firmware documentation, and presenting it to peers and management cogently.
Able to obtain and maintain a U.S. Department of Defense Secret Security Clearance
Desired Attributes and Skills:
Experience with Cadence Tensilica HiFi3, HiFi4, etc. Familiarity with ARM embedded or application CPUs from NXP, ST, Xilinx or others including use of GCC, Keil, IAR, and Vivado toolchains a plus. Experience in design and development of systems for use with underwater acoustic sensors
Experience creating technical content for new products, ideas, or other business development pursuits
Ability to develop software from existing code, detailed specification, or general conceptual outline; equally adept at high-level algorithmic software design and low-level code optimization Ability to evaluate new processor platforms for feasibility of implementing new and existing algorithms Develop detailed test plans suitable for verification of design robustness DSP algorithm development and optimization Bare metal BSP experience developing boot loader, file system, and device drivers Experience with RTOS
Experience working with ADCs/DACs and associated clocking and digital interfacing
Experience working with digital communication schemes (RS232/422/485, I2C, I2S, SPI, McBSP, CAN)
Experience working with high speed digital signaling (LVDS, LVPECL)
Experience working in an electronics laboratory environment, familiarity with common measurement devices (oscilloscopes, multimeters, logic analyzers, power supplies, etc.), and experience troubleshooting embedded systems
Experience with GIT, JIRA, Jenkins and Confluence.
Strong written and verbal communication skills
Experience working in a fast-paced R&D environment, and working in small multidisciplinary teams
Qualifications:
5 or more years of experience with C/C++, assembly, VHDL or Verilog programming for implementing, optimizing, and testing digital signal processing algorithms
5 or more years of experience with C/C++ programming and compilation in a Linux environment
Extensive experience with implementation and optimization of sonar, radar, and communications system signal processing algorithms on embedded DSPs, FPGAs, and Microcontrollers
Experience developing on resource constrained embedded systems
Software and firmware design and implementation of real-time embedded sensor system processing algorithms to include, filtering, matched filtering, and beamforming.
DSP Techniques including FFTs, digital up and down conversion, decimation/interpolation, IQ demodulation, Z Transform, Digital Filters (FIR, IIR)
Performing trade-off analysis in DSP firmware data path design such as representation (fixed vs. floating point), pipelining (latency vs. throughput), and parallelizability (dependency checking).
Translating and optimizing high-level algorithmic descriptions (e.g. in Matlab) to high- performance embedded DSP algorithms for FFTs, FIR/IIR filters, search, and matrix manipulation, including ability to optimize memory consumption and cycle count
Experience with either the Xilinx Zynq Ultrascale+ or the Zynq 7000 architectures
Experience with the Xilinx IDE, Vivado, Advanced eXtensible Interface (AXI) protocol, and custom IP Core development
Writing software and firmware documentation, and presenting it to peers and management cogently.
Able to obtain and maintain a U.S. Department of Defense Secret Security Clearance
Desired Attributes and Skills:
Experience with Cadence Tensilica HiFi3, HiFi4, etc. Familiarity with ARM embedded or application CPUs from NXP, ST, Xilinx or others including use of GCC, Keil, IAR, and Vivado toolchains a plus. Experience in design and development of systems for use with underwater acoustic sensors
Experience creating technical content for new products, ideas, or other business development pursuits
Ability to develop software from existing code, detailed specification, or general conceptual outline; equally adept at high-level algorithmic software design and low-level code optimization Ability to evaluate new processor platforms for feasibility of implementing new and existing algorithms Develop detailed test plans suitable for verification of design robustness DSP algorithm development and optimization Bare metal BSP experience developing boot loader, file system, and device drivers Experience with RTOS
Experience working with ADCs/DACs and associated clocking and digital interfacing
Experience working with digital communication schemes (RS232/422/485, I2C, I2S, SPI, McBSP, CAN)
Experience working with high speed digital signaling (LVDS, LVPECL)
Experience working in an electronics laboratory environment, familiarity with common measurement devices (oscilloscopes, multimeters, logic analyzers, power supplies, etc.), and experience troubleshooting embedded systems
Experience with GIT, JIRA, Jenkins and Confluence.
Strong written and verbal communication skills
Experience working in a fast-paced R&D environment, and working in small multidisciplinary teams
Why is This a Great Opportunity:
Successful applicants will support the development of a state-of-the-art remote sensing and communication systems for autonomous underwater vehicles, undersea systems, and other marine applications.
Salary Type : Annual Salary
Salary Min : 140000
Salary Max : 180000
Currency Type : US Dollars