$ per hour
Summer Required

The Lead Software Developer ...
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
Develops Software Applications:
  • Develops and supports applications such as: system level network access control software; security incident management system; customer relations/helpdesk tools
  • 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
  • Develops automated testing
Provides Software Support:
  • Responds promptly and professionally to bug reports
  • Reviews and repairs legacy code
  • Trains Helpdesk staff in use of custom internal applications
What You'll Bring to the Job
Required Skills:
  • Effective communication skills and the ability to interact professionally with a diverse group of clients and staff.
  • Demonstrated expertise in teaching, mentoring, or training others (including those who do not have a technical background)
  • Ability to manage and supervise teams and projects
  • Experience prioritizing tasks and delegating responsibility
  • Previous programming or scripting experience (e.g., Python, Perl, Java)
  • Ability to quickly learn new programming languages and technologies
  • Minimum GPA of 2.0
  • Strong 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.
  • Minimum GPA of 2.3
What You'll Learn on the Job
  • The Django web application framework
  • The Perl programming language and CGI applications
  • Design and usage of relational databases
  • Networking technologies such as DHCP and SNMP
  • Designing new applications to meet customer requirements
  • Strategic planning and technical management
Availability & Training Requirements
  1. The period of employment for this position begins upon hire and continues at least through the end of 2017-2018 academic year.
  2. Must be a currently enrolled UC Berkeley student.
  3. Must be available for 2-5 hours per week of training during the spring 2017 semester, including sessions on:
    • February 17
    • April 7
    • April 14
    • 2 days during the week of May 16 (dates/times TBD)
  4. Must work 20-40 hours per week during the summer.
  5. Must work 8-15 hours per week during the academic year.
  6. Required to attend all-staff training on Friday, August 18, 2017.
  7. Must clear a criminal background check due to the level of data access and access to systems and physical spaces required by the position.
  8. Continued employment is contingent upon satisfactory job performance evaluation by the Director, SAIT-Student Technologies.
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.

Sample 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.

This job is currently not open for hiring

Have a question? Email us at