Distributed Systems Software Engineer #637100

University of North Carolina at Chapel Hill
Renaissance Computing Institute (RENCI)
Computational and Networked Systems Researcher
Position # 637100

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 software platforms that enable scientists to engage in data-intensive distributed collaborations. These platforms orchestrate and federate infrastructure and data elements to improve scientists’ productivity and reduce time to discovery.

The incumbent will focus their primary efforts on developing software solutions for federally-funded research projects. The incumbent 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.

Minimum Education and Experience: Relevant post-Baccalaureate degree required; for candidates demonstrating comparable background in academic or research computing management, will accept a relevant undergraduate degree and 3 or more years of relevant experience in substitution.

Prefer a M.S. in Computer Science or related field with 2 years software development or B.S. in Computer Science or related field with 5 years software development.

– Software development: Significant experience with Java and Python a must, JavaScript, C/C++ a plus. Prior experience with open source software a big plus.
– Open source Java build technologies: Experience with Ant, Maven, Gradle or other build systems.
– Continuous integration: Prior exposure to CI systems like Hudson, Jenkins or similar a big plus
– Open source libraries: Significant experience with integrating a variety of open source libraries from e.g. Apache Foundation, Google and others
– Distributed systems: Experience designing and integrating with modern distributed software platforms: NoSQL databases, webservices platforms
– System administration: Experience with Unix-like operating system administration at any level a plus.
– Good communications skills, ability to work in a team with diverse skills and expertise.

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.

For more information, visit http://unc.peopleadmin.com/postings/121621