UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
National Center for Supercomputing Applications
Assistant Research Programmer/Research Programmer/Senior Research Programmer
The National Center for Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign provides supercomputing and advanced digital resources for the nation's scientific enterprise. At NCSA, University of Illinois faculty, staff, students, and collaborators from around the globe use advanced digital resources to address and research grand challenges for the benefit of science and society. NCSA has been advancing one third of Fortune 50 companies for more than 30 years by bringing industry, researchers and students together to solve grand challenges at rapid speed and scale.
NCSA is currently seeking one or more Assistant Research Programmer/Research Programmer/Senior Research Programmer(s) who will provide Scientific and research software development and engineering in support of projects and research, which can include elements of data analysis, data ingestion and integration from heterogeneous sources, cybersecurity, web front ends, back end services that scale, as well as databases. In this role, you will Interact with people in a wide range of educational, scientific, and engineering disciplines to design, develop, and support advanced software tools in areas such as civil and environmental engineering, biology, geoscience, digital humanities, library science, hazard management, medical informatics, astronomy, and computational science. Creativity, independence, a strong work ethic, as well as coordination with the project principal investigator(s) will be critical. Represent the group at meetings, give presentations at conferences or other venues, and contribute to publications and grant proposals.
NCSA is committed to increasing the diversity of the campus community. Candidates who have experience working with a diverse range of faculty, staff, and students, and who can contribute to the climate of inclusivity are encouraged to apply.
The University of Illinois is an Equal Opportunity, Affirmative Action employer that recruits and hires qualified candidates without regard to race, color, religion, sex, sexual orientation, gender identity, age, national origin, disability or veteran status. For more information, visit http://go.illinois.edu.EEO.
Key Responsibilities of the Assistant Research Programmer
Research Software and Application Development:
- Develop software that addresses real world complex research problems with interfaces to powerful backend tools and interdisciplinary analyses such as science, engineering, the humanities and social sciences.
- Apply scientific domain knowledge to architect and design software programs to help researchers define and solve heterogenous problems, provide consulting expertise to researchers across a variety of domain sciences to leverage synergies across projects, and design and support shared cyberinfrastructure to support a broad range of communities.
- Integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges.
- Track research activity in relevant fields both programmatic and domain specific.
- Evaluate the strengths and weaknesses between varieties of novel approaches to research and scientific software development problems.
System Architecture and Design:
- Contribute to publications, technical reports, and documentation.
- Communicate findings from research development activities above with project colleagues, including primary investigators, to be used as needed in current programming and design efforts.
Qualifications of the Assistant Research ProgrammerRequired Education and Experience:
- Develop research-oriented code which supports an environment of secure systems, and design and develop security-oriented programs using established software development methodologies (i.e. agile, lean, rapid application, etc.) which by nature defend against disruption or misdirection of services.
- Bachelor's degree required, preferably in computer science or related field. Alternative degree fields will be considered if accompanied by equivalent experience (depending on nature and depth of experience as it relates to current NCSA business needs).
- One year of experience in software development; this can be a combination of course level software development, internship experience, and/or professional programming experience.
- Six months of experience researching, presenting, and/or publishing technical projects or papers in a professional or academic setting.
- One or more years of experience in relevant software development.
- Experience or Coursework in working with domain sciences.
- Web development (e.g. server side scripting, client side frameworks, HTML5, CSS, REST, OAuth).
- Databases (e.g. MySQL, MongoDB, PostgreSQL).
- Linux DevOps experience.
- Contributions towards research publications.
- Experience in one or more of the following:
- Machine learning or data mining
- Natural language processing
- Geospatial data management and programming
- High-speed, real-time data analysis
- Computer vision or graphics
- HPC environments, cloud computing, and/or systems administration
Key Responsibilities of the Research ProgrammerThese include the key responsibilities for the Assistant Research Programmer with the addition of the following:Research Software and Application Development:
- Ability to clearly communicate results and their importance (verbally and in writing).
- Ability to provide input for reports, presentations, and grant proposals.
- Engineer and develop software that addresses real world complex research problems with interfaces to powerful backend tools and interdisciplinary analyses such as science, engineering, the humanities and social sciences.
- Evaluate and integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges.
Qualifications of the Research ProgrammerRequired Education and Experience:
- Publish and present results of scientific software research and development at national and international conferences.
These include the requirements of the Assistant Research Programmer with the addition of the following:
Preferred Experience:This is the same as the preferred experience for the Assistant Research Programmer with the addition of the following:
- At least 3 years of experience in relevant software development.
Key Responsibilities of the Senior Research Programmer:
These include the key responsibilities for the Research Programmer in addition to the following:Research Software and Application Development:
System Architecture and Design
- Drive research software development projects. This involves guaranteeing milestones are achieved, coordinating effort among project members, and recognizing emergent project needs and taking initiative to ensure these are addressed and resolved.
- May direct and train hourly employees and interns.
Qualifications of the Senior Research ProgrammerRequired Education, Experience, and Training:
- Design and build the infrastructure necessary to support research projects. Engineer the underlying architecture of the project.
These include the requirements for the Research Programmer with the addition of the following:
• At least five years of experience in relevant software development.Preferred Experience:
These include the preferred experience of the Assistant Research Programmer and Research Programmer with the addition of the following:
- Experience working with domain sciences.
- Proficient in three or more programming languages with an ability to explain/decide why one would be utilized over another in different development scenarios.
- Subject matter experts on one or more technologies.
- Ability to establish a software development effort from the ground up (create software from scratch).
This is a regular academic professional position at NCSA and is an annually renewable, 12/12, 100%-time appointment with regular University benefits. Salary is commensurate with experience and start date will be as soon as possible after the close date of the search. Applicants must possess required education and experience by start date of position. Interviews and hires may occur before the closing date; however, all applications received by the closing date will receive full consideration. Possibility to work at a Chicago office is possible in some cases.
For further information regarding our application procedures, you may visit http://www.ncsa.illinois.edu or email fijalkov(at)illinois.edu.
To apply, please create your candidate profile at http://jobs.illinois.edu and upload your cover letter and CV/resume by the close date (10/11/2021). Contact information for three references must be included on the application. For full consideration, candidates must complete the Hiretouch application process by the above date.
University of Illinois conducts criminal background checks on all job candidates upon acceptance of a contingent offer. Convictions are not a bar to employment. The University of Illinois System requires candidates selected for hire to disclose any documented finding of sexual misconduct or sexual harassment and to authorize inquiries to current and former employers regarding findings of sexual misconduct or sexual harassment. For more information, visit Policy on Consideration of Sexual Misconduct in Prior Employment. As a qualifying federal contractor, the University of Illinois System uses E-Verify to verify employment eligibility.
College Name or Administrative Unit:
Research Programmer - National Center for Supercomputing Applications (142159)
This job has expired.