The Institute for Health Metrics and Evaluation (IHME) is an independent research center at the University of Washington focused on expanding the quantitative evidence base for health. IHME aims to provide policymakers, donors, and researchers with the highest-quality quantitative data to make decisions that achieve better health. IHME’s research spans multiple disciplines and policy-relevant areas including resource tracking, cost-effectiveness, forecasting, burden of disease, geospatial analysis, and impact evaluations. It has established international scientific credibility for developing innovative multidisciplinary methods and producing cutting-edge results to tackle some of the most difficult and most critical questions in global health and find answers that will become the foundation for better policies and, ultimately, better health.
IHME has an outstanding opportunity for a Software Engineer, Microsimulation to join IHME’s Technology Team. The aim of this position is to support research into the future burden of disease throughout the world and the most effective use of resources in developing countries’ health systems. This position will work with researchers in public health, economics, and statistics to create a flexible simulation tool that incorporates a wide variety of data to both understand the current state of a health system and predict how it will respond to change. This position requires a strong background in writing scientific software and an ability to translate researchers’ needs into a concrete software development plan. The individual will design and implement solutions that improve performance and can easily be utilized by other staff with less coding experience. The position ensures the software developed is appropriately flexible, scalable, and efficient. The position calls for dexterity working with the Python language.
- Work with other software engineers and researchers to build a distributed system that allows for efficient large-scale simulation of global health systems.
- Design with flexibility in mind such that more complex models (simulating in increasingly greater detail) can be built by users over time.
- Optimize code efficiency and parallelize across our massive (20,000+ CPU cores) computing cluster to enable researchers to quickly produce results.
- Create a user-friendly interface for researchers to build, run, evaluate, and visualize the results of their own simulations.
- Follow software development best practices to document, test, and perform source control.
- Work with researchers, supervisors, and colleagues to develop plans for software to better support research needs.
- Assess analytic tools, indicators, and desired results against available infrastructure and devise plans to improve the performance of components.
- Contribute to software specification process and present to users for feedback.
- Determine appropriate tools to use, including languages, frameworks, data structures, etc.
- Help to develop and follow a system of APIs to enable greater efficiency.
- Assess databases that house the relevant data and determine how best to use them.
- Provide input to timelines to deliver both iterative milestones and completed products.
- Communicate clearly and effectively while contributing as a productive member of the forecasting team and the Institute as a whole. Work closely with other team members at varying levels to help them with relevant tasks, teach them new skills, and help resolve emerging problems on different projects.
- Attend relevant meetings, adhere to deadlines, and participate as a vital member to collectively advance team-level objectives.
- Participate in the overall community of the Institute, carrying out duties as required as team members with other Institute members.
Bachelor’s degree in computer science, mathematics, engineering, or related field plus two years’ related experience, or equivalent combination of education and experience.
- Demonstrated expertise in developing code in Python, C++, Java, R, SQL, or other coding language.
- Experience and interest in scientific software packages such as scipy, pandas, and numpy.
- Strong sense of focus and attention to detail.
- Ability to plan and organize technical projects.
- Demonstrated organizational skills, self-motivation, flexibility, strong communication skills, and the ability to thrive in a fast-paced, energetic, highly creative, entrepreneurial environment.
Conditions of employment
- Appointment to this position is contingent upon obtaining satisfactory results from a criminal background check.
- Evening and weekend work may be required.