Lead Software Developer

Employer: Virginia Tech - Division of Information Technology
Job Location: Blacksburg, Virginia
Category: Software/QA/DBA
Employment Type: Full Time
Last Updated: 9/16/2020
Closing Date: 9/25/2020
Virginia Tech - Division of Information Technology
Virginia Tech is a public land-grant university, committed to teaching and learning, research, and outreach to the Commonwealth of Virginia, the nation, and the world. Building on its motto of Ut Prosim (that I may serve), Virginia Tech is dedicated to InclusiveVT—serving in the spirit of community, diversity, and excellence.
Job Description
Reporting to the Senior Director of Learning Systems in Virginia Tech’s Technology-enhanced
Learning and Online Strategies (TLOS) unit, the person filling this position will act as the
technical development lead in support of all technology platforms provided by the TLOS
Learning Systems (LS) team, including, but not limited to:
● Canvas learning management system
● Zoom video conferencing
● Kaltura video content management system
● EvaluationKIT survey platform
● Canvas Catalog course registration system
● Our enterprise WordPress instance
● The TLOS data analytics infrastructure

This person will serve as a senior software engineer, with the expectation that they will spend a
considerable portion of their time on non-coding related activities. They will be responsible for all phases of requirements analysis and application architecture, and will lead the development of robust integrations between and among the systems in the LS portfolio, as well as integrations within the larger Virginia Tech software ecosystem, all in support of the TLOS mission. This person will also provide mentoring, both to the other developers in the LS group, but also to developers across TLOS.

The Lead Software Developer will work directly with their supervisor, members of a
development team, and other teams within TLOS to meet project goals with an emphasis on
usability and end-user satisfaction. They will collaborate with the team to design prototypes of
proposed software solutions and help make decisions about which technologies and
approaches should be used for given applications.

This person will assist the Senior Director of Learning Systems Administration to develop the
departmental strategy and represent the interests of the development team in such strategy
discussions. This person will work with other TLOS departments to provide guidance to other
developers to insure reliability and supportability across the TLOS software portfolio.

The person filling this role should both be comfortable managing development processes for
high availability, mission critical production systems, as well as having the skills to work on
innovative, smaller new technology efforts, as the job will require a mix of both.

Core Responsibilities:
● Lead software development efforts for TLOS, including setting standards, meeting
deadlines, and coaching other developers.
● Determine system requirements for new and existing systems by working with end users
and project stakeholders.
● Work collaboratively with other teams within TLOS to meet project goals and
organizational objectives.
● Troubleshoot complex application problems and implement root cause fixes.
● Collaborate with developers across Virginia Tech in an effort to share information and
establish common knowledge across departments.
● Provide maintenance code changes for developed production applications.
● Provide customizations to integrate, enhance, and maintain vendor software and
enterprise systems based on end-user needs.
● Use industry-standard best practices in all

Required qualifications
● Bachelor's degree in computer science, engineering, or similar field
● Minimum 5-7 years software development experience, preferably in Python, Node/JS,
C/C++, and/or Java
● Experience building, deploying, and maintaining standards-based web applications in a
highly available (24x7x365) and scalable environment
● Experience configuring and using cloud-based hosting environments such as AWS,
Microsoft Azure, or Google Cloud
● Experience providing tier-2 / tier-3 end-user support.
● Experience in requirements elicitation and management
● Understanding of relational databases and experience working with databases in web
based applications (solid SQL skills needed)
● Experience with modern software development tools, including Integrated Development
Environments and tools such as IntelliJ, NetBeans, and/or Eclipse
● Experience with source code management systems such as Git, Subversion, or CVS
● Experience with software testing frameworks such as JUnit, pyTest, or minitest

Preferred qualifications
● Master's degree in computer science, engineering, or similar field. MBA also acceptable.
● Ability to negotiate the team’s interests across a complex organization with minimal help
from supervisor
● Experience as a developer or IT manager in higher education
● Experience and expertise in developing accessible software that meets WCAG 2.1
● Experience using Agile approaches to software development
● Practical experience using agile development methods in a production environment
● Demonstrated in-depth knowledge and experience with learning management systems
and/or online collaboration systems
● Experience analysing detailed user interaction logs and application data
● Proficiency with Ruby, PERL, and/or Bash
● Experience in human-computer interaction and/or usability
Sharing and Options