Application Developer

Virginia Tech

Blacksburg, VA

ID: 7302669
Posted: Newly posted
Application Deadline: Open Until Filled

Job Description

Job Description

Reporting to the Senior Director of Learning Systems in Virginia Tech’s Division of Information Technology, the person filling this position will act as a application developer in support of all technology platforms provided by the IT Learning Systems (ITLS) team, including, but not limited to:
● Canvas learning management system
● Zoom video conferencing platform
● Kaltura video content management system
● Course Evaluations & Surveys platform
● Canvas Catalog course registration system
● Our data analytics infrastructure

This person will serve primarily as a programmer, with the expectation that they will spend the majority of their time on heads-down coding activities. Team interaction will be important in terms of understanding requirements, following our best practices for development, testing, and in terms of providing tier-3 support for our systems. Much of our work is around data analytics and systems integration and in making all systems listed above work seamlessly for VT students and faculty alike.

The application developer, as a member of our software development team, will work directly with their supervisor, other members of a development team, and other teams (such as our key customer group Technology-enhanced Learning and Online Strategies) to meet project goals with an emphasis on usability and end-user satisfaction. They will collaborate with the team to develop software solutions.

The person filling this role should both be comfortable writing code and supporting mission critical university-wide production systems, as well as having the skills to work on smaller, innovative technology efforts, as the job will require a mix of both small and large scale efforts.

Core Responsibilities:
● Perform software development efforts for ITLS meeting deadlines for deliverables.
● Work collaboratively with other teams to meet project goals and organizational objectives.
● Provide technical guidance and mentoring for other team members.
● Designs and implements solutions for our most challenging application areas.
● Troubleshoot complex application problems and implement root cause fixes.
● 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 ITLS application development to ensure security, compatibility, and supportability.
● Document all work thoroughly in a way that others can rely upon.

Required Qualifications

● Master's degree in Computer Science, or bachelor’s degree with training and experience that would equate to a master’s degree
● Professional software development experience with a modern procedural, object-oriented, or functional programming language using an IDE - examples of languages desired: Java, Ruby, PHP, Python
● Experience building, deploying, and maintaining standards-based web applications in a highly available (24x7x365) and scalable environment
● Understanding of relational databases and experience working with databases in web based applications (solid SQL skills needed)
● Experience using cloud-based hosting environments such as AWS, Microsoft Azure, or Google Cloud
Skills using source code management systems such as Git, Subversion, or CVS
● Working knowledge of unit testing frameworks such as pytest
● Committed to supporting and promoting a diverse and inclusive community

Preferred Qualifications

● Experience in requirements elicitation and management
● Demonstrated skills in developing application “front-ends”, including skills with HTML, CSS, JQuery, and JavaScript
● Experience as a developer in higher education
● Experience and expertise in developing accessible software that meets WCAG 2.1 requirements and is fully responsive
● 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
● Proficiency working with a variety of operating systems including Linux, MacOS, and Windows