Sam Zurcher

Master of Science ETH in Computer Science

Senior Software Engineer, Data Engineer, Project Leader and Quality Manager.

Full stack development with Kotlin and Angular. Mobile development on Android with Kotlin. Extensive Java experience. Data Science based on a Python stack with Pandas / OpenCV / scikit-learn / Jupyter / TF.

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.

Work Experiences

Ergon Informatik AG

Zurich, Switzerland
Senior Software Engineer
September 2013 - Present

Government Project July 2021 - present

Digitization of a business process.

  • Project Lead July 2021 - present
  • Senior Software Engineer July 2021 - present

Health Insurance September 2020 - December 2020

Digitization of a business process.

  • Senior Software Engineer September 2020 - December 2020
    Technologies:
    • Kotlin
    • Angular
    • Camunda

WTO Offer August 2020 - May 2021

Responsible for a major WTO offer; together with Raimond Reichert. Included design a substantial system and developing a substantial system in a 5 week proof of concept.

Business Development AI March 2020 - August 2020

  • Prototype for an Android app with a custom speech command model. April 2020 - August 2020
    Technologies:
    • Python
    • Tensorflow
    • Android
    • Kotlin
    • Google Cloud Run
    • Docker
  • Prototype for a Chat application. March 2020 - May 2020
    Technologies:
    • Google Dialogflow
    • Angular
    • Firebase
    • Kotlin
    • Ktor
    • Google Cloud Run
    • Docker
  • Prototype for an Android app with a custom object detection model. August 2019 - July 2021
    Technologies:
    • Python
    • Tensorflow
    • Android
    • Kotlin
    • Google DataFlow
    • OpenCV

Industrial Equipment Provider December 2019 - July 2021

Data Analysis on a large data set.

  • Data Scientist December 2019 - present
    Technologies:
    • Python
    • Pandas

Police Organization January 2019 - August 2023

Digitization of business processes.

  • Project Lead January 2019 - August 2023

Retail Company November 2017 - March 2020

  • Project Lead (together with Raimond Reichert) April 2019 - March 2020
  • Android Developer November 2017 - March 2020
    Technologies:
    • Kotlin
    • RXJava

Machine Learning / Data Science June 2017 - June 2017

First steps with Machine Learning and Data Science. Two week educuational project together with Raimond Reichert. Analyzing and processing real world data with Pandas / scikit-learn.

Retro42 June 2015 - July 2015

Learning MeteorJS. Two week educuational project together with Raimond Reichert.

Notes42 July 2014 - July 2014

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

Telecommunication Company September 2013 - October 2017

  • Senior Software Engineer in the Backend Team June 2017 - October 2017
  • Quality Manager, responsible for overall quality, processes, and efficiency. April 2016 - June 2017
  • Head Post-DEV, responsible for a testing, customer support, and infrastructure teams. April 2016 - June 2017
  • Deputy Project Lead of a sizeable team of software engineers. September 2015 - April 2016
  • Team Leader of a team of approximately eight software engineers. April 2015 - April 2016
  • Member of the Tech Lead group that is responsible for technical decisions. November 2014 - September 2015
  • Senior Software Engineer in the Backend Team September 2013 - April 2016
    Technologies:
    • Java
    • JEE
    • Guava
    • ElasticSearch
    Achievements
    • 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.
    • 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.

Horizobu AG

Zurich, Switzerland
Co-Founder / CTO
August 2008 - June 2014

Horizobu August 2008 - June 2014

Development of an Search Engine exploring an alternative User Experience Design. Together with Werner Hartmann.

Technologies:
  • 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
Tasks
  • 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.
  • 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.

Swisscom (Schweiz) AG

Zurich, Switzerland
(Senior) Software Engineer
January 2008 - August 2013

NEO January 2013 - August 2013

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.

  • Software Engineer January 2013 - August 2013
    Technologies:
    • Java
    • JSF
    • Siebel
    • 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.

eOrders January 2008 - December 2012

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.

  • Software Engineer January 2013 - August 2013
    Technologies:
    • Java 6
    • JBoss / Tomcat
    • Struts 1.2
    • JUnit / Selenium / Selenium Grid / EC2
    • Javascript / JQuery / JsTestDriver
    • GWT
    • Drools
    • Guava / Apache Commons
    Achievements
    • Conducting over 20 pair programming interviews with potential external and internal candidates (2010 - 2012)
    • 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.
    • 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 (GWT). Together with Raimond Reichert, Roger Fuhrer, Massoud Abbaszadeh, and Stefan Ruetimann.

Helvetas / Swiss Civil Service

Samtse, Bhutan
ICT Specialist
April 2006 - November 2007

Samtse College of Education April 2007 - November 2007

Advising and supporting lecturers and staff of the Samtse College of Education in the areas of computer infrastructure, computer network, computer literacy, and programming.Part of the STEP project. In collaboration with Swiss Civil Service.

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

Samtse College of Education April 2006 - August 2006

Advising and supporting lecturers and staff of the Samtse College of Education in the areas of computer infrastructure, computer network, computer literacy, and programming.Part of the STEP project. In collaboration with Swiss Civil Service.

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.

Google

Mountain View, CA, United States
Intern
June 2005 - October 2005

Internship June 2005 - October 2005

Internship. Development in Java. Supervised by Jay Han / Heike Schmitz.

SwissEduc / ETHZ

Zurich, Switzerland
August 2000 - August 2004

Hilfsassistenz August 2000 - August 2004

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.

Education

Master of Science, Computer Science

ETH Zurich
Zurich, Switzerland
October 2001 - March 2007

Focus in the area of theoretical computer science: cryptography, security, randomized algorithms, satisfiability, and formal methods.

Studies in computer science didactics

ETH Zurich
Zurich, Switzerland
October 2003 - March 2006

Studies in Computer Science

UNC Chapel Hill
Chapel Hill, NC, United States
August 2004 - May 2005

Exchange studies. Studies in computer science, professional writing, English pronunciation, and political science.

Continuous Education

deeplearning.ai: Short Courses
Zurich, Switzerland
2023
Web Application Security
Zurich, Switzerland
2022
2021
Project Management Professional
Zurich, Switzerland
2016
  • Organizer: SGO
  • Duration: 11 days
Leadership workshop
Zurich, Switzerland
2015
  • Organizer: Ergon Informatik AG
  • Duration: 4 days
Educuational project together with Raimond Reichert. Learning MeteorJS.
Zurich, Switzerland
2015
  • Duration: 10 days
Educuational project together with Raimond Reichert. Learning NodeJS and AngularJS.
Zurich, Switzerland
2014
  • Duration: 10 days
StartupCamp Switzerland
Basel, Switzerland
2014
  • Duration: 1 day
StartupCamp Switzerland
Basel, Switzerland
2013
  • Duration: 1 day
Workshop on Sketching
Zurich, Switzerland
2013
  • Organizer: Swisscom
  • Duration: 1 day
International conference on the modern art of Software
Zurich, Switzerland
2012
  • Organizer: Jazoon
  • Duration: 3 days
International conference on the modern art of Software
Zurich, Switzerland
2011
  • Organizer: Jazoon
  • Duration: 3 days
Java Server Faces
Zurich, Switzerland
2010
  • Organizer: Swisscom
  • Duration: 3 days
Core Spring
Zurich, Switzerland
2009
  • Organizer: Eberhard Wolff, SpringSource GmbH
  • Duration: 5 days
Application Security
Zurich, Switzerland
2009
  • Organizer: Swisscom
  • Duration: 2 days
Enterprise JavaBeans 3.0
Zurich, Switzerland
2009
  • Organizer: Digicomp
  • Duration: 4 days
Gründung eines Kleinunternehmens
Zurich, Switzerland
2009
  • Organizer: ETHZ
  • Duration: 2 days

Certifications

Java SE 7 Programmer II (1Z0-804)
Zurich, Switzerland
2014
Java SE 7 Programmer I (1Z0-803)
Zurich, Switzerland
2014

Projects

MoreOrNot

January 2013 - January 2014
MoreOrNot is a playground project to gain experience with the Play 2 Framework and Facebook integration.

Munterbunt

August 2000 - August 2004
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.

LegoKara

March 2000 - July 2000
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.

Presentations

2023-03-29
Java User Group Switzerland: Meteor: Fullstack Javascript Development
Lucerne, Switzerland
2016-01-13
Ergon Informatik AG: Notes42
Zurich, Switzerland
2014-11-19
2014-05-06
Centralway Factory: Scrum@Swisscom: Lessons Learned
Zurich, Switzerland
2012-11-27
Java User Group Switzerland: Web Tests in the Cloud
Zurich, Switzerland
2012-11-01
Java User Group Switzerland: Web Tests in the Cloud
Luzern, Switzerland
2012-11-01
Internet Briefing: Horizobu
Zurich, Switzerland
2012-09-06
HSW Luzern: Web Site Optimization and Web Spam
Luzern, Switzerland
2004-06-25
ETH Zurich, Teaching with New Media: Playful and Webbased Introduction in Programming
Zurich, Switzerland
2000-11-04

Awards

Swisscom Champion Award

2010

Languages