Code4Lib, The University of British Columbia is hiring a Programmer Analyst II in its Library group. This person would work on building and supporting library applications. For full details and to apply go to http://staffcareers.ubc.ca/25057 Description copied below. Cheers, Schuyler Lindberg Programmer Analyst II, Interaction Designer UBCIT | Library Services The University of British Columbia | Vancouver Campus Walter C. Koerner Library 1958 Main Mall | Vancouver BC | V6T 1Z2 Canada [log in to unmask] ---- *Job ID*: 25057 *Location*: Vancouver - Point Grey Campus *Employment* *Group*: Management&Professional (AAPS) *Job Category*: Information Systems & Tech *Classification Title*: Info.Sytems&Technlgy, Level D *Business Title*: Programmer Analyst II *VP/Faculty*: VP Academic & Provost *Department*: UBC IT - Library *Salary Range*: $77,914.00 (minimum) - $97,392.00 (midpoint) - $121,741.00 (maximum) *Full/Part Time*: Full-Time *Ongoing*: Yes *Desired Start Date*: 2016/11/28 *Funding Type*: Budget Funded * Job Summary* The Programmer Analyst II designs computer application solutions for existing complex or campus-wide computer systems requirements. The Programmer Analyst II will play an important role in all aspects of the development of strategic Library Systems applications. These applications include solutions for online library reserves, electronic and digital resources, ILS, authentication systems, web infrastructure and interface systems. * Organizational Status* Reports to the Sr. Manager Library, UBC IT. Generally works under the daily direction of a Team Lead. Interacts directly with other University technology professionals and with faculty, students and Library staff. Work may also be directed and reviewed by a Senior Programmer Analyst or Project Manager for a specific project. The position will work with more senior Programmer Analysts, Build Engineers, Business Analysts and Quality Assurance staff in ensuring the highest quality of the software promoted into our UBC production environments. Work Performed * Specific Duties:* - Works with the Architects and Senior Programmer Analysts to provide input into both the Application and Technical architecture as they relate to the Library Information System -Using a variety of vendor-supplied, in-house and other systems development tools, develops, implements, and provides support for automated library applications, such as - Digital Library systems - Integrated Library system - Federated Search Engines - Content Management systems - Metadata Repository systems - Semantic Web applications - Participates in design and code reviews for other Programmer Analysts to ensure efficiency and adherence to development standards. - Works with other developers, UX Architects/Designers and DBAs on the various design elements associated with software development. Ensures that designs developed by the incumbent are incorporated into Technical Specifications as required, and that these specifications are updated as changes occur. - Builds and maintains good working relationships and collaborates with others to achieve client objectives - Provides input into decisions within established guidelines regarding the application of computing devices or programs to meet set requirements or makes decisions regarding solutions to defined problems. *Core Duties:* - Designs, develops and programs custom software, defines detailed application specifications, standards, and diagrams and develops coding logic flowcharts. - Develops overall systems design, researches and evaluates vendor supplied applications, provides customize or develop recommendations, and implements accordingly. - Analyzes and reviews existing or proposed system features and integration, security, scalability and performance requirements with clients, business analysts, and team members. - Manages small to medium sized projects and related budgets. - Packages in house developed applications for production or integrates vendor supplied applications. - Provides technical expertise, training, and consultation to other staff. - Develops or modifies software application design and specific modules. - Conducts testing of new or customized application modules to ensure application meets specifications. - Documents functions and changes to new or modified modules, tests activities/results, error handling and backup/recovery procedures. - Provides ongoing maintenance and operational support for applications. - Supports software development lifecycle and applies and follows appropriate programming/development methodologies and best practices. - Maintains appropriate professional designations and up-to-date knowledge of current information technology techniques and tools. - Performs other related duties as required. * Supervision Received* Works with considerable latitude and with regard to methods and procedures. Work is reviewed in terms of achievement of broad objectives and goals. Reports to the Sr. Manager Library. Generally works under the daily direction of a Team Lead. The incumbent may report to the Project Manager for specific project based activities and tasks, and may work under the direction of a Senior Programmer Analyst for specific project tasks. * Supervision Given* May provide guidance, coaching and technical leadership to, and provide feedback on performance of less experienced Programmer Analysts. In a project leader role, the Programmer Analyst II may direct and supervises work of other Programmer Analysts, Business Analysts, QAs, users and other staff assigned to projects. May provide input/recommendations into the hiring and evaluation of staff. * Consequence of Error/Judgement* The position takes an active, participatory role in ensuring the reliability and high availability of UBC mission critical 7x24 systems including application monitoring, tier 2 support, problem analysis and resolution, and ensuring services meet or exceed customer service levels at all times. Errors in judgment, poor planning, or failure to act decisively could have a detrimental effect on these systems. Unreliable systems and code errors that disrupt the operations of these system, or failure to meet contractual obligations for performance and availability will damage the reputation of UBC Library and UBC-IT. This could adversely impact the University community, including the large majority of students, faculty and staff, and could cost hundreds of thousands of dollars in lost productivity, funding and revenue. *Qualifications* Undergraduate degree in a relevant discipline. Undergraduate degree in Computer Science preferred. Demonstrated ongoing career development through active and self-motivated professional development. A minimum of 5 years of experience, in-depth knowledge of applications and the business requirements supporting them or the equivalent combination of education and experience. Knowledge of Student Information Systems is an asset. Experience using PHP, Drupal and/or Wordpress development tools/environments; .net, C Sharp development tools/environment; and MS SQL Server and/or MySQL is an asset. Strong knowledge and practical experience using many of the following; core Object Oriented Analysis and Design concepts, design techniques and patterns, UML, XML, Struts and Spring frameworks, Hibernate and ORM concepts, configuration management concepts and tools (e.g. build management, code repositories, version control), preferably Perforce, SVN, Ant and Maven. Experience with the development, operation and maintenance of major online applications. Experience in libraries and/or automated library systems is desirable. In depth knowledge of applications and business requirements supporting them. Experience and knowledge of Web programming (e.g., Ruby, Perl, PHP, Javascript), XML/XSL and other Internet/Web standards, authentication methods and systems (LDAP, Shibboleth, or UBC CWL), current operating systems (Unix including SOLARIS, LINUX, Windows), database management systems (Oracle, mySQL), and related utility programs. Experience designing, developing and implementing Web Services. An understanding of Service Oriented Architecture (SOA) using SOAP would be beneficial. Ability to adapt to changing priorities, manage multiple tasks and meet deadlines. Ability to keep current with developments and trends in information technology. Familiarity with designing and developing applications for mobile devices is an asset. Collaboration - Actively solicits ideas and opinions from others to efficiently and effectively accomplish specific objectives targeted at defined business outcomes. Openly encourages other team members to voice their ideas and concerns. Shows respect for differences and diversity, and disagrees without personalizing issues. Utilizes strengths of team members to achieve optimal performance. Communication for Results - Conducts discussions with and writes memoranda to all levels of colleagues and peer groups in ways that support troubleshooting and problem solving. Seeks and shares relevant information, opinions, and judgments. Handles conflict empathetically. Explains the context of interrelated situations, asks probing questions, and solicits multiple sources of advice prior to taking action when appropriate. Problem Solving - Applies problem-solving methodologies and tools to diagnose and solve operational and interpersonal problems. Determines the potential causes of the problem and devises testing methodologies for validation. Shows empathy and objectivity toward individuals involved in the issue. Analyzes multiple alternatives, risks, and benefits for a range of potential solutions. Recommends resource requirements and collaborates with impacted stakeholders. Accountability - Sets objectives that meet organizational needs. Provides recommendations to individuals and teams on ways to improve performance and meet defined objectives. Monitors and provides feedback on individual and team performance against defined standards. Business Process Knowledge - Maps full business processes and designs operational process flow. Facilitates group input and drafts proposals for process improvements. Identifies resource implications. Implements process improvement recommendations within the context of overall business processes. Information Systems Knowledge - Resolves escalated problems of technical support. Identifies root causes. Sets up and integrates new and enhanced information systems. Identifies customer needs and determines the appropriate approach to apply and ensure resolution. Solicits the input of appropriate technical experts and managers as required. UBC hires on the basis of merit and is strongly committed to equity and diversity within its community. We especially welcome applications from visible minority group members, women, Aboriginal persons, persons with disabilities, persons of minority sexual orientations and gender identities, and others with the skills and knowledge to productively engage with diverse communities. All qualified candidates are encouraged to apply; however Canadians and permanent residents will be given priority.