Senior Software or Computer Engineer

Location: Concord, MA (01742)
Company: Affinity
Industry: IT
Job Type: Full Time
Posted: 21 days ago
Reposted: 7 days ago
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 (eg 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 (eg, 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 (eg 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 (eg 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.