As an independent research organization, the Morgridge Institute for Research explores uncharted scientific territory to discover tomorrow’s cures. In affiliation with the University of Wisconsin-Madison, we support researchers who take a fearless approach to advancing human health in emerging fields such as regenerative biology, metabolism, virology and medical engineering. Through public programming, we work to inspire scientific curiosity in everyday life.
The Web Developer will manage the user-facing presence (design, layout, UI, and functionality) of the web pages for a broad array of projects for the Research Computing group, including the PATh project (Partnership to Advance Throughput Computing), a new major NSF investment into the group’s vision and approach. They will use web frameworks, design tools, and best practices to design, develop and maintain websites; these websites promote various scientific projects and hosted events. In some cases, the website may aim to make a scientific computational program more accessible to other groups. While the primary focus will be “frontend” work (including basic graphical design), the Web Developer will have some responsibility for “backend” work, such as integrating with identity management, databases, and simple REST API design.
• Work with the team to manage the public presence of various Research Computing projects. Take ideas about design and content from the team and turn them into functioning and compelling websites.
• Work with local and remote project staff to create intuitive, responsive, easy-to-use interfaces for a number of projects. Example interfaces include providing users with ways to explore large datasets, authentication and login management, or managing batch jobs running on the backend on the user’s behalf.
• Work with security staff to ensure that web-interfaces are secure, free of security vulnerabilities, and integrated with single-sign-on solutions like CILogon and using OIDC/OAuth2 as a technical mechanism.
• Design RESTful APIs to deliver dynamic data to static webpages.
• Use modern software development processes to gather requirements and iteratively develop software that meets the needs of our internal and external customers.
• Provide in-line and stand-alone architectural and user documentation to ensure developed solutions are extensible, supportable and usable by others.
• Help design workflows to continuously deliver updates to web services and websites.
• Maintain developed software and provide support to internal staff and customers
• Develop new websites and services as our needs grow. Develop web landing pages or email templates for newsletters, event promotions, or other marketing.
• Provide assistance to other teams, as necessary, to support the overall mission and goals of Morgridge Institute for Research
• Attend staff meetings, and other meetings as required
• Perform miscellaneous duties as required
To perform this job successfully, an individual must be able to perform each primary duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the primary duties.
Education and Experience:
• A Bachelor’s degree in Computer Science, Mathematics, Digital Media or a related field is preferred.
• At least two years of Web development experience preferred.
• Experience working with continuous integration and deployment is desirable.
• Experience working with static site generators such as Jekyll is desirable.
• Experience working collaboratively with others on open-source projects is desirable.
Knowledge, Skills and Abilities Required:
• Excellent interpersonal and teamwork skills
• Strong oral and written communication skills
• Strong systems design and programming skills
• Ability to work with others in a focused research setting
• Skills working in the following environments/methodologies are required: Linux, Apache or Nginx web servers, RESTful web services, SQL and databases (examples: MySQL, ElasticSearch), and modern software development and revision control tools (examples: collaborative development in GitHub).
• Knowledge of the Python flask framework and the Jinja template engine is desirable.
• Knowledge of common authentication and authorization workflows such as OAuth2 or OIDC is desirable.
Working Conditions and Physical Effort:
• Work is normally performed in a typical office/laboratory environment.
• No or very limited physical effort is required.
• No or very limited exposure to physical risk.