|Date Posted||August 9, 2019|
PRIMARY DUTIES AND RESPONSIBILITIES:
The Operational Based Vision Assessment (OBVA) Laboratory Senior Software Developer provides application software development services or technical support, typically for a defined project, by designing, developing, and analyzing complicated and difficult software programs for computer based systems to include compilers, assemblers, and utility programs. Develops program logic for new applications, modify, and analyze existing application logic. Codes, tests, debugs, documents, implements and maintains software applications. Maintains hardware and software for simulation and computer equipment located in the laboratory. Solves complex problems requiring detailed knowledge of field and industry best practices including exploring how the human visual system interacts with such hardware and software. Uses experience and problem solving skills to develop and improve processes. Performs systems modeling, simulation and analysis. Collaborates on machine characteristics that affect software systems and resolves incompatibilities. Provides engineering support for operations of the Operational Based Vision Assessment (OBVA) laboratory and any satellite data collection sites. Interacts with vision scientists and Government Principal Investigators and provides work leadership to a small team of software engineers. Use Agile project management to meet Government software development requirements for laboratory research projects involving prototype user interfaces and virtual environments, including HMDs and other augmented reality systems. Manages aspects of the OBVA laboratory's Automated Vision Test system design, development, deployment, and sustainment, the latter including data collection and aggregation from deployed systems within the lab and with U.S. and international collaboration partners. Performs or coordinates all engineering maintenance and support for laboratory equipment and simulations to include maintenance of a high resolution flight simulator consisting of 15 4K projectors and a 4m half dome screen.
EXPERIENCE & EDUCATION:
Bachelor's Degree in Engineering, Computer Science, or related technical field required, Master's Degree preferred. 5+ years applicable software design engineering experience.
REQUIRED SKILLS & TRAINING:
Strong visualization skills with the ability to clearly communicate both in writing and orally.
Highly refined analytical, problem-solving, task management, and organizational skills.
Understand Agile project management principles and their application in software development.
Ability to work collaboratively within a multi-disciplinary team environment among functional peers to support deadlines.
Proficient with Microsoft Office (especially PowerPoint, Excel, and Project) required.
Experience with Matlab and Simulink, C/C++, C# VB.NET, Python, SQL, and/or Visual Studio.
Experience with one or more graphics programming pipelines (OpenGL, DirectX, Vulcan) including writing vertex, geometry, and pixel shader programs.
Understanding of mathematics used in 3D graphics programming such as vector algebra, quaternion transformations, collision detection and ray tracing.
Must be able to attain a Secret Clearance once converted.
Previous experience designing and developing software in support of research projects in a laboratory environment is highly desired.
Experience integrating sensors and other third party hardware into software systems is highly desired. Examples include spectrometers, cameras, magnetic and optical motion tracking systems, photo-diodes, stereoscopic glasses, etc.
Experience with flight simulation and training software such as Diamond Visionics, MetaVR, Quantum3D, X-Plane including multi-channel / multi-projector setups is desired
Experience developing software for virtual and augmented reality HMDs such as Vive, Oculus Rift, HoloLens is desired
Experience with display/projector calibration and characterization is desired
Interest in visual psychophysics, optometry/ophthalmology, ophthalmic equipment/tests is desired
Experience with the fundamentals of optics
Experience implementing code using equations and concepts from mathematical statistics to include psychometric equations, sampling methods, and randomization methods