Company
National Center for Supercomputing Applications
Company Website
Info
Full Time
Closes: 12 July 2021
Applications have closed
Assistant Data Engineer / Data Engineer / Senior Data Engineer

UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN

National Center for Supercomputing Applications
Assistant Data Engineer/Data Engineer/Senior Data Engineer

 

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.

The National Center for Supercomputing Applications (NCSA) is currently seeking an Assistant Data Engineer, Data Engineer or Senior Data Engineer to develop and support infrastructure and services for a new set of projects that harness big data and cutting-edge scientific research. This selected candidate will play an important role in the NCSA’s efforts in the area of high-performance data analytics for scientific communities. They will work on a wide variety of research related to data driven applications with a focus on large scale, distributed computing in High Performance Computing (HPC) environments.

 

 

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. Minorities, women, veterans and individuals with disabilities are encouraged to apply. For more information, visit http://go.illinois.edu/EEO.

 

 

Key Responsibilities of the Assistant Data Engineer:

Research Data Analysis and Engineering (20%):

·       Apply scientific domain knowledge to research, architect and design software programs to help researchers define and solve heterogeneous problems.

 

Research Software and Application Development: (70%)

·       Collaborate with researchers, technology teams, developers and architects to research and develop novel solutions for complex problems in a variety of scientific domain areas.

·       Research and develop innovative 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.

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

·       Evaluate and integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges.

·       Track research activity in relevant fields including scientific programming and domain specific science.

·       Contribute to publications, technical reports, and documentation.

·       Communicate findings from research and development activities above with project colleagues, including primary investigators, to be used as needed in current programming and design efforts.

 

Research Software Architecture and Design: (10%)

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

 

 

Required Education, Training and Experience:

·       BA/BS degree in engineering, mathematics, science, 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 projects and technologies).

·       One year of experience in software development utilizing data science tools; this can be a combination of course level software development, internship experience, and/or professional programming experience.

·       The successful applicant must be capable of obtaining a U.S. Department of Defense security clearance.

 

 

Preferred Training and Experience:

·       Parallel programming experience on high-performance computers including development, porting, and evaluating the scalability of one or more parallel libraries or applications writing in Fortran, C, and/or C++, and utilizing communication protocols such as MPI and OpenMP.

·       Programming experience with GPUs using CUDA and/or other paradigms such as OpenACC/OpenMP or Kokkos.

·       Experience managing multiple projects with competing priorities and deadlines, and an eagerness to take ownership of challenging and open-ended assignments.

·       Effective at communicating with audiences whose technical backgrounds vary widely.

·       Experience with ETL processes, visualization tools, and web programming

·       Familiarity with machine/deep learning tools and workflows such as caret, tensor Flow and Caffe

 

Knowledge, skills and abilities:

·       Demonstrated ability work both independently and as a team member

·       Ability to clearly communicate results and their importance (verbally and in writing)

·       Ability to provide input for reports, presentations, and grant proposals.

 

 

 

 

Key Responsibilities of the Data Engineer:

 

Research Data Analysis and Engineering (40%)

·       Apply scientific domain knowledge and technologies to solve big data problems and to develop innovative big data solutions.

·       Develop analysis techniques for unstructured data in an effort to improve academic research applications to help researchers define and solve leading edge problems.

·       Enable big data and batch/real-time analytical solutions that leverage emerging technologies. Diagnose problems using formal problem-solving tools and techniques from multiple angles and probe underlying issues to generate multiple potential solutions. Proactively anticipate and prevent problems.

·       Provide general and in-depth support/guidance for research teams in multiple areas of specialization.

·       Design and implement complex big data projects with a focus on collecting, parsing, managing, analyzing and visualizing large sets of data to turn information into insights and findings using multiple platforms.

 

 

Research Software and Application Development: (40%)

·       Collaborate with researchers, technology teams, developers and architects to research and develop novel solutions for complex problems in a variety of scientific domain areas.

·       Research and develop innovative 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 research, architect and design software programs to help researchers define and solve heterogeneous 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.

·       Evaluate and integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges.

·       Track research activity in relevant fields including scientific programming and domain specific science.

·       Communicate findings from research development activities with project colleagues, including primary investigators, to be used as needed in current programming and design efforts.

·       Keep abreast of developments in the high-performance computing field, writing technical reports, conference and journal papers as appropriate, review scientific papers and proposals as appropriate.

·       Publish and present results of software research and development at national and international conferences.

 

Research Software Architecture and Design: (20%)

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

·       Select, optimize and integrate data science tools and frameworks required to provide data science solutions for science and other teams.

·       Develop, refine and scale data management and analytics procedures, systems, workflows, and best practices.

·       Improve complex data analytics workflow time to solution by implementing innovative new techniques such as Artificial Intelligence methods in the workflows.

 

Required Education, Training and Experience:

·       BA/BS degree in engineering, mathematics, science, 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 projects and technologies).

·       One year of experience in software development utilizing data science tools; this can be a combination of course level software development, internship experience, and/or professional programming experience.

·       At least three years of experience in working with data science applications.

·       The successful applicant must be capable of obtaining a U.S. Department of Defense security clearance.

 

 

Preferred Education and Experience

·       Masters or Ph.D. in engineering, mathematics, science, computer science or related field highly preferred.

·       Parallel programming experience on high-performance computers including development, porting, and evaluating the scalability of one or more parallel libraries or applications writing in Fortran, C, and/or C++, and utilizing communication protocols such as MPI and OpenMP.

·       Programming experience with GPUs using CUDA and/or other paradigms such as OpenACC/OpenMP or Kokkos.

·       Experience managing multiple projects with competing priorities and deadlines, and an eagerness to take ownership of challenging and open-ended assignments.

·       Effective at communicating with audiences whose technical backgrounds vary widely.

·       Experience with ETL processes, visualization tools, and web programming.

·       Experience developing and presenting technical material and web-based technical documentation

·       Programming experience with three or more of the following C/C++, Fortran, PHP, Python, R, CUDA, HIP, Kokkos, PyTorch, Tensorflow.

 

Knowledge, skills and abilities:

·       Expertise with exploring, understanding, cleaning, and wrangling big data.

·       Demonstrated ability to work both independently and as a team member

·       Working knowledge of the Linux operating system, a programming or data analysis language (e.g., Python, R, Stata), and databases (e.g., MySQL, Oracle, NoSQL).

·       Effective at communicating with audiences whose technical backgrounds vary widely.

·       Familiarity with machine/deep learning tools and workflows such as caret, Tensor Flow and Caffe

·       Ability to effectively communicate results and their importance (verbally and in writing)

·       Ability to provide input for reports, presentations, and grant proposals

·       Ability to work independently and be self-motivated with minimal supervision.

 

 

Key Responsibilities of the Senior Data Engineer:

 

Research Data Analysis and Engineering (40%)

 

·       Apply scientific domain knowledge and technologies to solve big data problems and develop innovative big data solutions.

·       Develop analysis techniques for unstructured data in an effort to improve academic research applications to help researchers define and solve leading edge problems.

·       Enable big data and batch/real-time analytical solutions that leverage emerging technologies.

·       Diagnose problems using formal problem-solving tools and techniques from multiple angles and probe underlying issues to generate multiple potential solutions. Proactively anticipate and prevent problems.

·       Provide general in-depth support/guidance for research teams in multiple areas of specialization.

·       Design and implement complex big data projects with a focus on collecting, parsing, managing, analyzing and visualizing large sets of date to turn information into insights and findings using multiple platforms.

 

Research Software and Application Development: (40%)

Collaborate with researchers, technology teams, developers and architects to research and develop novel solutions for complex problems in a variety of scientific domain areas.
Research and develop innovative 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 research, 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.
Evaluate and integrate collaborative input and design new approaches and techniques to address project specific needs and critical technological challenges.
Track research activity in relevant fields including scientific programming and domain specific science.
Apply domain knowledge and technologies to solve big data problems and to develop innovative big data solutions.
Develop analysis techniques for unstructured data in an effort to improve academic research applications to help researchers define and solve leading edge problems.
Enable big data and batch/real-time analytical solutions that leverage emerging technologies.
Diagnose problems using formal problem-solving tools and techniques from multiple angles and probe underlying issues to generate multiple potential solutions. Proactively anticipate and prevent problems.
Provide general and in-depth support/guidance for research teams in multiple areas of specialization.
Design and implement complex big data projects with a focus on collecting, parsing, managing, analyzing and visualizing large sets of data to turn information into insights and findings using multiple platforms.
Collaborate with other members of the research community in both formal and informal groups in the pursuit of common missions, vision, values and mutual goals. This will include contributing research ideas and software development efforts to projects that benefit the research community as a whole.
Drive research software development projects. This involves guaranteeing milestones are achieved, coordinating efforts among project members, recognizing emergent project needs and taking initiative to ensure these are addressed and resolved.
Communicate findings from research development activities above with project colleagues, including primary investigators, to be used as needed in current programming and design efforts.
Keep abreast of developments in the high-performance computing field, writing technical reports, conference and journal papers as appropriate, review scientific papers and proposals as appropriate.
Publish and present results of software research and development at national and international conferences.
Participate in writing proposals with NCSA staff and/or application teams.
May direct and train hourly employees, interns and students
Research Software Architecture and Design: (20%)

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

·       Select, optimize and integrate data science tools and frameworks required to provide data science solutions for science and other teams.

·       Improve complex data analytics workflow time to solution by implementing innovative new techniques such as Artificial Intelligence methods in the workflows.

·       Code, test, and document new or modified data and analysis systems to create robust and scalable applications.

·       Design and build the infrastructure necessary to support research projects. Engineer the underlying architecture of the project.

 

Required Education, Training and Experience:

·       BA/BS degree in engineering, mathematics, science, 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 projects and technologies).

·       One year of experience in software development utilizing data science tools; this can be a combination of course level software development, internship experience, and/or professional programming experience.

·       At least five years of experience working with data science applications.

·       The successful applicant must be capable of obtaining a U.S. Department of Defense security clearance.

 

 

Preferred Training and Experience

·       Masters or Ph.D. in engineering, mathematics, science, computer science or related field highly preferred.

·       Parallel programming experience on high-performance computers including development, porting, and evaluating the scalability of one or more parallel libraries or applications writing in Fortran, C, and/or C++, and utilizing communication protocols such as MPI and OpenMP.

·       Programming with three or more of the following: C/C++, Fortran, PHP, Python, R, CUDA, HIP, Kokkos, PyTorch, Tensorflow.

·       Experience managing multiple projects with competing priorities and deadlines, and an eagerness to take ownership of challenging and open-ended assignments.

·       Experience with ETL processes, visualization tools, and web programming.

·       Expertise with exploring, understanding, cleaning, and wrangling big data.

·       Experience developing and presenting technical material and web-based technical documentation.

·       Software engineering skills and experience, and a track record of contributing to software projects and collaborating with other developers.

·       Ability to establish a software development effort from the ground up (create software from scratch).

·       Experience with three or more programming languages with an ability to explain/decide why one would be utilized over another in different development scenarios.

 

Knowledge, skills and abilities:

·       Demonstrated ability work both independently and as a team member

·       Working knowledge of the Linux operating system, a programming or data analysis language (e.g., Python, R, Stata), and databases (e.g., MySQL, Oracle, NoSQL)Ability to effectively communicate results and their importance (verbally and in writing).

·       Effective at communicating with audiences whose technical backgrounds vary widely

·       Familiarity with machine/deep learning tools and workflows such as caret, Tensor Flow and Caffe

·       Ability to establish a software development effort from the ground up (create software from scratch).

·       Ability to effectively communicate results and their importance (verbally and in writing)

·       Ability to provide input for reports, presentations, and grant proposals.

·       Ability to work independently and be self-motivated with minimal supervision.

 

 

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 may occur before the closing date; however, all applications received by the closing date will receive full consideration. For further information regarding our application procedures, please visit http://www.ncsa.illinois.edu or email NCSA-HR@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 (07/12/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. The University of Illinois conducts criminal background checks on all job candidates upon acceptance of a contingent offer.

 

As a qualifying federal contractor, the University of Illinois System uses E-Verify to verify employment eligibility.