About the Opportunity:
DMI is seeking a Software Developer independently able to develop and code software solutions that provide needed capabilities in support the RFQ requirements through professional software development to include: data architectures, software assurance, and security; conduct rapid software prototyping to demonstrate and evaluate technologies in relevant environments; conduct performance, security, and other aspects of evaluating software systems; test software capabilities using novel testing and analysis techniques; document software with an emphasis on architectures, user stories, and interface definitions; practice agile software development methods and actively participate on teams of software developers, researchers, designers, and technical leads; support software development infrastructure and assist in building and configuring computing systems and resources; interface with technical community and other government entities to understand challenges, needs, and develop solutions; contribute to improving the overall technical capabilities, by participating in design (software and otherwise) sessions, developing unique capabilities, and sharing insights and practices across government organizations supporting similar missions.
Duties and Responsibilities:
- The Software Developer shall be able to continuously demonstrate and provide professional services related to the following activities:
Evaluates and recommends software development platforms and architectures as well as the hardware requirements for the support of development, testing, quality assurance, and production environments.
- Conducts applied research in the areas of current and emerging computer technology for the purpose of integrating appropriate new technological advances into the mission.
- Develops and maintains software development architecture and makes recommendations for improvement. Establishes and documents software development guidelines, coding standards, and conduct training sessions as needed. Conducts code review and diagnoses technical issues reported.
- Writes program code, compiles, debugs, tests, deploys, documents, and implements programs for new and existing systems (COTS/GOTS/OSS/custom developed).
- Serves as a member of a team of programmers responsible for developing, implementing and maintaining several diverse applications. Modifies existing applications when required and resolves technical issues as needed.
- Designs and develops database schemas, stored procedures and other routine database related programming work.
- Translates system requirements into application prototypes.
- Translates technical specifications into programming specifications.
- Provides input for the configuration of the applications and servers on which application programs run to ensure information security/information assurance principles related to the mission are adequately addressed.
Education and Years of Experience:
- Bachelor's Degree in one of the following areas: Computer Science, Computer Engineering, or Software Engineering from an accredited university/college.
- Minimum/General Experience: Recent work experience as a subject matter expert on a major program, project, or activity. A minimum of seven (7) years recent experience in the direct performance of a major program, project, or activity relating to computer software development at the user and web level, computer programming, and /or computer digitalforensics.
Professional experience listed above shall include:
- five (5) years of intensive software development experience in modern frameworks such as Django or AngularJS
- working knowledge of some modern computing paradigms and environments such as NoSQL systems (MongoDB preferred), cloud computing (AWS preferred) and virtualization, parallel programming, network programming (RESTful interfaces preferred), mobile development, and interface development (Bootstrap preferred)
- familiarity with end-to-end software development activities in Linux/Windows/Unix/Web environments; familiarity with software development tools including IDEs (Eclipse, PyCharm, Atom etc.), version control systems (git, svn, mercurial, etc.) and bug tracking systems (e.g., Jira, Gitlab)
- working knowledge and experience in participating in agile software development practices and team design sessions
- experience working on a software development team
- demonstrated problem solving ability with the ability to explore and evaluate many possible solutions to problems
- proven contribution to open source development projects is a plus.
- Minimum/General Experience: Recent work experience as a subject matter expert on a major program, project, or activity.
- A minimum of seven (7) years recent experience in the direct performance of a major program, project, or activity relating to computer software development at the user and web level, computer programming, and /or computer digitalforensics.
Physical Requirement(s): No Physical requirement needed for this position
Job ID 2018-15023