Lead Software Developer

$22.75/hr

Summer Required

A person typing on a Macbook Air

Learn more about the Software Developer team

The Interview

What to Expect

Candidates who are selected for an interview will meet with a small panel that includes current Software Development Team members and often a member of another team that regularly works with the Software Development team to discuss how their skills and experience are a fit for the job. The interview will last about one hour, and will include some general questions as well as technical questions to assess the candidate’s knowledge, skills, and abilities. At the end of the interview, the candidate will be asked to expand upon some of the content of their resume and/or cover letter. The candidate will also be asked to bring an unofficial copy of his/her transcript to verify compliance with the minimum GPA requirement.

Successful applicants to the Lead Software Developer position will not be expected to know the answers to every technical question. Instead, we look for applicants who are able to successfully reason through a problem with which they are unfamiliar.

Interview questions

  • Describe a technical team project you led. What did you do on your own and what did you delegate to other team members?
  • Write a SQL query which retrieves all pairs of elements from fields “name” and “occupation” in the table “friends” whose occupations are non-empty.
  • What Unix command would you use to search for a specific word or pattern in a file?
  • Explain the concept of Version Control, its advantages and potential pitfalls.
  • You will be asked to write solutions, either in a language of your choice or in pseudocode, to one or two simple problems relating to algorithms and data structures. These won’t require in-depth knowledge of either topic, but will require you to consider the advantages and disadvantages of various approaches.

Team On Hiatus

We are not hiring for this position for the 2019-2020 academic year.

About the Team

The Software Development team develops web-based applications and back-end tools in support of Student Technology Services staff and the broader student community. The Software Development team works closely with other Student Affairs IT teams to maintain current applications and develop new ones that optimally meet student and staff needs.

Job Description

Manages the Software Development team:
  • Schedules and conducts regular team meetings
  • Tracks all ongoing projects and provides support and guidance as necessary
  • Hires and trains new staff
  • Conducts evaluations and is responsible for all aspects of staff performance management
Develops Software Applications:
  • Develops and supports applications such as: helpdesk/customer support tools and system level network access control software;
  • Meets with stakeholders to draft design documents for custom software applications
  • Evaluates and documents client needs and requirements
  • Documents code consistently throughout the development process
Provides Software Support:
  • Responds promptly and professionally to bug reports
  • Reviews and repairs legacy code
  • Trains helpdesk staff and provides user documentation in use of custom internal applications

What You'll Learn on the Job

  • Foundations of technical staff supervision and performance management;
  • Process for designing new applications to meet customer requirements;
  • Strategic planning and technical management

Required Qualifications:

  • Effective communication skills and the ability to interact professionally with a diverse group of clients and staff;
  • Demonstrated expertise in tutoring, mentoring, or training others (including those who do not have a technical background);
  • Ability to manage and supervise teams and projects;
  • Previous programming or scripting experience (e.g., Python, Perl, Java);
  • Clearance of criminal background check due to the level of data access and access to systems and physical spaces required by the position.
  • Minimum GPA of 2.0

Preferred Qualifications:

  • Working knowledge of Unix environments;
  • Understanding of application security and networking concepts;
  • Experience with a Model-View-Controller framework (e.g. Django, Rails);
  • Understanding of CGI Programming;
  • Leadership experience in a technical role