|Job Title||Software Engineer, Java Developer, 130035E|
|Location||Fort Meade, MD|
|Description||Currently looking for a mid-level Java Developer to be an integral part of the Rapid Response Development Teams (RRDTS). RRDTs exist to develop and provide agile, mission-driven capabilities specific to a particular need in a short period of time (<3 months). In this position, a mid-level Java Developer will act as the back-end developer on the team and will support the team via writing client and server-side code for web-based applications. The successful candidate will have knowledge of distributed systems, OS/kernel, network system design, and large scale storage systems. In addition, the engineer will be expected to design and implement data models and algorithms within a complex, SOA-based, distributed system. This position requires a TS/SCI with polygraph.
Technical Skills required for the position include:
- 4 or more years of experience in software development with in-depth experience developing numerous web-based applications
- Distributed systems and architecture knowledge and experience
- Hands on programming capabilities in C++ and/or Java with extensive knowledge of Unix/ Linux
- Knowledge of TCP/IP and network programming
- Solid foundation in data structures, algorithms and software design
- Some familiarity with mobile development platforms to include working knowledge of iOS and Android development environments
- Experience building applications on NoSQL databases such as hBase or Accumulo
- Experience building applications on top of relational databases such as MySQL and/or PostgreSQL
- Experience or familiarity with SOLR, ElasticSearch and other Lucene Indices
Essential Job Functions
- Performs highly complex systems modeling, simulation and analysis to provide appropriate solution.
- Conducts investigations and tests of complex software systems to enhance performance or to investigate and resolve matters of significance.
- Reviews completion and implementation of technical products to ensure success and timeliness.
- Reviews literature, patents and current practices relevant to the solution of more complex projects.
- Recommends corrections in complex technical applications and analysis to enhance performance.
- Evaluates vendor capabilities on projects to provide required products or services.
- Provides leadership and work guidance to less experienced personnel.
- Provides technical consultation to other organizations; interacts with senior customer personnel and internal senior management.
- Provides the customer base with first level support.
- Bachelor's degree or equivalent combination of education and experience
- Bachelor's degree in computer science, management information systems, or related field preferred
- Six or more years of experience in software engineering or operating systems programming
- Experience working with software design principles
- Strong analytical and creative problem solving skills to resolve highly complex software design issues and create new software for one or more products
- Good leadership skills to mentor, oversee, and lead team members
- Good interpersonal skills to interact with senior customers, management, and team members
- Good communication skills to interact with team members and senior support personnel
- Ability to synthesize broad and narrow concepts of high complexity and use them to meet company objectives
- Ability to work independently and as part of a team