Under close supervision, helps design, develop, troubleshoot, and analyze software programs for computer-based systems. Assists in evaluating/determining user needs with the maintenance of single-product models and subsystems. Performs routine systems modeling, simulation, and analysis. Designs and develops compilers, assemblers, utility programs, and operating systems. As required, provides inputs for documentation of new or existing programs. Primarily interfaces with intra-organizational staff with infrequent contact with inter-organizational staff and outside customers and vendors on routine matters.
Duties and Responsibilities:
- Work with team members to investigate new signal/data formats and RF transmission protocols.
- Help facilitate a software baseline that enables analysis and system procurement of continually evolving target sets.
- Be capable of algorithmic design, implementation, optimization, and testing.
Assists in the design and development of computer software systems, in conjunction with hardware product development, for medical, industrial, military, communications, aerospace, and scientific applications, applying principles and techniques of computer science, engineering, and mathematical analysis. Helps analyze software requirements to help determine feasibility of design within time and cost constraints. Assists in the formulation and design of software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design. Assists in evaluating/determining user needs with the maintenance of single-product models and subsystems. Performs routine software system testing procedures, programming, and documentation. Provides support for the acquisition, installation, maintenance and operations of computer systems hardware, software and networks within assigned customer work stations and facilities. May provide technical material to selected proposals and reports to substantiate and secure program funding. Helps to identify creative solutions to improve system and product offerings. May work with engineering and management team to collectively meet market requirements. Helps document engineering work as input for company collateral and patent requirements. Provides input as required to technical writers to create customer-relevant documentation. Coordinates with project work teams to ensure adherence to policies, achievement of quality targets and delivery on schedule milestones.
EDUCATION & EXPERIENCE:
Typically requires bachelor's degree or equivalent and zero to two years of related experience.
- Familiar with: Digital Communication Theory, Digital Signal Processing (DSP), Digital communication protocols and data handling techniques (packet/ asynchronous data and data type interpretations), and geolocation concepts.
- Undergraduate Classes: calculus, linear algebra, physics, digital logic design, C/C++ or Java, statistics, embedded programming.
- Aptitude for learning new software languages such as Java, C/C++, Python/numpy, xmidas, Pearl, SQL, Matlab, and other in house developed languages.
- A background in signal analysis and binary exchange methodologies
- Software development in Linux
- Experience with Graphical User Interface (Qt, TK, Java Swing)
Normal demands associated with an office environment. Ability to work on computer for long periods, and communicate with individuals by telephone, email and face to face. Some travel may be required.