Sam Zurcher

Curriculum Vitae
Master of Science ETH in Computer Science

Summary

Senior Software Engineer with focus on Java, Javascript, Scrum, and technical interviews. Some experience with NodeJS, AngularJS, MeteorJS Ruby, Ruby on Rails, TDD, and technical coaching.
I'm comfortable working in an international environment as I have studied and worked in Europe, North America, and Asia. I'm very comfortable speaking English because it is one of the two languages spoken in our family. I always look forward to challenges to further my knowledge and skills.

Professional Experience

  1. Senior Software Engineer in the telecom division of Ergon Informatik AG.
    Backend Team of the Swisscom Allegro project September 2013 - Present
    • Backend Development in Java using JEE and Guava.
    • Experience with ElasticSearch.
    • Introducing, implementing, and enforcing a convention for the format of TODO / FIXME.
    • Introducing the Allegro Academy: A set of tasks a new team member has to complete when starting in the team.
    • Initiating the creation of a development virtual machine and maintaining it.
    • Member of the Tech Lead group that is responsible for technical decisions. November 2014 - September 2015
    • Mentor for new employees.
    • Introducing new guidelines for requirements engineering / story creation.
    • Being part of a team of developers dealing with support cases and bug reports.
    • Team Leader of a team of approximately eight software engineers. April 2015 - April 2016
    • Deputy Project Lead of a sizeable team of software engineers. September 2015 - April 2016
    • Quality Manager, responsible for overall quality, processes, and efficiency. April 2016 - present
    • Head Post-DEV, responsible for a testing, customer support, and infrastructure teams. April 2016 - present
    Notes42 - Learning NodeJS / AngularJS 7th July 2014 - 18th July 2014

    Two week educuational project together with Raimond Reichert. Learning NodeJS and AngularJS.

    Retro42 - Learning MeteorJS 22nd June 2015 - 3rd July 2015

    Two week educuational project together with Raimond Reichert. Learning MeteorJS

  2. Software Engineer in the Delivery Center Online Order (Neo). Neo is the new order entry replacing eOrders (see below). Neo is developed by approximately 25 people. Based on JSF and closely integrated with Siebel using aMind.
    Achievements
    • Observing, conducting, and evaluating pair programming interviews.
    • Contributing questions for the Neo Academy. The academy is supposed to help people to get started faster with Neo.
    • Active participation in process definition to accommodate the growing team.
    • Implementation of performance improvements.
  3. Software Engineer in the Delivery Center Online Order (eOrders). For more information, check description for 2008-2011.
    Achievements
    • Conducting over 20 pair programming interviews with potential external and internal candidates (2010 - present)
    • Introducing the eOrders academy: A set of tasks a new team member has to complete when starting in our team. Helps to expedite the integration of new team members and saves the time of the existing team members. Highly relevant as on an average, we exchange approximately half of our team members after a year.
    • Introducing Selenium Grid on Amazon EC2. Decreasing execution time of the selenium test suite from 1h+ to less than 20 minutes. Direct positive impact on development as this reduces the duration of the feedback loop dramatically.Together with Thomas Arni and Franziska Meyer.
    • Introducing change set analysis for selenium tests. Given a change set, we can calculate which selenium tests are potentially affected and run only those. Reduces execution time of selenium tests. Together with Michael Qvortrup.
    • Introducing an in-app tutorial for the Product Availability Checker.
    • Presenting our continuous integration and web tests infrastructure in two internal brown bag talks.
  4. Together with Werner Hartmann, we started building Horizobu in 2008. Since then, the following took place:
    • Developing ideas for an alternative search engine. (with Werner Hartmann)
    • Implementing a prototype of the search engine. Technology stack: Ruby, Ruby on Rails, JQuery, Heroku.
    • User testing the prototype version (Werner Hartmann with others)
    • Implementing a production version. Technology stack: Java 6, Spring 3.0, Tomcat, nginx, Guava, JUnit, Apache Commons, Memcached, Javascript, JQuery, Google Closure Library, Google Closure Compiler, JsTestDriver, AWS EC2, AWS S3, AWS SimpleDB, AWS Elastic MapReduce, scalr.net, Apache Hadoop.
    • User testing the production version (Werner Hartmann with others)
    • Getting the support by UI designers (fuklab.org) and including a new design (with Werner Hartmann and fuklab.org)
    • Implementing versions of Horizobu for additional languages.
    • Implementing a version of Horizobu for the stackoverflow properties.
  5. Software Engineer in the Delivery Center Online Order (eOrders). eOrders allows customers, 3rd party and Swisscom agents to order Swisscom wireline products. eOrders is developed by a team of approximately eight (2008) to 16 (2012) people. Since mid of 2008, the eOrders team has transformed into a Scrum team. We are using the following technologies:
    • Java 6
    • JBoss / Tomcat
    • Struts 1.2
    • JUnit / Selenium / Selenium Grid / EC2
    • Javascript / JQuery / JsTestDriver
    • Drools
    • Guava / Apache Commons
    Achievements
    • Implementing a system monitoring tool (together with Thomas Kausch).
    • Introducing Drools, JQuery, and JsTestDriver (together with Patrick Ruckstuhl).
    • Improving the existing development setup by using an SSD and a virtual image. clean-build time improved by a factor five to ten and therefore our development speed increased substantially. Together with other team members.
    • Introducing and conducting technical pair programming interviews. Besides the traditional interviews, both external and internal candidates have a three hour technical pair programming interview. During that interview, candidates have to navigate an existing project environment and solve a task in that environment. During the interview, we try to assess current knowledge and experience, potential for development, problem solving skills, getting things done, and cultural fit.
    • Talk on how we introduced Scrum in our team (Intro, Part 1, Part 2, Part 3). Together with Christian Heldstab, Christian Wieland, Patrick Ruckstuhl, and Frank Beeh.
    • Winning of the Swisscom Champion Award 2010 for development of the Swisscom Produktassistent. Together with Raimond Reichert, Roger Fuhrer, Massoud Abbaszadeh, and Stefan Ruetimann.
  6. Advising and supporting lecturers and staff of the Samtse College of Education in the areas of computer infrastructure, computer network, computer literacy, and programming.
    Achievements
    • Organizing and conducting classes in computer literacy for non-teaching staff of the college.
    • Repairing and installing second hand computers and making them available for the lecturers, staff, and students.
    • Setting up computer labs in both the girls' and boys' hostels including wiring for the internet connection. Thanks to the labs in the hostels, more students got access to the computers more frequently and it made a real difference to them.
    • Introducing and organizing peer feedback system between the lecturers teaching Functional IT. Organizing weekly peer feedback meetings and encouraging lecturers to observe each others classes.
    • Creating a web-based system for publication of student results. Conducting requirements analysis together with the staff of the Samtse College of Education. Implementation in Ruby on Rails. www.rubexamresults.com
    • Creating a web-based system for anonymous student feedback for different classes and various units / subjects. Conducting requirements analysis together with Helvetas and staff of the Samtse College of Education. Implementation in Ruby on Rails. Available on Samtse College of Education intranet.
    • Organizing and conducting an ICT Workshop for lecturers of the Samtse College of Education and the Paro College of Education at the Samtse College of Education. Continuation of the workshop in 2006. Workshop focus on Javascript. Duration: 1 week.
    Part of the STEP project. In collaboration with Swiss Civil Service.
  7. Advising and supporting lecturers and staff of the Samtse College of Education in the areas of computer infrastructure, computer network, computer literacy, and programming.
    Achievements
    • Configuring and introducing storage server for all students.
    • Switching from lease line to satellite connection.
    • Installing a new proxy server.
    • Strengthening a student infrastructure support group.
    • Establishing network connections (wired and wireless) in the lecturer cubicles.
    • Establishing laptop workplaces in the lecturer cubicles.
    • Computer lab maintenance & technical support for staff.
    • Redesign of web page for the college and the distance education of the college
    • Analysis of moodle installation and distance education resource centers.
    • Teaching a semester of Functional IT to one class of teacher trainees.
    • Organizing and conducting an ICT Workshop for lecturers of the two Colleges of Education at the Paro College of Education. Subjects included introduction to programming with Kara, HTML, CSS, and Javascript. Duration: 2 weeks.
    Part of the STEP project. In collaboration with Swiss Civil Service.
  8. Internship. Development in Java. Supervised by Jay Han / Heike Schmitz.
  9. Tasks included executing daily duties, supporting content masters in technical aspects of their work, and collaborating with others to further develop SwissEduc. 10%-20% job.

Projects

  1. MoreOrNot is a playground project to gain experience with the Play 2 Framework and Facebook integration. More information.
  2. Orelias is a Java-based framework for presenting web-based snippet collections. Munterbunt is based on Orelias and is a web-based math exercise collection. Orelias has the ability to process snippets in LaTeX. Started as a school project and continued during free time.
    Together with Remo Meier, Raimond Reichert, Werner Hartmann.
  3. LegoKara was developed as a part of a school project together with Remo Meier, supported by Werner Hartmann and Raimond Reichert.
    LegoKara was presented at several teacher education lectures by Remo Meier and Sam Zurcher at ETHZ (10/20/2000, 03/28/2001, 09/25/ 2001).
    Together with Remo Meier, Raimond Reichert, Werner Hartmann.

Education

  1. Focus in the area of theoretical computer science: cryptography, security, randomized algorithms, satisfiability, and formal methods.
  2. Exchange studies. Studies in computer science, professional writing, English pronunciation, and political science.

Continuous Education

Certifications

Presentations

Honors and Awards

Languages