Distributed Systems Software Engineer
Position Type: Permanent Staff
Department: Renaissance Computing Inst - 637100
Appointment Type: EHRA Non-Faculty
Vacancy ID: NF0002885
Position Summary: The Renaissance Computing Institute (RENCI) is a research institute at the University of North Carolina, Chapel Hill and is a collaborative that combines the strengths of Duke University, North Carolina State University and UNC Chapel Hill. RENCI strives to support the scientific, technological, social, business and entrepreneurial aspirations of the Research Triangle Park and the State of North Carolina. RENCI's work covers a breadth of intellectual activities, with the aim of enriching and empowering human potential by creating intellectual activities that span the sciences, engineering, arts, humanities and commerce. RENCI accelerates and supports research, enabling engagement with faculty, staff and students across the three universities and the state. RENCI is seeking a talented individual for the position of a Distributed Systems Software Engineer to support the activities of the Network Research and Infrastructure Group (NRIG) in continuing to develop software solutions that enable a software ecosystem supporting NRIG projects. The group develops distributed software platforms that enable scientists to engage in data-intensive distributed collaborations. These platforms orchestrate and federate infrastructure and data The incumbent will focus their primary efforts on developing software solutions for federally-funded research projects. They will work closely with other team members in designing and implementing new features within different frameworks, as well as evolving the core functionality to improve stability, scalability and performance. Responsibilities: - Software development: develop software and provide software development expertise to other team members in maintaining and evolving the software platforms. - Software architecture: provide input to architectural decisions, supporting best practices in software design and integration. - Software packaging and quality control: support group efforts in helping test and package software as easy to deploy solutions for the scientific communities and implement procedures that ensure high quality of the resulting code.
Education Requirements: Candidates must have at least a B.S. in Computer Science or related field with 5 years software development or MS in Computer Science or related field with 2 years software development.
Qualification and Experience: - Software development and architecture: Significant experience with large projects in Java or Python a must, Rust/Go/ Perl/Ruby a plus. System programming C/C++ experience also a plus. - Open source Java build technologies: Experience with Ant, Maven, Gradle or other build systems required. - Continuous integration: Prior experience with version control and CI systems like Hudson, Jenkins or similar required. - Open source libraries: Significant experience with integrating a variety of open source libraries and frameworks from e.g. Apache Foundation, Google and others required. - Distributed systems: Experience designing and integrating with modern distributed software platforms: NoSQL databases, webservices platforms, experience with OpenStack/Mesos/ Kubernetes a big plus. - System administration: Experience with Unix-like operating system administration at any level a plus. Experience creating Docker or Singularity containers, virtual machine images required. - Good communications skills, ability to work in a team with diverse skills and expertise.
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: Jordan Todd, HR Consultant
Department Contact Telephone Number or Email: email@example.com
Special Instructions for Applicants: