Visualization Programmer/Senior Visualization Programmer (A1700089)

Location
Champaign, IL
Posted
Mar 03, 2017
Institution Type
Four-Year Institution


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 Visualization Programmers/Senior Visualization Programmers who will provide general and specialized data analysis and visualization support to the science, engineering and other research teams making use of NCSA high-performance computing and data platforms.

Key Responsibilities for the Visualization Programmer:
  • Provide general and in-depth support/guidance for national as well as local science, engineering and other research teams, NCSA thematic areas, and other staff to advance their use of visualization and data analysis technologies. Aspects of visualization and analysis involve interaction with other NCSA staff and include the analysis, selection, performance evaluation, optimization, and/or implementation of the following: parallel visualization and analysis software, parallel algorithms, and I/O libraries.
  • Contribute to advancing the state-of-the-art in visualization and data analysis technologies at NCSA and in the wider community.
  • Collaborate intensively with individual science, engineering and other research teams to prepare appropriate data analysis and visualization strategies for NCSA computational and data resources.
  • Contribute to training as appropriate (i.e., author/maintain documentation/training materials; provide classroom- and/or web-based training, present seminars/tutorials at workshops, etc.).
  • Proactively ensure that users have up-to-date information about NCSA systems, including any changes and their impact on the users.
  • Convey user feedback and concerns to other NCSA staff.
  • Coordinate efforts with co-workers and other groups in the service request and problem resolution process.
  • Take technical ownership in the resolution and management of service requests (e.g., problem reports, questions, and queries), be part of a proactive escalation process, and provide follow-up as appropriate.
  • Generate visualization products associated with work on Blue Waters and other resources and help coordinate outreach with project offices, public affairs, etc.
  • Install, maintain, document, and support third-party visualization software (open and/or community codes, licensed commercial products, etc.). Help keep such software up-to-date, assess user software needs, and evaluate requests for additional software.
  • Contribute to advancing the state-of-the-art in visualization and data analysis technologies at NCSA and in the wider community.
  • Develop, modify, and/or re-implement visualization algorithms to improve performance for NCSA science teams and other partners.
  • Utilize advanced software tools to analyze and improve performance of visualization applications.
  • Participate in joint proposals with NCSA or campus staff and/or application teams.
  • Keep abreast of developments in the high-performance computing field as they pertain to large scale scientific visualization and data analysis.
  • Participate in technology transfer events (including making presentations and publishing useful software tools and methods)


Qualifications for the Visualization Programmer:

Required Education 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)
  • At least 2 years parallel programming experience on high performance computers including development, optimization, porting, and/or scaling of large scale parallel visualization and data analysis application codes written in python, C, and/or C++, and utilizing communication protocols such as MPI and OpenMP.
  • Experience using various/multiple computational platforms, including UNIX, AIX, and/or LINUX.
  • Considerable knowledge in some of the following areas: large-scale scientific visualization, parallel rendering, parallel algorithms, parallel I/O, distributed computing.
  • Experience using parallel visualization platforms (VisIt or ParaView).


Preferred Experience:
  • Using high-performance computers to investigate large-scale science and engineering problems
  • Experience with large-scale parallel visualization application development.
  • Experience in OpenGL, PovRay, and VTK visualization libraries/APIs.
  • Developing codes using high-level I/O libraries (HDF5, netCDF, etc.).
  • Developing and presenting technical training material and web-based technical documentation.
  • Familiarity with a variety of scientific visualization techniques including CFD methods, GIS analysis, molecular modeling and chemistry related visualization, and geophysical simulations.
  • Familiarity with information visualization techniques and methods.
  • Familiarity with visual analytics libraries, particularly web-based.


Key Responsibilities for the Senior Visualization Programmer:

These include the key responsibilities for the Visualization Programmer in addition to the following:
  • Provide NCSA technical leadership in one or more visualization and data analysis technologies and/or projects.
  • Proactively ensure that users have up-to-date information about NCSA systems, including any changes and their impact on the users.
  • Take technical ownership in the resolution and management of service requests (e.g., problem reports, questions, and queries), be part of a proactive escalation process, and provide follow-up as appropriate.
  • Generate visualization products associated with work on Blue Waters and other resources and help coordinate outreach with project offices, public affairs, etc.
  • Contribute to advancing the state-of-the-art in visualization and data analysis technologies at NCSA and in the wider community.
  • Keep abreast of developments in the high-performance computing field as they pertain to large scale scientific visualization and data analysis..
  • Contribute to the research community through writing technical reports, publishing conference/journal papers, and other professional service activities such as reviewing papers.
  • Provide NCSA technical leadership in one or more visualization and data analysis technologies and/or projects.
  • Provide technical leadership at NCSA for one or more visualization and/or data analysis technologies or software packages.
  • Provide a leadership role in joint proposals with NCSA, campus or external collaborators and/or application teams


  • Qualifications for the Senior Visualization Programmer:

    Required Education and Experience:
    • BA/BS degree (advanced degree highly preferred) 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).
    • Excellent verbal and written communication skills with a demonstrated ability to communicate results via scientific publications, conference presentations or other methods.
    • 4 years experience in activities associated with visualization and data analysis in a high-performance computing environment.
    • At least 3 years parallel programming experience on high performance computers including development, optimization, porting, and/or scaling of large scale parallel visualization and data analysis application codes written in python, C, and/or C++, and utilizing communication protocols such as MPI and OpenMP.
    • Experience using various/multiple computational platforms, including UNIX, AIX, and/or LINUX.
    • Experience collaborating with domain-specific (non-visualization) science teams.
    • Considerable knowledge in the following areas: large-scale scientific visualization, parallel rendering, parallel algorithms, parallel I/O, distributed computing.
    • Experience using parallel visualization platforms (VisIt or ParaView).
    • Experience augmenting parallel visualization platforms to incorporate new functionalities such as parallel data readers or new visualization algorithms.


    Preferred Experience:
    • Using high-performance computers to investigate large-scale science and engineering problems.
    • Experience with large-scale parallel visualization application development.
    • Experience in OpenGL, PovRay, and VTK visualization libraries/APIs.
    • Developing codes using high-level I/O libraries (HDF5, netCDF, etc.).
    • Developing and presenting technical training material and web-based technical documentation.
    • Familiarity with a variety of scientific visualization techniques including, CFD methods, GIS analysis, molecular modeling and chemistry related visualization, and geophysical simulations.
    • Familiarity with information visualization techniques and methods.


    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. For further information regarding our application procedures, you may visit http://www.ncsa.illinois.edu or email holman1@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 (03/20/2017). Contact information for three references must be included on the application (letters maybe also be uploaded or sent to the contact below). 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.

    Illinois is an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, sex, sexual orientation, gender identity, age, status as a protected veteran, status as a qualified individual with a disability, or criminal conviction history. Illinois welcomes individuals with diverse backgrounds, experiences, and ideas who embrace and value diversity and inclusivity. (www.inclusiveillinois.illinois.edu).



    Organization Name: Supercomputing Applications
    College Name or Administrative Unit: Vice Chancellor for Research
    Category: Academic Professional
    Open Date: 02/20/2017
    Close Date: 03/20/2017

    PI97093185