You are viewing a preview of this job. Log in or register to view more details about this job.

Java Developer

CSC
This position is for a junior developer to join the Digital Repository development team at the National Library of Medicine.  The Digital Repository digitally preserves and makes accessible content at the National Library of Medicine, including books, films and images.  The Digital Repository is a best-of-breed system that heavily makes use of and customizes open-source software tools such as Fedora Commons, Solr, Blacklight, Djatoka, Loris, NWU BookViewer, Tomcat, Java and MySQL.

Essential Job Functions
  • Codes, tests, debugs, implements, and documents programs. Assists in the modification of company products and/or customer/internal systems to meet the needs of the client and/or end-user.
  • Gathers information from the system, analyzes program and time requirements, and prepares documentation to change existing programs.
  • Researches and analyzes existing systems and program requirements, under periodic supervision.
  • Designs programs for projects or enhancements to existing programs.
  • Writes specifications for programs of low to moderate complexity.
  • Assists in resolving production support problems. Develops and suggests alternative approaches to resolving problems.
  • Develops test plans to verify logic of new or modified programs. Identifies issues as appropriate.
  • Creates appropriate documentation in work assignments such as program code, and technical documentation.
  • Conducts quality assurance activities such as peer reviews.
  • Remains abreast of and researches industry technical trends and new development to maintain current skills and remain current with industry standards.

Responsibilities
  • Develop software for repository data processing, including code to obtain, create, parse and transform text, XML, pdf and binary files, and to invoke image and video manipulation routines
  • Develop software for repository ingest processing, including code to create, move and replicate files and directories, to manage and invoke ingest procedures, and to obtain and report on file and process status
  • Develop software for repository data preservation, including code to store, migrate, replicate, validate and audit files, data and metadata
  • Develop software to automate and integrate the above processes, using toolsets such as Camel
  • Develop application code to integrate with open source and third-party systems for data retrieval, replication, and task automation, scheduling and status
  • Develop prototype and production user interfaces using Ruby on Rails, Django, or Java
  • Develop and execute software unit and test cases to test system functionality, performance, security and scalability
  • Develop other software as needed to support the Digital Repository project
  • Store and version source code using the project version control tool
  • Track development progress using the project issue tracking tool
  • Document system administration, data manipulation, and scripted procedures using the project wiki