Employment

Below is a list of current open positions at RENCI. Ideal candidates should enjoy working with internationally known researchers and with the tools and technologies that comprise an advanced cyberinfrastructure. An interest in multidisciplinary research and in collaborating with researchers, including the development of new proposals, projects and programs, is expected. A Ph.D is required for Senior Research Scientist positions; a master degrees and/or a mix of professional experience and a bachelor's degree is required for software development positions.

Systems Software Engineer – 143549

Renaissance Computing Institute
Systems Software Engineer
Position #143549

The Renaissance Computing Institute (RENCI) is a research institute at the University of North Carolina at 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...

[See More]

The Renaissance Computing Institute (RENCI) is a research institute at the University of North Carolina at 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 Systems Software Engineer to support the activities of the Network Research and Infrastructure Group (NRIG) and the Operating Systems, Security, Concurrency, and Architecture Research (OSCAR) Lab in the UNC Computer Science (CS) department, specifically in continuing to develop software solutions that enable a software ecosystem supporting NRIG and CS projects.
NRIG has multiple projects that involve designing and maintaining distributed software systems that operate on a scale of wide-area networks with a focus on resource management in multi-domain environments and software-defined networking.
The OSCAR Lab investigates experimental system designs, primarily focused on operating systems, but past work has ranged from experimental hardware designs to mobile and wearable user interface design. The lab has a track record of building large prototype systems for realistic studies, as well as technology transfer through open source and commercialization of successful projects.
The Systems Software Engineer will focus their primary efforts on developing software solutions for federally-funded research projects. They will work closely with CS department faculty and students, as well as with NRIG team members, in designing and implementing new features within different frameworks, as well as evolving the core functionality to improve stability, scalability, and performance. The incumbent will assist in developing research prototypes as well as helping with technology transfer and support of successful projects.

Educational Requirements

Master’s degree in Computer Science or related field, plus 2 years of software development.

Qualifications and Experience

REQUIRED QUALIFICATIONS:

  • Programming languages: C (Linux Kernel Programming Experience), Python
  • Practical understanding of OS, security, and architecture principles
  • Proficiency with debugging, code analysis, and performance tuning tools
  • Experience with Open Source software development model, CI tools (e.g. github, Jenkins, Travis or other)
  • Experience with container technologies (e.g. Docker or Singularity)

PREFERRED QUALIFICATIONS:

  • Experience with C++, Objective C, C#, and/or x86 assembly programming
  • Experience with Java and associated build technologies (Maven, Gradle)
  • Experience with device driver programming or other low-level hardware features (Intel VT, SGX)
  • Experience with Mobile and/or Desktop App development
  • Experience with Open Source community building

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.

For more information and to apply, please visit http://unc.peopleadmin.com/postings/130670.

[Hide Details]

Software Developer – 20027046

Renaissance Computing Institute
Software Engineer
Position #20027046

The iRODS Consortium is looking for a C++ developer who will work to improve and support both the iRODS server as well as handle strategic development of new and existing plugins. The primary responsibilities will be to work alongside the rest of the team and participate in the design, implementation, support, documentation, and testing of the clients and the server. The candidate will also work with Consortium members around the world to assist in the identification of new features, issues, and provide customer support. It is expected that this position will both facilitate the use of softwar...

[See More]

The iRODS Consortium is looking for a C++ developer who will work to improve and support both the iRODS server as well as handle strategic development of new and existing plugins. The primary responsibilities will be to work alongside the rest of the team and participate in the design, implementation, support, documentation, and testing of the clients and the server. The candidate will also work with Consortium members around the world to assist in the identification of new features, issues, and provide customer support. It is expected that this position will both facilitate the use of software for data-oriented scientific research and aid the continued development of data-oriented scientific software.

Educational Requirements

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.

Qualifications and Experience

At least 1-3 years of modern C++ experience and knowledge of software development best practices, systems programming, POSIX interface and semantics, and the Linux command line are required. Experience with Agile Software Development Methodologies, across multiple software development projects is preferred. Strong candidates will also have experience with client/server networking, scripting languages (Python strongly preferred), and relational databases (SQL).

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.

For more information and to apply, please visit http://unc.peopleadmin.com/postings/130670.

[Hide Details]

Research Software Engineer – 01003227

Renaissance Computing Institute
Research Software Engineer
Position #01003227

This position provides experienced research software development support for RENCI projects that involve local and national collaborations with academic researchers, state agency subject matter experts, and other computer and computational scientists. Principal functions: 80% – Software development: Develop new research software for efficient use by internal and external users. Maintain and improve the performance of existing software. Write unit tests for software, perform code reviews, fix bugs, document software, and investigate and experiment approaches to ascertain best approach. ...

[See More]

This position provides experienced research software development support for RENCI projects that involve local and national collaborations with academic researchers, state agency subject matter experts, and other computer and computational scientists.

Principal functions:
80% – Software development: Develop new research software for efficient use by internal and external users. Maintain and improve the performance of existing software. Write unit tests for software, perform code reviews, fix bugs, document software, and investigate and experiment approaches to ascertain best approach.

5% – Solicit feedback from users on software improvements and implementations. Clearly and regularly communicate potential software improvements and implementation plans with technical colleagues and management.

5% – Work with researchers and users of software to explain functionality. Prepare informal and formal presentations, demonstrations, examples, and hands-on training sessions in explaining functionality.

10% – Work with RENCI management and staff on project requirements. Attend meetings, articulate alternatives and pros/cons thereof, and contribute to hardware/software/personnel time and resource estimates.

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

Qualifications and Experience
At least two years of professional software development experience. Programming and development skills in Python, Java, Linux, Web Services, Unix Shell Scripts, JSON, XML, and basic Linux System Administration and Sysops. Experience programming Jupyter and using container technologies, e.g., Docker are a plus. Demonstrated ability to develop complex software programs in a team setting using software engineering and agile and best practices for software development. Ability to build collaborative efforts with appropriate departments with flexibility to work on multiple projects. Capacity for self-education. Interdisciplinary study and inquiry. Effective oral and written communication skills. Interpersonal communication, human relations and team building skills. Ability to foster and maintain collaborations with local and national researchers, subject matter experts.

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.

For more information or to apply for the position: https://unc.peopleadmin.com/postings/130670

[Hide Details]

Director of Data Science and Analytics – 01001735

Renaissance Computing Institute
Director of Data Science and Analytics
Position #01001735

The Director of Data Science and Analytics is responsible for identifying research opportunities, coordinating research projects, and assembling research teams and executing projects. This position is responsible for developing and managing research programs that advance RENCI’s mission in data science. This includes developing research proposals to federal agencies, foundations, and state and local governments that support research at the convergence of domain sciences, data science and analytics. The Director will have an overall understanding of RENCI’s capabilities, and will work to ad...

[See More]

The Director of Data Science and Analytics is responsible for identifying research opportunities, coordinating research projects, and assembling research teams and executing projects. This position is responsible for developing and managing research programs that advance RENCI’s mission in data science. This includes developing research proposals to federal agencies, foundations, and state and local governments that support research at the convergence of domain sciences, data science and analytics. The Director will have an overall understanding of RENCI’s capabilities, and will work to advance these capabilities and will coordinate research projects that are across research groups. She/he will identify and recommend scientific and technological directions for RENCI based on institution-wide goals. She/he will direct and manage the RENCI data science and analytics group. The Director will interact with campus faculty and other external stakeholders to advance RENCI’s mission in the research and practice the application of advanced data science and analytics infrastructure to enable and accelerate domain sciences.

Principal Functions

Direct the data science and analytics program at RENCI: The Director will work with collaborators on campus, and other institutions, to identify domain areas of research and practice that can be accelerated through the application of new approaches in data science and analytics. The director will work with collaborators and RENCI staff and managers to develop strategic plans for addressing these needs and he/she will act to guide and champion such plans to ensure plans are met. The Director will work with research groups at RENCI and other research groups throughout the nation to identify and accelerate the development and research of new approaches in data science and analytics. Direct personnel and projects within the Analytics Program. Track research activity across computer science and cyberinfrastructures, especially in areas of analytics and data-driven domain science research. Represent RENCI at key national meetings as well as develop and publish scientific papers.

Sponsored Research: Identify sponsored research opportunities and form collaborations with relevant research groups. Develop proposals for sponsored research. Effectively manage sponsored research awards.

Ph.D. highly desirable, Master’s degree required in computer science, engineering, informatics or a related field. Five to seven years of professional experience in leading research projects in informatics, data science and analytics. Experience managing a group of technical personnel. Experience with proposal development, working with funding agencies, and interdisciplinary research.

Specialized scientific knowledge of data science, big data architectures such as Hadoop and Spark, cloud computing, advanced analytics and machine learning, and computational science. Experience with agile software development practices and open source, reproducible coding principles. Familiarity with major programming languages such as Python, Java, C, C++, R. Ability to build collaborative efforts with appropriate departments. Excellent oral and written communication skills including presentations to diverse constituencies, strong interpersonal communication and human relations abilities and demonstrated team building skills. Management and administrative skills. Ability to foster and maintain collaborations with both academic and industrial researchers. Ability to write proposals.

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 or to apply: http://unc.peopleadmin.com/postings/123171

[Hide Details]