
|
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 |
