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 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.
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 will have an annual starting salary of $80,000+, commensurate with experience.
Bachelor’s degree. Two years of work experience in application/web/systems development with a related bachelor’s degree or four years of work experience in application/web/systems development with a non-related bachelor’s degree.
Required experience includes:
Dynamic server-side language experience
Databases (relational or NoSQL)
Effective oral and written communication skills are essential. This position requires the ability to work independently on complex projects as well as the ability to effectively collaborate with your colleagues.
Experience with one or more of the following:
API design and implementation
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
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.
If you have an active github.com or similar code-sharing account please share details in your resume or cover letter.
Internal Number: 338412
About University of Minnesota, Twin Cities
The University of Minnesota, founded in the belief that all people are enriched by understanding, is dedicated to the advancement of learning and the search for truth; to the sharing of this knowledge through education for a diverse community; and to the application of this knowledge to benefit the people of the state, the nation, and the world.