- Provides expertise in software development and engineering.
- Codes and tests software based upon software specifications and designs.
- Analyzes and studies complex system requirements.
- Designs software tools and subsystems to support software reuse and software development.
- Uses sound software engineering principles to ensure that developed code is modifiable, efficient, reliable, understandable, and fault tolerant.
- Provides software process management and control throughout the coding portion of the software development process.
- Provides SW support such as software development, software testing, software engineering, integrated hardware and software testing, data preparation, distributed processing, analytics and information retrieval, natural language processing, software analysis, visualization & human-computer interface design & development, database and knowledge base research and development, multimedia processing, geolocation, high speed access, and emerging mobile technologies.
- Minimum of five (5) years working on software intensive projects for government or industry customers demonstrating increasing levels of technical expertise and responsibility:
- Within the last five (5) years, a minimum of two (2) years experience with at least one (1) of the operation systems to include Tuning and optimizing the following operating systems: Linux (Redhat, Ubuntu, Fedora, Montavista), Windows 00/XP/Vista, Windows 2000/2003 Server, Mac OS X, Unix.
- Within the last three (3) years, demonstrated programming experience supporting a project for one (1) of the technologies, to include Developing, designing, coding, testing, and debugging with the following technologies: Web Applications, GUI Development, User Interfaces/Usability, Cloud Computing, Map/Reduce, Geolocation, SW Radio, Text Processing, Natural Language Processing, Java-RMI, SOA, SOAP, RESTful Services, Virtualization, TCP/IP, Public Key Infrastructure (PKI), Document Processing, Video and Image Processing, Machine Learning/Classification.
- Demonstrated ability to execute a complete software life cycle (requirements, design, develop, test, validate, deploy).
- Within the last five (5) years, at least three (3) years experience working with C/C++ and/or Java, and an OS scripting language.
- Within the last five (5) years, a minimum of two (2) years experience performing software integration and testing.
- A minimum of two (2) years experience converting/productizing prototype software units into production-ready systems.
- (U) At least one (1) of the following candidates (Principal Engineer, Senior Software Specialist or Software Specialist) shall have the following:
- Within the last three (3) years, a minimum of one (1) year experience in CUDA development and integration on Nvidia GPUs.
- Clearance level- TS/SCI Poly
- Demonstrated experience utilizing structure from motion processing algorithms.
- Demonstrated experience utilizing image or video processing algorithms.
- Demonstrated experience developing for a cloud computing environment (ACUMULO experience will be considered more advantageous).
- Demonstrated experience developing for a streaming/real-time distributed environment.
- Demonstrated experience developing with Google Web Tookkit.
- Demonstrated experience developing in a 3D visualization or gaming environment.
- Demonstrated experience developing in Flash (to include Flex/Actionscript programming).