*1099 available

Description:

We are seeking a Software Developer to design, develop, troubleshoot and analyze routine, complicated and difficult software programs for computer-based systems. The software engineer will advise hardware engineers on machine characteristics that affect software systems, such as storage capacity, processing speed and input/output requirements. As required, provides inputs for documentation of new or existing programs.

Capabilities:

  • Use object-oriented techniques, programming languages, and standard methodologies, including classic development, waterfall, and agile methods (Extreme programming).
  • Perform deployment, installation, maintenance, quality control monitoring, and implementation of software at Government specified locations.
  • Maintain processes to log and track customer service requests.
  • Maintain/develop software products to be used on a variety of platforms.
  • Uses Configuration Management (CM) tools, such as Subversion/Trac or Git
  • Codes in eXtensible Mark-up Language (XML)/W3C XML Schema to C++ Compiler (XSD)
  • Applies middleware technologies, such as enterprise service bus (ESB), CORBA, or Internet Communications Engine (ICE)
  • Uses Integrated Development Environments (IDEs), such as JBuilder and/or Eclipse
  • Design, develop, and document system and subsystem-level code. This includes support.
    for system requirements, preliminary design, detailed design and specifications, data dictionaries, interface control/design documents, user help information/manuals, maintenance information/manuals, operations information/manuals, program code, quality assurance activities, and test.
  • Develop customer requirements and information needs into software specifications that can be implemented.
  • Maintain/modify software code to add new features, correct errors, adapt to new hardware, or to improve system performance.
  • Integrate with other signal repositories when prioritized by the Government.
  • Perform system and unit level testing. This includes test plans and procedures, documentation of test results and development of special test code. Plan/conduct regression tests after each code modification, upgrade enhancement.
  • Use object-oriented techniques, programming languages, and standard methodologies, including classic development, waterfall, and agile methods (Extreme programming).
  • Proficient with Linux/UNIX is required.
  • Development experience (C++, JAVA, XML/XSD), scripting language experience, (Python or Perl), JAVA GUI development experience and Web framework experience (i.e. Ruby on Rails, Django, SpringFramework, or Zope) is required.
  • Performs system and unit level testing. This includes test plans and procedures, documentation of test results and development of special test code. Plans/conducts regression tests after each code modification, upgrade enhancement.
  • Develops and applies advanced methods, theories and research techniques in the investigation and solution of complex and advanced software applications and problems. Conducts, technically directs and evaluates projects or major phases of significant projects, coordinating the efforts of
    engineers and technical support staff in the performance of assigned projects. Conducts investigations and test of considerable complexity. Reviews literature, patents and current practices relevant to the solution of assigned projects. Evaluates vendor capabilities to provide required
    products or services. Provides technical consultation to other organizations.
  • Interacts with project customers and stakeholders to report project status and manage subsystems requirements.
  • Researches, evaluates, and assesses software tools and technologies such as Free and Open Source Software (FOSS), Government-off-the-shelf (GOTS), Commercial-off-the-shelf (COTS), and incorporates those findings into the overall software system design.
  • Implements Service Oriented Architecture (SOA)/middleware technologies, such as ESB, CORBA, Simple Object Access Protocol (SOAP), and ICE

Qualifications:

  • Master's Degree in Computer Science or Computer Engineering from an accredited college or university is required. A bachelor's degree and two (2) additional years of software related experience OR six (6) additional years of software related experience may be substituted for a master’s degree.
  • Fifteen (15) years experience in software application design and development performing coding, debugging, testing and troubleshooting throughout the application development process.
  • Twelve (12) years experience leading teams of software design and development for collection systems and components is required.