Research Programmer / Senior Research Programmer

CyberGIS Center

*** search extended until Apr. 24, 2017 ***

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 science enterprise. At NCSA, University of Illinois faculty, staff, students, and collaborators from around the globe use advanced digital resources to address research grand challenges for the benefit of science and society. NCSA has been advancing one third of the Fortune 50 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 Research Programmers/Senior Research Programmers to design, develop, test and implement software and interfaces for the CyberGIS Center for Advanced Digital and Spatial Studies (CyberGIS), and play a major role in developing the CyberGIS platform and associated geospatial software and tools with emphasis on computation, performance, and scalability to big geospatial data and complex spatial analysis and modeling.

Key responsibilities

Research Programmer
  • Design, develop, test and implement cyberGIS applications, software, and services enabled by advanced computing, data, and visualization environments.
  • Explore innovative solutions to advancing cyberGIS technologies.
  • Design, implement and test distributed geospatial middleware and Web services to bridge cyberGIS problem-solving environment and cyberinfrastructure resources such as supercomputers, clouds, and data computing clusters.
  • Design, develop and test scalable spatial analysis and modeling algorithms using various parallel computing and data-driven programming models.
  • Develop cyberinfrastructure-based data services for the management of big geospatial data integration and analytics.
  • Conduct computational performance profiling, scalability tests, and cyberinfrastructure-based continuous integration of the developed cyberGIS software components.
  • Produce code repositories, documentation, project reports, and other written material related to software development.
  • Provide technical support, training, and guidance to faculty, staff, collaborators and students.
  • Participate in center collaborations and outreach activities, e.g., attending and presenting in meetings, conferences, and workshops, as a representative of the CyberGIS Center.
Senior Research Programmer
  • Design, develop, test and implement cyberGIS applications, software, and services enabled by advanced computing, data, and visualization environments.
  • Explore innovative solutions to advancing cyberGIS technologies.
  • Design, implement and test distributed geospatial middleware and Web services to bridge cyberGIS problem-solving environment and cyberinfrastructure resources such as supercomputers, clouds, and data computing clusters.
  • Design, develop and test scalable spatial analysis and modeling algorithms using various parallel computing and data-driven programming models.
  • Develop cyberinfrastructure-based data services for the management of big geospatial data integration and analytics.
  • Conduct computational performance profiling, scalability tests, and cyberinfrastructure-based continuous integration of the developed cyberGIS software components.
  • Produce code repositories, documentation, project reports, and other written material related to software development.
  • Provide technical support, training, and guidance to faculty, staff, collaborators and students.
  • Participate center collaborations and outreach activities, e.g., attending and presenting in meetings, conferences, and workshops as a representative of the CyberGIS Center.

Required education and experience

Research Programmer
  • BA/BS in computer science, geographic information science, computer engineering, information science (informatics), earth science, math/statistics, computational science or a related field. Alternate degree fields will be considered/accepted if accompanied by equivalent experience (depending on the nature and depth of experience as it relates to cutting-edge geospatial information and computing technologies).
  • One year or more programming experience with C/C++/Java and scripting language such as JavaScript, Python, or Shell.
  • Knowledge and experience in software engineering and team-based software development.
Senior Research Programmer
  • BA/BS in computer science, geographic information science, computer engineering, information science (informatics), earth science, math/statistics, computational science or a related field. Alternate degree fields will be considered/accepted if accompanied by equivalent experience (depending on the nature and depth of experience as it relates to cutting-edge geospatial information and computing technologies).
  • Five years or more programming experience with C/C++/Java and scripting language such as JavaScript, Python, or Shell.
  • Experience in code management (e.g. git/svn, issue tracking, continuous integration).
  • Knowledge and experience in software engineering and team-based software development.
  • Development experience in commercial and/or open source GIS tools and technologies.

Preferred experience

Research Programmer
  • Development experience in commercial and/or open source GIS tools and technologies.
  • Familiarity with web-based application development (e.g., JavaScript, PHP, HTML, REST) and geospatial JavaScript libraries (e.g., OpenLayers, ArcGIS JavaScript API).
  • Experience in code management (e.g., git/svn, issue tracking, continuous integration).
  • Experience in parallel computing (e.g. MPI, OpenMP, GPU) and/or data-intensive programming (e.g. Hadoop, Spark).
  • Experience with database systems (e.g. MySQL, MongoDB, or Cassandra) and spatial databases (e.g. PostGIS or ArcSDE).
  • Experience with cloud computing (e.g. OpenStack, AWS, Docker).
  • Experience in programming geospatial visualization tools (e.g. based on OpenLayers/Leaflet, GeoServer/MapServer).
  • Experience in system programming, administration, and/or trouble-shooting in Linux/Unix environment.
  • Ability to interact with people in a wide range of educational, scientific, and engineering disciplines to advance CyberGIS, cyberinfrastructure, high performance computing and their applications.
Senior Research Programmer
  • Familiarity with web-based application development (e.g., JavaScript, PHP, HTML, REST) and geospatial JavaScript libraries (e.g., OpenLayers, ArcGIS JavaScript API).
  • Experience in code management (e.g., git/svn, issue tracking, continuous integration).
  • Experience in parallel computing (e.g. MPI, OpenMP, GPU) and/or data-intensive programming (e.g. Hadoop, Spark).
  • Experience with database systems (e.g. MySQL, MongoDB, or Cassandra) and spatial databases (e.g. PostGIS or ArcSDE).
  • Experience with cloud computing (e.g. OpenStack, AWS, Docker).
  • Experience in programming geospatial visualization tools (e.g. based on OpenLayers/Leaflet, GeoServer/MapServer).
  • Experience in system programming, administration, and/or trouble-shooting in Linux/Unix environment.
  • Ability to interact with people in a wide range of educational, scientific, and engineering disciplines to advance CyberGIS, cyberinfrastructure, high performance computing and their applications.

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.

To apply, please create your candidate profile at jobs.illinois.edu and upload your cover letter and CV/resume by the close date, April 24, 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, age, status as a protected veteran, or status as a qualified individual with a disability. Illinois welcomes individuals with diverse backgrounds, experiences, and ideas who embrace and value diversity and inclusivity. Visit www.inclusiveillinois.illinois.edu.

For further information regarding our application procedures, you may visit www.ncsa.illinois.edu or email NCSA-HR@illinois.edu.