Junior Software Developer working on the Middleware III program in support of the Corporate Reusable Software team (JBlocks). The candidate must be willing to take on a wide variety of complex tasking as new requirements are levied on JBlocks on a regular basis, and are dynamic in complexity. The Software Engineer develops, maintains, and enhances complex and diverse software systems based upon documented requirements. Works individually or as part of a team. Resolves software problem reports and utilizes software development and software design methodologies appropriate to the development environment and provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of COTS/ GOTS in place of new development, and requirements analysis and synthesis from system level to individual software components.Required Skills and Experience:
- Demonstrated proficiency in Java and J2EE programming.
- Demonstrated knowledge of distributed revision control systems.
- Strong understanding of object-oriented programming theory and best practices for modularization and decoupling of complex processes.
- Familiarity with coding and documentation standards and best practices
- Must be able to work well within a team environment, be organized, be able to multi-task, and be able to adapt quickly to new requests and react to unexpected results.
- Must be able to work with minimal supervision.
At least four of the following skills are required:
· Experience implementing multi-threaded applications and with the optimization of complex processes and data structures
· Experience with UML diagrams and/or other methods of expressing the implementation and operation of software
· Familiarity with the CAPCO Register and Manual, and generally with data security policies as they apply to classified environments
· Experience with the various JBlocks libraries, with PKI certificates, and with CASPORT/GOVPORT
· Experience with community-based common data marking formats
Education and Security Requirements:
- TS/SCI Clearance with polygraph
- Bachelor’s Degree or higher in computer engineering or in a field related to the computer engineering or computer science disciplines
- 3 years of Software Engineering experience. An additional 4 years of Software Engineering experience may be substituted for the degree for a total of 7 years.