This position REQUIRES that a RESUME and COVER LETTER be submitted in addition to the UCLA Application. Please have ALL FILES ready when applying.
Department Summary
The Software Developer is a member of the Software Development & Library Systems (SDLS) unit. The SDLS unit is comprised of 10 Software Developers, 3 Sysadmins, and 2 UX Designers, who are grouped into four development sub-teams: 1) the Apps Team, which builds public-facing applications, 2) the Services Team, which builds backend services and APIs; 3) the Systems Team, which builds internal applications and manages vendor systems, and 4) the Labs Team, which performs experimental projects. In addition to the four development sub-teams, SDLS also includes the Dev Support Team (sysadmins) and the UX Team. Members from those two groups are embedded in the three development teams. The unit follows a Kanban method of Agile development, wherein each sub-team meets weekly for backlog grooming and the entire unit meets for weekly standups and quarterly retrospectives. The unit strives for a DevOps culture of collaboration, feedback & improvement, and continual learning. Evidence of this culture includes stakeholders participating in backlog grooming and standups, regular monitoring of retrospective action items, and team-wide isolated time for learning and experimentation. The team also embraces a remote-first culture, with permanently remote members across 4 time zones.The Software Development & Library Systems unit is part of the Digital Initiatives and Information Technology (DIIT) department, which is comprised of over 40 staff members in four functional units: 1) the Software Development Team, as described above, 2) the Core Ops Team, which supports the network and manages the servers and storage in the datacenter, 3) the Service Desk and CLICC program which provide IT hardware support and enterprise application support to Library staff and lends laptops and other hardware to students, and 4) the Digital Library Program which works with partners, both internal to UCLA and across the globe, to execute projects that digitize, describe, and publish archival materials. Position Summary
Reporting to the Head of Software Development & Library Systems, the Archival Systems & Services Software Developer contributes to the technical design and development of applications and services developed by the UCLA Library, with a focus on building solutions to facilitate the Film & Television Archive's (FTVA) technology modernization and data migration projects. The Archival Systems & Services Software Developer works collaboratively with peers in the Software Development unit, as well as with colleagues and stakeholders in various units across the Library (on the Westwood campus) and the FTVA (located in Santa Clarita). The Archival Systems & Services Software Developer will start out as a member of the Systems Team, focusing on the cleanup and migration of data in multiple Filemaker Pro databases to new systems of record. These include vendor-supplied systems for catalog & discovery, such as Alma, Primo, and CollectionSpace. This work will also include the development of custom-built staff-facing applications for the management of collections and business data. This software will be built mostly with Python and Django, with HTML/CSS and JavaScript (and VueJS) used in the user interfaces. The Archival Systems & Services Software Developer may also contribute to projects supporting data and materials from other departments, such as Special Collections. This work would involve other vendor systems, such as ArchivesSpace and Aeon. Once our new Media Asset Management System (smartWork|EVO) is deployed, the Archival Systems & Services Software Developer may shift to the Services Team and focus on building services that support the lifecycle of asset management and integrations between the MAMS and other systems. This work will be done in a mixture of Go, Java, and Python.
Salary & Compensation
*UCLA provides a full pay range. Actual salary offers consider factors, including budget, prior experience, skills, knowledge, abilities, education, licensure and certifications, and other business considerations. Salary offers at the top of the range are not common. Visit UC Benefit package to discover benefits that start on day one, and UC Total Compensation Estimator to calculate the total compensation value with benefits. Qualifications
3 Experience developing software for data transformations (Required)
3 Experience in a library or archive working with systems and metadata structures for the management of collections and assets (Preferred)
Demonstrated ability to communicate effectively both orally and in written form with users, peers, and management about technology. (Required)
Demonstrated ability to understand both functional and non-functional needs and apply problem-solving skills and knowledge of distributed systems and modern software architectures to meet those needs. (Required)
Demonstrated knowledge, experience, and commitment to thorough software testing. (Required)
Demonstrated expertise with the Python programming language and fluency with a second programming language (preferably JavaScript, Go, or Java). (Required)
Demonstrated fluency with web development fundamentals (HTTP, TCP/IP, HTML, CSS, JavaScript, REST APIs). (Required)
Demonstrated knowledge of relational databases and SQL and experience building applications that use them. (Required)
Demonstrated experience with modern development tools for version control, continuous integration, containerization, and monitoring. (Required)
Knowledge and experience working with library and archive metadata structures (EAD, MARC, DC), encodings (XML) and systems (ArchivesSpace, Alma). (Required)
Knowledge of and experience developing with a search index (preferably Elastic, Solr OK). (Required)
Knowledge of and experience developing with the IIIF specifications and ecosystem of tools. (Preferred)
Demonstrated experience building web applications with Django. (Preferred)
Knowledge of and experience working with audio and video file formats. (Preferred)
Education, Licenses, Certifications & Personal Affiliations
Bachelor's Degree Computer Science, Information Systems, or related field or equivalent experience/training (Required)
Master's Degree Library or Information Science (Preferred)
Special Conditions for Employment
Background Check: Continued employment is contingent upon the completion of a satisfactory background investigation.
Why work at UCLA? Benefits:UCLA offers a comprehensive benefits package, including an average of three weeks' vacation per year; an average of 12 days per year sick leave; 13 paid holidays per year; health, dental and optical benefits; life insurance; disability insurance; the University of California Retirement Plan with 5 year vesting and various voluntary UC Savings Plans. There are also special programs and privileges available, such as accessibility to cultural and recreational programs, athletic events, and the University Credit Union. The University of California is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, national origin, disability, or protected veteran status.