Sparton is a world leader in the design, development, testing and production of complex maritime electronic systems, including sonobuoys in support of Anti-Submarine Warfare, submarine deployed products supporting Undersea Warfare, and depth-rated encapsulated systems to support Subsea and Seabed Warfare.
The Engineer Software III designs and develops software applications. Performs coding, debugging, testing and troubleshooting throughout the application development process. The ESIII with work with other engineering and functional areas to obtain optimum utilization of equipment, machinery and resources. May direct junior level software engineers.
- Develop software modules using the C programming language for real time embedded systems.
- Develop test software modules using C, C++, Python, and/or Labview programming language.
- Develop build automation scripts using Python, Bash, and Windows batch files.
- Participate in software, electronics and system design reviews.
- Understand how to read schematics and understand electronics designs.
- Understand concepts needed for low level software development on “bare metal” systems.
- Understand concepts needed to create drivers for hardware interfaces.
- Test software using lab instrumentation such as oscilloscopes and signal generators.
- File bug reports for defects noticed during testing.
- Correct software bugs and resolve software bug reports.
- Support other software engineers in the software development process.
- Participate in product software failure analysis activities and compile test and failure analysis reports.
- Generates software design documentation and report data from tests.
- Keep accurate and complete records of engineering activities.
- May provide training and/or direction to technicians.
- May provide input to bid and proposal activities.
- May provide communications and/or presentations to customers, suppliers or vendors.
- May require participation in product field tests requiring travel.
Required Education and Experience
- 4-year degree from an accredited university in BSCS, Engineering, or related field OR a combination of education and relevant experience.
- A minimum of 5 years of experience in software.
- Experience with device driver and operating system implementation. Also known as “Low Level” or “Bare metal”.
- Experience with microprocessor components and peripherals (UART, SPI, I2C, DMA, interrupts, clock configuration, etc.)
- Experience with peripherals, such as Analog to Digital Converters (ADCs), Digital to Analog Converters
- Experience with FreeRTOS and Micrium uC-OSII and uC-OSIII (or equivalent)
- Experience developing embedded software in C or C++; additional languages a plus.
- Electrical/Electronic design experience – schematic capture and board layout.
- Desktop and network software development experience a plus.
- Good working knowledge of full software development lifecycle.
- DACs, etc.
- Familiarity of software tools (requirements tracking, compiler, assemblers, debuggers, programmers, JTAG, etc.
- Working knowledge of data acquisition concepts, instrument control, test, measurement and implementation of control interfaces to hardware.
- Knowledge of software systems architecture for embedded real-time systems.
- Digital signal processing algorithm modelling and implementation for audio and /or radio frequency (RF) applications in MATLAB.
- ARM Cortex M Processor Architecture.
- Analog Devices Blackfin processors.
- Digital logic design using Field Programmable Gate Arrays (FPGA) and Complex Programmable Logic Devices *CPLDs) with Verilog and VHDL and verification with ModelSim.
- Familiarity with Intel (formerly Altera) Quartus, Xilinx Vivado design tools, Lattice iCEcube2 software.
- Practical skills for bench-level work, including the ability to configure test equipment to verify design.
- Ability to use original thinking and ingenuity to solve problems.
- Ability to write technical reports and contribute to presentations.
- Proficiency in MS Office Suite including Word, Excel, PowerPoint and Teams.
- Must show initiative and motivation, and have the ability to act independently to resolve technical issues.
The physical demands describe here are representative of those that must be met by an employee to successfully perform the essential functions of the job. While performing the duties of this job, the employee is frequently required to sit, stand, talk and communicate, use hands/finger, feel and reach with arms. This position requires the ability to lift, bend or stoop as necessary up to 20 lbs.
SPARTON provides equal employment opportunities to all employees and applicants for employment without regard to race, color, ancestry, national origin, gender, sexual orientation, marital status, religion, age, disability, gender identity, results of genetic testing, or service in the military. Equal employment opportunity applies to all terms and conditions of employment, including hiring, placement, promotion, termination, layoff, recall, transfer, leave of absence, compensation, and training.
Field Programmable Gate Array
Joint Test Action (Ieee Standards)
Vhsic Hardware Description Language (Vhdl)