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
We are seeking a scientific data developer who will make a significant contribution to the continued
evolution of our data production capabilities towards scalable, automated data processing pipelines and the
development of novel interfaces for our researchers to interact with the data and execute processing tasks.
You will be responsible for working directly with historical census project research staff to gather
requirements for data management applications, data querying/reporting, and data
import/transformation/export. You will collaborate with other IT staff to implement systems and execute
queries to meet those requirements. You will provide end user support for the tools that are created, and
you will participate in our transition of these data management processes to next-generation systems.
- 50% Software Design and Development. Analyzing problems, working closely with researchers
and end-users to understand business requirements of software systems, then designing,
implementing and supporting these systems.
- 20% Data Management. Data mining, querying, and reporting. Building and running automated
and ad-hoc queries and reports to explore and test datasets during the development process.
Creating verification routines to ensure all results are as expected.
- 20% Deployment and Support. Developing automated processes for deploying new code and data.
Modifying existing programs to ensure that changing needs are met. Providing continued support
of production systems as necessary.
- 10% Other duties as assigned.
The minimum requirements for this position are two years of professional software development
experience with a related bachelor’s degree or four years of professional software development experience
with a non-related bachelor’s degree.This position requires expertise in:
- Relational databases (RDBMS), including authoring SQL queries and stored procedures as part of
database application development
- Managing large databases
- Scripting languages
- Writing software for both Linux and Windows environments
This position requires the ability to work largely independently on complex projects and take complete
technical ownership of the applications that are developed. This includes requirements specification with
the research staff and the architecture, design, implementation and support of the resulting systems.
Proficiency with software development tools such as revision control systems, build and deployment
frameworks, testing suites, and work tracking tools also is required. Excellent oral and written
communication skills with technical and non-technical audiences are essential.
Additional selection criteria include: Experience with PostgreSQL; Experience with Python, Perl or Ruby;
Familiarity with distributed computing in a high performance computing environment; Experience with
technologies such as Hadoop, HDFS or Apache Spark; Experience with programmatic control of MS
Office tools; Prior experience working in a research environment.
Please apply using the University of Minnesota’s online employment system (http://z.umn.edu/rox). Attach a
cover letter, resume, and contact information for three professional references to your online application. Your
cover letter is a great opportunity for you to explain your interest in our position opening and to highlight your
relevant skills and abilities. The search committee will begin its review of applications immediately upon
receipt; the position will remain open until filled.
Any offer of employment is contingent upon the successful completion of a background check. Our
presumption is that prospective employees are eligible to work here. Criminal convictions do not automatically
disqualify finalists from employment.