As a member of the parallel scientific workflow team, the successful candidate will contribute to the development of Parsl (parsl-project.org) a Python library designed to support implicitly parallel execution of scientific workflows at scale. Parsl aims to enable parallel execution of a range of large-scale many-task, interactive, online, and data science applications on a variety of computing resources: from personal computers through to some of the worldâ™s largest supercomputers.The position is ideally suited to someone with a passion for Python and parallel computing. It requires a broad range of skills and expertise that span parallel programming models, workflow models, experience with a variety of distributed and parallel computing systems and platform types that comprise the computational science computing environment.
Under general direction from the project's management team, responsibilities include:
Architecture and Design: Lead and/or participate in the definition and documentation of requirements, architecture and design of complex systems, based on knowledge of relevant software technologies being developed and/or used in commercial and scientific communities.
Software Development: Develop, test, document, deploy, and maintain high quality software, including software libraries, cloud-hosted systems, REST services, command line interfaces, and distributed resource integration software.
User Community Engagement and Support: Work directly with end users, to provide technical support services and to apply workflow technology to real-world scientific projects.
Parsl is currently applied to a wide range of scientific problems including efforts to explore dark energy, understand cancer heritability, and apply machine learning techniques to guide the creation of new materials.
Research: Participate in and contribute to research efforts related to the software, including collecting and analyzing usage and performance data, and writing research papers for journals and conferences.
Knowledge of parallel programming models
Knowledge of concepts, practices, and procedures of software development
Excellent verbal and written communication skills
Ability to use standard software development applications and tools
Ability to use analytical and quantitative skills and diagnostic techniques to resolve problems
Ability to manage complex technical details
Ability to work in a collaborative team environment
Confidentiality related to sensitive University matters such as, strategic initiatives, trade secrets, quiet periods, and scientific discoveries yet to be put in the public domain
Ability to work on a flexible schedule which will include occasional late night and/or weekend hours
Education, Experience, and Certifications:
Bachelor's degree in computer science or another relevant computer related field.
Advanced degree in computer science, computational science, electrical engineering, or a related field.
Three years of relevant programming experience developing, implementing, debugging, and maintaining applications with Python, Java, C, and/or C++
Significant experience with Linux, shell, and/or scripting
Experience with automated unit and integration testing tools (e.g., Nose or Jenkins)
Experience with a distributed revision control system (e.g. Git)
Experience in parallel programming, for example using message passing (e.g., MPI), multithreaded (e.g., OpenMP or PThreads), and/or data parallel/accelerator programming (including CUDA, OpenCL, and/or Open ACC).
Experience with SQL (e.g., Postgres) and/or NoSQL (e.g., Mongo) databases
Experience with running scientific workflows on clouds, clusters, or supercomputers
Experience with scientific workflow languages or programming models
Familiarity with HPC resource schedulers (e.g., PBS, SLURM, Condor, etc)
Experience with Web and Cloud security technologies (e.g. SSL, OAuth2, OpenID Connect)
Experience with cloud infrastructures (Amazon Web Services, Google Cloud Platform, Azure, OpenStack)
NOTE: When applying, all required documents MUST be uploaded under the Resume/CV section of the application
The University of Chicago is an Affirmative Action/Equal Opportunity/Disabled/Veterans Employer and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national or ethnic origin, age, status as an individual with a disability, protected veteran status, genetic information, or other protected classes under the law. For additional information please see the University's Notice of Nondiscrimination.
Staff Job seekers in need of a reasonable accommodation to complete the application process should call 773-702-5800 or submit a request via the Applicant Inquiry Form.
The University of Chicago's Annual Security & Fire Safety Report (Report) provides information about University offices and programs that provide safety support, crime and fire statistics, emergency response and communications plans, and other policies and information. The Report can be accessed online at: securityreport.uchicago.edu. Paper copies of the Report are available, upon request, from the University of Chicago Police Department, 850 E. 61st Street, Chicago, IL 60637.
Internal Number: JR00841
About University of Chicago
One of the world's premier academic and research institutions, the University of Chicago has driven new ways of thinking since our 1890 founding. Today, UChicago is an intellectual destination that draws inspired scholars to our Hyde Park and international campuses, keeping UChicago at the nexus of ideas that challenge and change the world.