The Minnesota Population Center (MPC, www.pop.umn.edu) is a leader in the field of quantitative social science research and the largest disseminator of census and demographic data to the world's academic research community. Or, to put it another way - we're on a mission to gather, process, link and publish billions of records spanning hundreds of years and more than 100 countries for demographers, historians, economists, environmental scientists, journalists, policymakers, and others around the globe, who then use the data to do amazing research and make the world a better place.
The staff of the MPC IT Core support this mission by using leading open source tools to solve complex data and computation challenges and build reliable, scalable web-based data dissemination systems. The MPC IT Core is a small group of talented and dedicated individuals. Your work will be highly visible and will contribute directly to the overall success of our organization. Read more about MPC IT at http://tech.popdata.org/.
MPC IT Core's IT Operations team is seeking a Linux system administrator. This team manages the infrastructure that the MPC uses to create, test, deploy, run and monitor our custom-developed software systems for processing and disseminating our research datasets. The ideal candidate will have strong traditional Linux system administrator foundational skills along with a particular interest in clustered/distributed computing. You will work across our project portfolio, offering the opportunity to have a major impact on many products and teams across our organization.
The IT Operations Team's primary goal is to provide state-of-the-art environments and support for our data research and software development mission. The work involves daily interaction with the rest of the MPC IT core, the MPC research staff, MPC members, and other user communities. As such, you will interact with stakeholders from throughout the organization. You will be responsible for:
- daily monitoring and administration of our linux infrastructure and related components
- assisting our developers and research staff in designing and implementing new systems or improvements to existing systems
- troubleshooting abnormal system behavior and failures
- participating in the tuning of systems for performance and scalability improvements
- development of automated solutions for setting up development and production environments
- assisting with general IT operations team tasks as needed
In this wide-ranging role, you will have the potential to work on challenges as diverse as automated scale-up/scale-down of infrastructure, caching layers, build-out of continuous integration / continuous deployment environments, improvement of API call performance, and management of our data processing pipelines using HPC approaches as well as newer technologies such as Apache Spark.
Work Breakdown
- 10% Systems Architecture and Design. In collaboration with the rest of the operations team, our software developers, and our infrastructure providers, design systems to support our development, testing, and production infrastructure needs, including distributed and parallelized systems.
- 60% Systems Implementation and Maintenance. Deploy and maintain our development, testing, and production research systems and environments utilizing physical, virtual and cloud infrastructure.
- 20% Clusters and Distributed Computing. Work with product IT staff to investigate and implement solutions that take advantage of computing clusters. Deploy, optimize, and maintain our clusters. Partner with IT staff to take advantage of our relationship with the Minnesota Supercomputing Institute.
- 10% Other duties as assigned.