Position Type: Permanent Staff
Department: Sch of Inform and Libr Science - 370101
Appointment Type: EHRA Non-Faculty
Vacancy ID: NF0003440
Position Summary: The School of Information and Library Science (SILS) seeks to advance the profession and practice of librarianship and information science; to prepare students for careers in the field of information and library science; and to make significant contributions to the study of information. Faculty members further these goals by teaching and advisory work; by research and scholarly publishing; and by service to the School, the university, the state, and the professional community. POSITION SUMMARY: The Software Developer for the School of Information and Library Science provides software development support for the Review, Appraisal, and Triage of Mail (RATOM) project in the School of Information and Library Science. RATOM is a research effort being conducted in partnership with the Division of Archives and Records of North Carolina. The position provides production-quality software design and applications programming to support deliverables for the RATOM grant, including the design, implementation, and testing of software to support email analysis, preservation, and access within the context of collecting institution workflows. The position provides expertise in natural language processing and machine learning platforms with Python APIs to explore approaches in identifying features of interest (entities, sensitive items) within email collections, classifying email messages, and creating reports and visualizations from the results. The position will work closely with the project team, interacting with institutional users to identify and refine use cases for the software when applied to real-world collections. The position requires significant initiative and flexibility working both independently and with the team to develop the software, create and maintain virtual servers and development environments, and spin up public testbeds as needed in support of the core software development activities. **This position is contingent on funds from a two year grant, Jan 2019 - Dec 2020**. PRINCIPAL FUNCTIONS: APPLICATIONS PROGRAMMING & SYSTEMS INTEGRATION - 65% - Develop open source tools to assist in the interactive selection, appraisal, and preservation of email in institutional settings - Develop supporting text analysis modules in Python using a range of natural language processing and machine learning platforms RESEARCH AND DEVELOPMENT - 10% - Assist the RATOM team (PI and Co-PI) in assessing methods to support email preservation, analysis, and access within the context of collecting institution workflows. - Assist the RATOM team in developing research reports and presenting research outcomes at conferences, community meetings, and in webinars. RESEARCH CYBERINFRASTRUCTURE - 5% - Assist in maintaining cyberinfrastructure for RATOM grant, including local and remote Linux servers and storage - Work with the RATOM technical lead to support, develop, and maintain the Linux systems serving as platforms for RATOM development and public instances. - Assist in supporting other UNIX and Linux platforms and virtual machines when needed. DOCUMENTATION AND OUTREACH - 10% - Write and assess documentation associated with project deliverables, conduct informal reviews with users to assess feasibility SERVER MAINTENANCE - 5% - Maintain disk and backup systems for all servers assigned to this position to a level required by staff and customers. - Maintain Ubuntu-based servers in compliance with campus standards. OTHER DUTIES AS ASSIGNED - 5%
Education Requirements: Bachelor's degree in Computer Science, Computer Information Systems, Computer Engineering, or closely related degree from an appropriately accredited institution and two years of experience in operations analysis and design systems programming or closely related area; or - Associate's degree in Computer Information Technology, Computer Engineering Technology or Networking Technology from an appropriately accredited institution and three years of experience in operations analysis and design, systems programming or closely related area; or an equivalent combination of education and experience.
Qualification and Experience: Candidates with the following preferred qualifications are encouraged to apply: - Three years of demonstrated (industry or open source) experience in Python software development. - Three years demonstrated experience using and maintaining Linux-based server environments. - Previous experience with spaCy, SQLAlchemy, Jupyter Hub and previous experience with continuous integration tooling (e.g. Travis CI). - Prior familiarity with the TOMES and/or ePADD code bases - Demonstrated knowledge and application of common scikit-learn features (classification, regression, clustering, model selection, and preprocessing) - Demonstrated proficiency in programmatic interaction with Postgres and SQLite databases - Demonstrated ability to independently analyze and debug code and systems issues. - Demonstrated experience with collaborative development via GitHub - Demonstrated ability to install and maintain Ubuntu Linux, Redhat Linux, or CentOS as virtual environments (e.g. VirtualBox, AWS) - Demonstrated ability to communicate effectively with parties of diverse technical backgrounds, including end users. - Documented history of contributing to and maintaining open source projects - Demonstrated experience with multithreading / multiprocessing in Python - Demonstrated knowledge and prior applications of word2vec + TensorFlow
Equal Opportunity Employer: The University of North Carolina at Chapel Hill is an equal opportunity and affirmative action employer. All qualified applicants will receive consideration for employment without regard to age, color, disability, gender, gender expression, gender identity, genetic information, national origin, race, religion, sex, sexual orientation, or status as a protected veteran.
Department Contact Name and Title: Joey Landry, Senior HR Consultant
Department Contact Telephone Number or Email: [email protected]
Special Instructions for Applicants: Applicants may submit an optional "Other Document" that contains links to software, Jupyter Notebooks, or Python code developed by the applicant.