Job Title: Software Engineer – Undergraduate Academic Assistant (UAA)
Full/Part Time: 20 hrs/week
Desired Start Date: April 1, 2023
Job End Date: May 31, 2024
The Department of Philosophy is looking for motivated Student Software Engineers to work on the world’s largest comprehensive online quantitative and qualitative database of history. The Database of Religious History (DRH) is an exciting and successful science-humanities project that has received over a decade of funding and widespread media coverage, including in both Science and Nature. The vision of the project is to help quantify the world’s historical knowledge, serve as a centralized system for scholarly knowledge of the historical record in the humanities, and to provide datasets needed to answer profound questions about the cultural evolution of civilizations.
The successful candidate will be working toward or have recently completed a relevant degree in computer science, software engineering, computer systems engineering, operational research, information technology, or similar. Candidates should have experience working with complex web applications. This includes knowledge and/or experience with front-end web development using HTML/CSS/JS and React, back-end development using Django and node.js. Knowledge of Docker, Ansible and AWS are also required. Working closely with the Technical Director and reporting directly to the Project Director, the successful candidate will be required to work with a variety of stakeholders, including the Associate Director, Managing Editor, historians, administrative personnel and other software developers as part of a worldwide team. The role is based at UBC Vancouver Campus, but may have opportunities for travel.
Under the direction of the Technical Director, the Project Director and the project team (including the software developers), the postholder’s main role will be maintaining and contributing to the ongoing development and expansion of the DRH project, including software development, server administration, and advising project leaders as required. The successful candidate must have excellent written and verbal communication and organizational skills and a demonstrated ability to quickly learn new technical skills.
You will report to the Project Director. You may be asked to perform your work remotely part of the time.
- Work with a team of professionals to expand and develop the existing system. These will include the other software developers and non-technical personnel in the sciences and humanities.
- Provide feedback and guidance to other developers on the design and features of the system, consistent the Technical Director’s vision for the project. These will include backend architectural decisions and front-end design decisions.
- Provide regular updates to the Project Director, Technical Director and other relevant stakeholders
- Assist with running training programs for historians/RAs who will enter information into the system
- Troubleshoot complex and unseen database and server issues in an accurate and timely manner
- Create standard procedures and documentation to enhance scalability and performance of existing architecture and maintaining records on repair and installation
- Ensure database disaster recovery by working with software developers to test and manage backup procedures to ensure continuous availability and speedy recovery.
- Supervise installation, migration and upgrade of the application
- Prepare reports on database scalability, performance, and capacity planning as needed
- Stay updated with new technologies and analyze such technologies to bring into scope of existing infrastructure.
- Ensure that the conceptual design considers both back-end architecture and front-end accessibility for end-users
- Design and develop or the assist in the design and development of new technologies related to the DRH (e.g., Python and R packages)
Consequence of Error/Judgement
This position makes decisions regarding technical support through application of established principles. Errors in judgement result in significant impact on many different levels at the University ranging from faculty members to the department. There may be serious repercussions of any errors to the reputation of the faculty members and their research. Good design decisions will result in well-written code, with clear software implementation which is easy to test, enhance and maintain. Poor judgment in either of these aspects will result in delays and reduced productivity for the entire collaboration.
Oversight will be provided by the Project Director. The position requires a strong work ethic and ability to take direction and work within a collaborative framework to achieve milestones and timelines. Results to be reviewed for achievement of overall objectives.
- Working toward or completed Bachelors-level or above degree in computer science, software engineering, computer systems engineering, operational research, information technology, or similar.
- Programming experience in one or more relevant languages (Python, HTML/CSS/JS)
- Able to communicate well written and verbally with a wide range of people and to convey information clearly and appropriately
- Experience providing recommendations based on matching goals of project, evaluation of expert evaluations (e.g., historians, software engineer) and personal research (e.g., learning about new technologies online)
- Self-motivation and the ability to organize own workload
- Ability to work to a high standard of accuracy and precision
- Experience in participating and contributing to a team
- Experience with web technologies (in particular Django, React, node.js, Docker, Ansible, AWS)
- Experience in Linux server administration
- Previous experience in a similar position
- Demonstrated ability to adapt and contribute to a rapidly changing environment, where goals and specifications change as the software project grows.
- Demonstrated ability to work with stakeholders in different disciplines, ideally including between humanities and sciences, and with different levels of technical ability
Applications should include a cover letter and CV, to be sent to Erin Daniels Jones (email@example.com) by February 28th, 2023.
Questions about the position can be directed to the Technical Director, Dr. Michael Muthukrishna, at firstname.lastname@example.org; questions about the application should be directed to Erin Daniels Jones: email@example.com