Internals
19.25
$ per hour
Summer Required

The Software Developer ...
Develops software:
  • 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
  • Works with the Marketing team to improve interfaces of user-facing applications
  • 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 on the use of customer support applications
  • Trains ResComp staff on the use of internal tools
  • Assists with training for new Software Developers and other student staff
What You'll Bring to the Job
Required Skills:
  • Previous programming or scripting experience (e.g., Python, Perl, Java)
  • Ability to quickly learn new programming languages and technologies
  • Effective communication skills and the ability to interact professionally with a diverse group of clients and staff
  • Ability to work productively in a team
  • Minimum GPA of 2.0
Bonus:
  • Comfort programming in a Unix environment
  • Experience with Bourne Shell scripting
  • Experience with a Model-View-Controller framework (e.g. Django, Rails)
  • Understanding of CGI Programming
  • Demonstrated experience building software applications outside of schoolwork
  • 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
  • Project 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 2016 semester, including New Staff Orientation on Friday, April 7, 2017.
  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 Lead Software Developer.
The Interview
What to Expect

Candidates who are selected for an interview will meet with a small panel made up of 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 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 project you contributed to that you are proud of.
  • Write a SQL query which retrieves all pairs of elements from fields “name” and “occupation” in the table “friends” whose occupations are listed.
  • 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 about 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 hiring@rescomp.berkeley.edu.