Software Engineer

Location
Chicago
Posted
Jun 01, 2017
Institution Type
Four-Year Institution
About The Unit: The Center for Data Intensive Science at the University of Chicago is a research center pioneering translational data science to advance biology, medicine, and environmental research. Data driven research approaches require interdisciplinary innovation in computing technology, algorithms, and statistical models. The growing volume of data available necessitates advances in the sophistication of these methods. Our work centers around developing instruments to integrate commons of complex data with cloud computing technology. We architect large scale commons of research data, computing resources, applications, tools, services. Our guiding principles center around open data, open-source software, and open infrastructure. Through this approach, we can more effectively use data at scale to study and pursue scientific inquiry in the areas of biology, medicine, healthcare, and the environment. We are leaders in data sharing, democratizing access for the broader research community and accelerating discovery. Our leadership emerged with the launch of the first open-source cloud-based computational research platform recognized as an NIH Trusted Partner, achieving rigorous data quality and data management service requirements. Today we offer over seven petabytes of rich research data through the following data commons platforms: - NCI Genomic Data Commons - Bionimbus Protected Data Cloud - Blood Profiling Atlas for Cancer - OCC Environmental Data Commons - Open Science Data Cloud We are based in Chicago, but our work engages collaborators from across the world.

Unit Job Summary: A software engineer in the Center for Data Intensive Science works with cloud computing infrastructure primarily based on OpenStack to develop, maintain, and evaluate software applications to meet business and technical requirements. Works in Linux-based systems in Python with some C/C++ and Go and various web technologies. Solves complex problems and performs at a high technical level in programming activities. Executes code testing and ensures appropriate standards are met. Provides production and user support. Serves as a liaison with internal and external collaborators on various research projects. Documents project development and programming code. Coding includes the full stack including systems orchestration, API development, algorithms and data structures, and user interfaces. Projects span management, sharing, and provenance of large data sets; automation, metrics, and scheduling for cloud computing, large scale pipelining of next-generation sequence analysis, transfer programs/protocols for high-speed networks and resource visualization. Perform other duties as assigned. This at-will position is wholly or partially funded by contractual grant funding which is renewed under provisions set by the grantor of the contract. Employment will be contingent upon the continued receipt of these grant funds and satisfactory job performance. If this position is eliminated due to the discontinuation of grant funding, a minimum of one pay period's written notice (If exempt: 30 days, If non-exempt: 2 weeks), or pay in-lieu of notice will be given. Please include a code sample with you application.

Unit Education: Bachelor's degree in computer science, mathematics, statistics, engineering, or a related field required.

Unit Experience: Minimum two years of relevant programming experience required. Experience using applications such as Python, C/C++, Java, or Ruby required. Unix/Linux experience required. Version control experience required High performance/ cloud computing experience preferred. Unix/Linux programming or system administration experience preferred. UX/UI experience preferred. Git version control experience preferred. Experience with genomics preferred.

Unit Job Function Competencies: Ability to prioritize and manage workload tomeet critical project milestones and deadlines required. Attention to detail required. Ability and willingness to acquire new programming languages, statistical and computational methods, and background in research area required. Ability to work in a collaborative team environment required.