Software Developer

Washington, D.C.
0 other recent jobs
Created: June 19, 2014


The Library of Congress seeks a software developer to support the ongoing development of web applications supporting its digital repository services. The ideal candidate has:  Experience developing in a modern programming language (such as Java or Python), interest in using and contributing to open source tools, experience developing applications using contemporary web frameworks (such as Spring or Django), experience with software testing and code reviews, and experience using version control (such as Git) and ticket tracking tools (such as Trac, Github, JIRA).

For an idea of some of the software projects the Library of Congress develops, please see our Github organization page

The incumbent reports to the Project Manager for Digital Initiatives in repository development and works with a specialized group of programmers on complex, multi-faceted prototype and production systems, and assists with software analysis, design, development, documentation and implementation of these systems. The incumbent updates and modifies existing Library applications, designs and implements new applications, generates documentation, and is responsible for the maintenance and upgrades. The position resolves the critical issues affecting the configuration of the information technology (IT) infrastructure and conducts information requirements analysis to identify priority areas for improvement of current systems.
  • This position is located in the Office of Strategic Initiatives.
  • The position description number for this position is 202955.
  • The salary range indicated reflects the locality pay adjustments for the Washington, D.C., Metropolitan area.
  • The incumbent of this position will work a flextime work schedule.
  • This is a non-supervisory, bargaining unit position.

Relocation expenses will not be authorized for the person(s) selected under this vacancy announcement.


Conducts application design, programming and testing work encompassing the full range of applications development for major software projects. Has a working knowledge of the Python and/or Java language to participate in developing new web applications and maintaining existing applications. Designs and develops APIs to support creation of XML or JSON based REST or SOAP services. Ensures applications are consistent with a service based architecture and open data standards able to run in a clustered configuration. Familiar with search and indexing technologies such as Lucene and SOLR.

Monitors implementation, maintenance, enhancement, and coordination of online systems and Web site(s) on the Internet. Supplies technical aid to resolve issues and problems related to sites and applications. Oversees emerging web technologies and directions and makes recommendations accordingly. Analyzes and advises on program related information technology (IT) issues or problems where novel analytical techniques must be developed to identify and evaluate findings. Requires willingness to learn new technologies. Identifies issues relevant to the Library of Congress. Makes recommendations related to enhancing the development and operations of Library of Congress web applications.

Participates in the administration of a managed Linux based development application development environment utilizing server virtualization and automation tools. Working knowledge of web hosting configuration components, including firewalls, load balancers, web and database servers. Plans and analyzes systems configuration and whether changes are needed to support the organization's program of work.


Applicants must have had progressively responsible experience and training sufficient in scope and quality to furnish them with an acceptable level of the following knowledge, skills, and abilities to perform the duties of the position without more than normal supervision.
  • Knowledge of web hosting configuration components.**
  • Ability to develop web applications using various technologies.**
  • Knowledge of application lifecycle processes, including design, development and testing.**
  • Ability to create and maintain websites.
  • Ability to communicate in writing.
  • Ability to communicate effectively other than in writing.
  • No additional requirements to those listed above.

Last updated: Tuesday, February 28, 2017 23:43 UTC