Brief Summary of Job Duties
Under the general direction of the Director for Digital Library Development, and operating in a large, complex, and heterogeneous computing environment, serves as a developer of digital library systems within a collaborative, cross-functional agile development team. Applies advanced software concepts to provide technical guidance and leadership on medium to large projects of broad scope, complexity, and impact. Frequently engages in analysis of unique issues/problems with limited precedent and/or structure.
Takes responsibility for technical designs and decisions that impact digital library architecture for UC Santa Barbara Library. Takes ownership of architectural decisions on a range of software components. Participates in development and implementation of products and services. Is responsible for code review and ensuring technical quality of deliverables. Coordinates with library, campus, UC system-wide, and external collaborators to determine standards, best practices and strategies. This position is approved for remote work. #LI-KA1
Special Conditions of Employment
Job Functions/Percentage of Time/Duties
Functions as a technical expert within one or more specialty areas including database architecture, client/server system and infrastructure design and development, system architecture for new or existing complex library systems, software service delivery infrastructure (SOA), and software development methodology.
Conceptualizes, plans, designs, develops, modifies, and debugs complex application components.
May lead or provide technical guidance to a development team in the design of highly complex systems.
Works with a full-stack team to define and implement logical and physical architecture.
Works collaboratively with library, campus and UC system-wide, and external peers to develop and deploy digital library solutions.
Collaborates with product owners and other stakeholders to determine and document system requirements.
Consults on deliverables and timeline for implementing projects, contributing to statements of work for the project, application or service(s).
Uses agile methodologies in working with project managers and product owners to adjust project scope when needed, evaluating resource needs to achieve successful implementation of features as specified.
Provides development and implementation for architecture design concepts.
Provides guidance in implementing industry standards and best practices.
Contributes to documentation of systems architecture.
Defines domain boundaries, API functionality, and data structure to promote clean separation of responsibility in an SOA/microservices environment.
Promotes improvements in DevOps, including version control, continuous integration and delivery, and application observability to maximize team efficiency.
Develops technical requirements and assesses suitable solutions to varied workflow needs.
Architects solutions in Amazon Web Services (AWS) that meet specified performance and security expectations. Builds detailed cost models for the solution, including one-time costs for professional services and ongoing costs for AWS Service consumption and
Digital Library's managed services.
Prepares and obtains approval for system and programming documentation. Initiates and oversees changes in development, maintenance, and system standards.
Establishes the technical requirements for complex software specifications.
Follows established campus and departmental policies and procedures.
Application Development, 45%
Functions as a technical expert on application development with Ruby on Rails and other technologies. Leads other Rails developers in agile, test-driven development.
Designs, implements, and deploys automated tests and continuous integration solutions that optimize the quality of library products.
Performs or directs data modeling, performance, and integration testing, and builds interfaces.
Employs established source code control techniques and configuration management design to initiate, design, develop, and deploy large repository systems.
Helps break down, estimate, and provide just-in-time design for small increments of work.
Helps identify coding patterns and anti-patterns, and enforces implementation of patterns through code reviews. Applies best practices and design patterns when writing code.
Performs analysis, technology evaluation, and design spikes to define architecture supporting high-quality resilient software.
Enforces project plans.
Mentors junior engineers, participating in peer code reviews and occasional pair programming.
Performs complex feasibility analysis on potential future projects and presents findings to library administration.
Takes part in departmental planning meetings.
Contributes to library and campus committees, as appropriate.
Participates in open source collaborations on behalf of UC Santa Barbara.
Attends trainings, workshops, and conferences.
Performs other duties as assigned.
Equal Opportunity/Affirmative Action Statement
The University of California is an Equal Opportunity/Affirmative Action Employer, and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability status, protected veteran status, or any other characteristic protected by law.
The University of California endeavors to make https://jobs.ucsb.edu accessible to any and all users. If you would like to contact us regarding the accessibility of our website or need assistance completing the application process, please contact Katherine Abad in Human Resources at 805-893-4664 or email firstname.lastname@example.org. This contact information is for accommodation requests only and cannot be used to inquire about the status of applications.