What follows is a copy and paste from a post on jasig-portal.
Johns Hopkins Sheridan Libraries is looking for a Java Programmer; what follows is copy and paste from
the job requisition:
The Sheridan Libraries at Johns Hopkins works on several, leading edge digital library initiatives, with content ranging from astronomy to sheet music, and application work that encompasses e-publishing and e-learning systems such as Sakai. This programmer would play an integral role in supporting these digital initiatives, and enabling new projects and activities.
General Description: The Sheridan Libraries at Johns Hopkins
University is seeking a motivated, energetic, results-oriented individual to join the Library Digital Programs (LDP) as a
Programmer/Analyst. In response to requirements and policies that focus on user needs, the LDP leads the technical development of an institutional repository that represents the foundation for digital library collections, services and infrastructure that support learning, research, scholarly communication and preservation. The Programmer/Analyst will work on the Libraries’ repository application implementations (initially, DSpace and Fedora), administer the repository’s cocoon and/or tomcat architectures, build interfaces both to enable end user access and to integrate systems (e.g., modify an application to work with a repository).
Work is complex and varied in nature. Defines and discerns key aspects of a problem and develops an integrated solution within a broad technical and business context. May provide guidance/training to more junior staff; Advise supervisor of priorities and proposed solutions; Designs and writes programs to support activities of the institutional repository; Applies system analysis techniques and procedures to determine software and system functional and technical specifications; Analyzes, designs, develops/maintains, documents, and tests new or existing programs based on approved functional and technical system design specifications; Performs complex, intricate and important programming tasks; creates and/or modifies, and tests computer systems or programs; Uses programming knowledge and critical thinking to evaluate and resolve technical or procedural problems within the scope of assigned tasks; Develops, or reviews, technical documentation, recommends product fixes and enhancements (e.g., source code comments, wiki updates).
The Sheridan Libraries encompass the Milton S. Eisenhower Library and its collections at the John Work Garrett Library, the George Peabody Library, and the Albert D. Hutzler Undergraduate Reading Room. Its primary constituency is the students and faculty in the schools of Arts & Sciences, Engineering, and Professional Studies in Business & Education. A key partner in the academic enterprise, the library is a leader in the innovative application of information technology and has implemented notable diversity and organizational development programs.
The Sheridan Libraries are strongly committed to diversity. A strategic goal of the Libraries is to "work toward achieving diversity when recruiting new and promoting existing staff." The Libraries prize initiative, creativity, professionalism, and teamwork.
Qualifications: Bachelor's degree in Computer Science, Engineering,
Information Science, Library Science or related field. Three or more years of significant development experience in an object oriented development environment such as
Java. Additional experience may be substituted for education. Experience with repository software (such as DSpace of Fedora). Understanding of Java application frameworks (e.g., Spring, EJB3), Java servlet container or application server environments (e.g., Apache Tomcat, JBoss). Experience with XML programming in Java.
Experience with OR/M persistence technology such as Hibernate.
Experience with source control management. Demonstrated experience with the Unix operating system and environment and multiple programming languages. Demonstrated proficiency using Java to parse XML either using JAXP or binding/serialization frameworks such as XStream, JAXB, etc.
Strong analytical and problem solving skills with the ability to evaluate options, develop and recommend solutions. Ability to work independently and creatively within a collaborative, dynamic environment. Excellent oral and written communication skills and interpersonal skills.
Preferred Qualifications: Master’s degree in Computer Science,
Engineering, Information Science, Library Science or related field.
Experience with IT in a higher education environment. Experience with Java build tools such as Maven or Ant. Ability to work in an API environment and experience with SOAP and/or REST. Experience with information retrieval technologies (e.g., Lucene), and programming best practices, including design patterns and unit test development.
Experience evaluating new technologies and developing functional requirements through use case analysis. Familiarity with metadata formats (e.g., Dublin Core, METS). Ability to communicate with technical and non-technical individuals, including the ability to prepare project documentation to support training and best practices.
NOTE: The successful candidate(s) for this position will be subject to a pre-employment background check.