5+ years of experience
Concerned about your lack of experience? Learn More...
Employment Type:
Full time
Job Category:
Software Development
Distributed Systems Software Engineer
(This job is no longer available)
University of North Carolina | Chapel Hill, NC
Grad Date

Not sure what types of jobs you are interested in?

Explore Jobs
Based on Your Education

Follow This Company

Job Description

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. 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.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.