What You’ll Do:
- Individual must have principal knowledge and principal hands-on experience in developing, implementing and leading software applications and teams.
- As a Principal Software Engineer, this position is responsible for creating, maintaining and/or improving the software code, with duties to design and update software databases under contract and direction from the assigned Government Lead.
- The Principal Software Engineer maintains broad awareness of the functions, responsibilities and demands levied on the DevCorps and can provide input to and communicating strategic direction in concurrence with Government leaders.
- The Principal Software Engineer has a demonstrated understanding of the full lifecycle of software development and is able to communicate it effectively to others.
- Clear communication skills are required such that highly technical and complex concepts and methods can be effectively transmitted to a non-technical and/or junior officer audience.
- Astute ability in writing test scripts, test driven development, in an Agile software development environment, where built in automated test procedures are paramount and continuous integration of software and continuous delivery of software, to the Government is the culture.
- This competency is required to further create, test and maintain software products to ensure strong functionality and optimization.
- The Principal Software Engineer recommends improvements to existing software applications as necessary.
- Individual shall be capable of performing the software tasks identified in the contract requirements in forming and working on Government/Contractor software coding teams.
- This job role is expected to be filled by personnel possessing the highest possible levels of skill in software engineering and development.
- Ability to work well within a team environment and ability to adapt to evolving priorities is required.
- This job role may also be assigned squad lead duties at the discretion of Government leads.
- Maintain a regular and predictable work schedule.
- Establish and maintain effective working relationships within the department, the SBU/SSU and the Company. Interact appropriately with others in order to maintain a positive and productive work environment.
- Perform other duties as necessary.
What You’ll Need:
- BS degree or higher in Engineering or a related technical field is required plus 12 or more years related experience
- Each higher-level degree, i.e., Master’s Degree or Ph.D., may substitute for two years of experience. Related technical experience may be considered in lieu of education. Degree must be from a university, college, or school which is accredited by an agency recognized by the US Secretary of Education, US Department of Education.
- Demonstrated firsthand experience in at least four of the following:
- Java, JavaScript or Python enterprise application development
- Web services architecture, design, and development
- Relational database design
- Spatial database design
- NoSQL database design
- Micro-service architecture, design and development
- In depth experience with Agile philosophies, serving as scrum or team lead.
- Experience with Continuous Delivery and Continuous Integration (CI/CD) techniques, test-driven development, or automated testing practices.
- Demonstrated experience with relational database development.
- Possession of an active TS//SCI level, or above, security clearance.
- Experience in full stack development to include Java, Web services, Database, and micro-service development.
Desired Education/Experience:
- Possesses at least one of the Agile Development Certifications
- Certified Scrum Master
- Agile Certified Practitioner (PMI-ACP)
- Certified Scrum Professional
- Master of Science or equivalent in Computer Science, Engineering, Mathematics or Information Systems.
- 16 years’ or more experience in full stack development to include Java, Web services, Database, and micro-service development.
- 7 years’ or more experience with agile and lean philosophies, serving as scrum or team lead.
- Development of customized code, scripts, modules, macro procedures, or libraries to implement specialized spatial analysis functions using languages such as Python, Java, JavaScript, PHP, C, Perl, or similar scripting and development languages.
- Experience working independently with clients or stakeholders to develop user-stories in support of full-service consumer and business applications.
- Integration and tailoring of geospatial Commercial Off-The-Shelf (COTS) software applications; specialized software and database development and maintenance; integration of related specialized hardware; engineering studies to identify and remedy geodata processing bottlenecks.
- Experience with government and/or commercial imagery products, to include SAR or related RADAR imaging technologies.
- Experience working with and developing geospatial information systems (GIS) to include open-source and proprietary geospatial formats
- Use and development with common geospatial tools, data, and operating platforms. These may include, but are not limited to:
- Tools - Boundless Spatial suite, Remote View, PostGRES/PostGIS, Oracle Spatial and/or other geospatial databases, ArcGIS Desktop, ArcGIS Server, Image Server, and File Geodatabases.
- Data formats including KML, KMZ, NITF, TIFF, JPEG, GeoPDF, and similar geo-related formats and data structures.
- Operating Platforms – ESRI, OpenGeo Suite, or similar.
- In-depth experience abstracting new or legacy systems via standards-based API’s to include web services. Including but not limited to Open Geospatial Consortium standards.
- Demonstrated experience in at least one of the following:
- Developing terrain analysis visualization and algorithms.
- Developing automated detection algorithms.