Software Developer

Overview

The position of Software Developer is part of the Digital Reasoning Systems (DRS) software development group and reports to the Vice President, Product Development and Solutions, with a dotted-line reporting relationship to the Director of Engineering. The Software Developer is primarily responsible for designing and implementing simple to moderately complex sub-programs in Java, based on high-level technical direction from the Chief Architect and requirements and design documentation.

 

Specific tasks and responsibilities include:

-Design and implement moderately complex Java programs based on requirements and design documentation (i.e. use case descriptions, activity diagrams, class diagrams, sequence diagrams, etc.) and direction from the Chief Architect.

-Follow all existing software development standards and procedures, including coding standards, source control standards, etc.

-Thoroughly document code, using Javadoc comments.

-Use Jira (an issues tracking application) to track work assignments and defect resolution.

-Address assigned defects in a timely fashion and participate in all QA efforts.

-Create unit tests for all new code produced (wherever possible).

-Participate in peer-to-peer code reviews.

-Participate in weekly Architecture Review meetings.

-Participate in software life cycle process improvement efforts.

-Review and supply feedback for all associated product documentation (i.e. requirements and design documents, user guides, installation guides, test plans, etc.).

-Perform product demonstrations when necessary.

-Accurately record time spent on specific work items in DRS’s time accounting system.

 

Qualifications

Required

-Must have 3 - 5+ years of Java development experience (specific platform not important).

-Must be a United States citizen and be eligible to obtain a security clearance.

-Must be able to pass a background check.

-Must be able to pass a drug test.

-Must be a strong team player.

-Must be able to work with minimum supervision.

 

Preferred

<!--[endif]-->-Experience with distributed computing paradigms (i.e. Jxta, Jini, etc)

-Experience with SOA

-Experience with creating enterprise software applications

-Experience with the following:

    -Java SE 5.0

    -Java EE

    -SQL

    -C / C++

    -Scripting Languages (i.e. Ruby, Perl, Groovy, etc)

    -HTML

    -Spring

    -Flash/Flex