A Software Engineer II is a professional with an advanced degree and experience with software and/or firmware design. In this role, the individual will work directly with engineering staff to design, develop, and validate various special purpose communication systems supporting the U.S. military. This individual will perform detailed software and/or firmware design/analysis, work closely with project leads to coordinate prototyping activities, and be responsible for the assigned software and system design from concept through pre-production phase. The individual must have a good working and analytical knowledge of POSIX or Win32 multithreaded design, real-time programming, real-time operating systems, demonstrated C/C++ coding experience, and object oriented design skills. This individual may be responsible for forming project teams when projects become large or are beyond their skill set, experience, or abilities.
Essential Duties and Responsibilities:
• Design and validate complex software projects utilizing skills in C, C++, and operating systems (such as VxWorks, Linux, Windows, Solaris, etc.)
• Perform detailed software and firmware sub-system analysis, simulation, and design work as required.
• Work with software/firmware system concepts and detailed software/firmware design to properly determine the necessary design tradeoffs.
• Participate in system test planning and system test procedure generation for first articles.
• Provide support to the design, development, and design verification testing of real-time and GUI software designs.
• Generate user documentation (such as user manuals and user guides).
• Participate in all phases of design activities.
• Generate all necessary design documentation in a timely fashion.
• Oversee activities for sustaining and technical support projects.
• Work closely and share innovative ideas with engineering, sales, and manufacturing.
• B.S. in Software Engineering (or equivalent) with a minimum 2+ years experience in hands-on design, implementation, and testing of software.
• Demonstrated strength with C/C++ programming.
• Demonstrated experience with object oriented design principles.
• Experience with POSIX and/or Win32 multithreaded software applications.
• Experience with GUI application design.
• Experience with creating applications to operate in real-time operating systems.
• Working knowledge of hardware device communication techniques.
• Knowledge with interfacing to embedded computing systems.
• Demonstrated ability to solve practical problems and with a variety of variables in situations where only limited standardization exists.
• Working knowledge of top-down design capabilities.
• Demonstrated ability to work within or lead a small technical development team.
• The ability to work with and without direct supervision.
• The ability to interpret a variety of instructions furnished in written, oral, diagrammatic, etc. forms, and move projects to completion.
• Understanding of software industry project lines and industry roadmaps.
• Computer literate.
• Excellent communication and interpersonal skills.
• Experience with digital busses (VME, PCI, etc.) and architecture concepts.
• Experience with NTDS (MIL-STD-1397), ATDS (MIL-STD-188-203-1), and 1553 (MIL-STD-1553) communication protocols.
• Working knowledge of design and implementation of state machines.
• Working knowledge of device drivers.
• Working knowledge of design and implementation of microprocessor or DSP embedded computing systems.
• Military background is a plus.
The individual must have the ability to read, write, and understand spoken English; the ability to read and understand product requirements and performance specifications; and the ability to read and understand schematics, assembly drawings, parts lists, test procedures, engineering drawings, technical procedures, and governmental regulations. The individual must have strong communication skills and the ability to interface directly with customers.
The individual may be required to obtain a U.S. Government Security Clearance.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. While performing the duties of this job, the employee is occasionally required to stand, walk, and sit. The employee must occasionally lift and/or move up to 50 pounds. Specific vision abilities required by this job include color vision and the ability to adjust focus.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals to perform the essential functions. The noise level in the work environment is generally quiet, but may be moderate when various test fixtures are operating.