Details
Posted: 10-Jun-22
Location: Minneapolis, Minnesota
Salary: 60663.77 - 112466.53
Additional Information:
2 openings available.
IPUMS 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 so that demographers, historians, economists, environmental scientists, journalists, policymakers, and others around the globe can use the data to do amazing research and make the world a better place.
The IPUMS IT group supports this mission by using leading open source tools to solve complex data and computation challenges and build reliable, scalable data dissemination systems. Your work will be highly visible and will contribute directly to the overall success of our organization. IPUMS is part of the University’s Institute for Social Research and Data Innovation. IPUMS and its affiliated units support the work-life balance of our staff with 40-hour work weeks, flexible work hours, partial to fully remote work schedules if desired, and generous vacation and sick leave benefits. The University also offers excellent health insurance, tuition assistance, and retirement benefits. IPUMS IT has a robust professional development fund for staff training and development.
About This Role
This position is for a software developer to work on web applications and APIs for our data products and supporting systems. This role will work across our product portfolio, and will work on a mix of existing and newly-built systems. This position is part of our Product software development team, and will work closely with the other members of the team on a daily basis.
The primary technology this role will use is Ruby on Rails, although increasingly we also use Python to build web services and JavaScript frameworks to build thin front end UIs. Other technologies this position will work with include Postgres, MySQL, RabbitMQ, and Docker. Prior experience with all of these technologies is not expected or required.
Diversity, inclusion, and respect are core values of our organization. We aspire to create a team representative of the global population data with which we work. We strongly encourage women and members of under-represented groups to apply.
RESPONSIBILITIES
The position will have responsibility for design, implementation and support of software systems, including enhancing and adding new features to the IPUMS web applications and APIs as well as building standalone software systems. This position will report to the Product team manager. This position involves daily interaction with the rest of ISRDI IT, the ISRDI research staff, and other user communities.
Work Breakdown
- 50% Software Implementation and Analysis: Coding, refactoring, testing and deployment in both individual and team settings.
- 20% Software Architecture and Design: Iterative development of architecture and design in partnership with IT and research staff.
- 25% Deployment and Support: Support of production systems as necessary.
- 5% Other job duties as assigned: Professional development activities, participation in IT working groups, and other tasks as assigned.
This position is available as a Web Application Developer 1 or 2, depending on the successful candidate's qualifications. Individuals in level 1 and 2 positions both make significant contributions to the development and support of the products, systems, and services for which their team is responsible. Individuals in a level 1 role will operate under the general supervision of a more senior developer or development manager and will have frequent mentorship sessions as they acquire the skills and experience necessary for success in the role. Individuals in a level 2 role will continue to receive mentorship and supervision from more senior staff as they develop increased autonomy, independence, and potential for leadership of smaller components or areas of a project.
Candidates who qualify for the Web Application Developer 2 position will have an annual starting salary of $80,000+, commensurate with experience.
All candidates who meet the required qualifications will be considered. We encourage candidates to apply to this position even if they meet few or none of the preferred qualifications. Applicants who do not meet the required qualifications can apply to our Web Application Developer 1 opening. If you have an active github.com or similar code-sharing account please share details in your resume or cover letter.
Web Application Developer 2 Required Qualifications: BA/BS plus two years of experience, or master's degree.
Related experience includes:
- Dynamic Server-Side language experience
- JavaScript and CSS
- Databases (relational or NoSQL)
Preferred Qualifications: Experience with one or more of the following:
- API design and implementation
- JavaScript frameworks such as Angular, React, Vue, Ember or Backbone
- Containerization technologies such as Docker
- Service (or microservice) based architectures
- Developing applications in a Linux environment
- Working with and transforming large amounts of data
- Application server technologies such as NGINX, Puma, and Passenger
- Message queues such as RabbitMQ and Kafka
- Elasticsearch
- Proficiency in additional programming languages such as Java or C/C++.
- Experience with parallel/distributed computations.
- Experience with Test-Driven Development, Continuous Integration and other Agile software development concepts.