Last updated on
Jobs
CS-214 is a hands-on class, and its success hinges on the quality of the support that our students get throughout the semester. We are recruiting 15 to 20 passionate assistants to join the course team.
Perks of the job:
- Real responsibilities
- On-the-job training and mentoring
- Fuzzy feelings from helping other EPFL students
- There may be pizza
- đź’°
We have three types of positions in CS-214. Junior SAs have typical SA responsibilities, like staffing help sessions and (for Master’s students) helping with grading. Senior SAs have a higher time commitment and additional responsibilities, related to either teaching, engineering, or logistical aspects of the course. All senior SAs are mentored by PhD students to aid in the transition to high-responsibility roles. Lastly, we are looking to hire a course development intern. This would be a one-month internship with a flexible starting date during the summer, with a 2000 CHF stipend (100%; part-time work is also possible).
Application process
If you have previous SA experience, we encourage you to apply for senior positions. Don’t be shy!
Final hiring decisions are expected by the end of June. Applications received before June 1 will receive preferential consideration. Applicants not known to the course team may be invited to sit a brief interview.
Junior positions
Lab assistant (8 SAs, 4–8 hr/wk)
You are the course’s front line. You help students during in-person help sessions and on the online forum by guiding them with labs and exercises and answering questions about lecture material.
Your typical week
- .5h course review, exercise and lab prep
- 4–6h help sessions and Ed Q&A
- 1–2h (optional) senior SA training
Your responsibilities
- Staff weekly help sessions
- Help students on Ed, escalating to senior staff as needed
- For Master’s students: participate in dry runs, proctoring, and grading for the midterm and final exams
- Participate in SA training sessions (once or twice per semester)
- Participate in occasional bug-fixing and content-creation sessions
- As needed, volunteer to participate in senior SA activities (if interested in moving to a senior SA job in future years)
Your profile
You are passionate about teaching, pedagogy, and helping students succeed. You are ready to contribute to the course’s quality in the long run and potentially interested in becoming a senior SA in a future year. You speak excellent French.
Senior positions: teaching
Course quality engineer (1 SA, 8 hr/wk)
In addition to help sessions, you are in charge of monitoring and improving the quality of course materials.
Your typical week
- 5h reviewing and improving labs, exercises, lectures, and exams
- 3h help sessions
Your responsibilities
- Staff weekly help sessions.
- Produce detailed reviews of all content materials (labs, exercises, lectures, and exams) before they are released.
- Work with professors and TAs to implement improvements.
Your profile
You are detail-oriented, uncompromising, and proud of your work, and you never settle for “good enough”.
Course development engineer (1 SA, 10 hr/wk)
In addition to help sessions, you are in charge of creating new content for the course.
Your typical week
- 5h help sessions
- 5h labs, exercise, and exam development
Your responsibilities
- Staff help sessions (flexible schedule depending on development workload)
- Propose two to three new exercises each week
- Develop one new lab during the semester
- Develop exam materials
Your profile
You are passionate about writing and pedagogy. You have an excellent command of English, and you are an expert in Scala and functional programming. You have experience with collaboration platforms (merge requests, code reviews) and teamwork.
In-person teaching coordinator (1 SA, 10 hr/wk)
In addition to help sessions, you are in charge of monitoring and improving the quality of exercise and lab sessions.
Your typical week
- 7h help sessions
- 2h lab and exercises review and development
- 1h weekly lab and exercise report (for the staff)
Your responsibilities
- Staff help sessions (especially last-minute substitutions)
- Gather feedback from SAs and TAs and summarize it in a weekly report for the staff covering common mistakes and misunderstandings, student feedback, and issues with course materials
Your profile
You love helping others and you enjoy one-on-one interactions, in both French and English. You are patient, sociable, and kind. You are proficient in software engineering and in Scala, and you are on board with the philosophy of the course (helping students help themselves).
Online teaching coordinator (1 SA, 10 hr/wk)
You are in charge of Ed and weekly debriefs: you make sure that questions are promptly answered, mentor junior SAs by improving their answers, escalate questions to course staff as needed, and summarize weekly issues in a weekly debrief.
Your typical week
- 6h Ed Q&A
- 3h weekly debriefs (for students)
- 1h course Q&A updates
Your responsibilities
- Monitor and answer online questions
- Double-check and improve existing answers
- Ensure adequate response times
- Enforce the course’s online policies
- Prepare weekly debriefs with input from the in-person teaching coordinator and the rest of the course staff
Your profile
You love helping others, and you see the potential of online Q&A to support asynchronous learning. You are detail-oriented, precise, meticulous, and sometimes pedantic.
Senior positions: engineering
Infrastructure engineer (1 SA, 12 hr/wk)
You are in charge of maintaining and improving course infrastructure, including computerized exam infrastructure. You work closely with the school’s VDI team, the IC-IT team, and the rest of the course staff.
Your typical week
- 3h lab proctoring
- 3h infrastructure development and monitoring
- 2h lab and exam VM preparation and testing
- 2h exam infrastructure development
- 2h coordination with VDI and IT teams
Your responsibilities
- Attend weekly on-computer lab sessions
- Prepare autograding VM images for labs and exams
- Post weekly lab and exercise assignments to Moodle
- Address student issues with VDI and auto-grading
- Collaborate with the VDI team and IC-IT team to prepare the course’s VDI image
- Assist with VDI infrastructure tasks ahead of and during exams (storage and network configuration, VM provisioning, access control, etc.)
- Document infrastructure setup procedures, best practices, and troubleshooting guidelines
- Serve as the key point of contact for VDI-related issues
Your profile
You are looking for experience in DevOps and cloud engineering. You know your way around command line tools, shell scripts, Unix systems, version control, and CI scripting. You are excited about system administration, virtualization, automation, and distributed development processes.
Senior positions: logistics
Production manager (1 SA, 10 hr/wk)
Scala experience is appreciated but not strictly necessary for this position.
You are in charge of preparing weekly rosters, keeping track of course deadlines, keeping Moodle and the course website up-to-date, and generally identifying staffing and content issues before they become a problem.
Your typical week
- 1h in-person help session tracking
- 1h roster preparation
- 1h deadline tracking and team coordination
- 1h lecture recording, editing, and uploading
- 1h Moodle, website, and syllabus updates
- 1h staff meeting
- 0–4h (as needed) firefighting
Your responsibilities
- Visit help sessions to identify staffing issues
- Prepare the weekly roster and track staff availability
- Prepare the course team calendar, keeping track of all deadlines and deliverables
- Coordinate the entire course team, including TAs and professors, to make sure everything is on track
- Edit recordings on MediaSpace and post them to the course’s public channel
- Ensure that all materials are posted on schedule (lecture videos, slides, polls, etc.)
- Maintain Moodle, the course website, and the syllabus (add links to slides, exercises, and labs to the course; clean up outdated content; create groups and group-choice activities)
- Track student lab exemptions and other special cases
Your profile
You are organized, punctual, and detail-oriented. You recognize the value of good course logistics, and you care about processes, organization, and things running smoothly.
Exam coordinator (1 SA, 10 hr/wk)
You are in charge of exam logistics.
Your typical week
- 4h exam proctoring
- 2h exam planning
- 2h exam printing, scanning, and analysis
- 2h exam content development, review and testing
Your responsibilities
- Attend weekly on-computer lab sessions
- Organize dry runs and exams
- Print and scan paper-based exams
- Book and prepare rooms before exams; manage room accesses
- Prepare exam-related guides and announcements
- Organize VDI testing and training sessions
- Ensure backup plans are in place for common issues (e.g. device failures, room changes)
- Coordinate staff for exam proctoring
- Serve as the key point of contact for logistical issues on exam days
Your profile
You are excited about planning big events and making sure they run smoothly. You understand that everything that can go wrong will go wrong, and you enjoy planning for every scenario and contingency—you hate leaving things to chance.
Data analyst (1 SA, 6–10 hr/wk)
Scala experience is appreciated but not strictly necessary for this position.
You are in charge of all aspects of data collection, analysis, and automation in the course.
Your typical week
- 3h exam and project grade calculations
- 2h miscellaneous data processing
- 1h feedback collection and analysis
- 4h (optional) help sessions
Your responsibilities
- Create monthly polls on Moodle and summarize student feedback
- Analyze student submissions and produce reports on time spent per lab
- Implement exam and project grade calculations
- Assist other SAs with data-processing tasks (seating charts, exam instruction-sheet templates)
- Analyze exam data to detect unexpected patterns (cheating, grading issues, unclear instructions)
Your profile
You are organized, punctual, and detail-oriented. You are proficient in Python and you have solid foundations in data analysis, both theoretical and applied (Jupyter, pandas
, …). You are interested in applying your skills to enhance the students’ experience.