Ruben Bakker, Senior Software Engineer

Ihr Software Entwickler für alle Fälle

Benötigen Sie für Ihr Projekt einen erfahrenen Softwareentwickler, der vom Konzept über das Backend bis zum Frontend überall mit anpackt? Der sich vor CI/CD, Docker und Kubernetes nicht scheut? Der zuhört und mitdenkt, um optimale Lösungen zu finden?

Dann sind Sie hier richtig.

Kontaktieren Sie mich, ich bin gespannt auf Ihr Projekt.

Über mich

Grüezi!


Darf ich mich vorstellen: Ruben Bakker, Senior Software Engineer.


Ich liebe es, Softwareprodukte zu entwickeln, die Menschen bei der Arbeit unterstützen und produktiver machen, damit sie mehr Zeit für das Wesentliche haben. Mir liegen schnelle, tragfähige und kundennah entwickelte Produkte am Herzen, die im Alltag funktionieren.



Ich bin offen und lerne gerne dazu. Es macht mir Freude mitzudenken um die optimale Lösung zu finden. Dabei sollen die für das Projekt passenden Sprachen und Technologien eingesetzt werden.

Arbeitserfahrung

Gründer & Senior Software Engineer
uncomplex gmbh, Roggwil
2017 - heute

Neu-Entwicklung und Vertrieb von Mailplane v4.0, die beliebte macOS Applikation für Gmail.
Sowie verschiedene Freelancing Software Kunden Projekte.

Senior Software Engineer
myneva Schweiz AG, Sursee
2020 - 2024

Konzeption, Entwicklung und Integration von mobilen Lösungen, welche die Prozesse der in Spitex- und Pflegeheim-Institutionen automatisieren oder vereinfachen. Implementation von mehreren zentralen Kubernetes Diensten in Kotlin sowie C#.

Senior Software Engineer
Evernote Corp, Redwood City, USA
2017 - 2018

Ich war "remote" Teil des Evernote macOS Team in Kalifornien.
Projekte waren z.B. das neue Evernote Business Feature "Spaces" sowie die Trennung zwischen persönlichen und Business Accounts.

Director of Products
Evernote GmbH, Zürich
2012 - 2017

Ich habe das Evernote Development Studio in Zürich eröffnet und dazu Entwickler, UI/UX Designer sowie QA Ingenieure rekrutiert. Über die Zeit wuchs das Team auf zehn Personen an. Das Studio war Teil der Software Produkte Abteilung in den USA (Redwood City, Kalifornien sowie Austin, Texas) und hat wichtige Innovationen und Patente hervorgebracht. Einige davon wurden in Evernote Produkte für Mac und iOS integriert.

Gründer & Senior Software Engineer
uncomplex gmbh, Sursee
2007 - 2012

Konzeption, Entwicklung, Design, Vermarktung der Mailplane app für macOS sowie der Replies app. Beide Apps wurden mit Objective-C entwickelt. Daneben einige Freelancing Projekte.

Senior Software Engineer R & D
BISON Schweiz AG, Sempach-Station
2004 - 2009

Meine Aufgabe war es Ideen, Prototypen sowie erste Implementierungen von Produkt-Innovationen und Verbesserungen für Bison Solution (Java) zu entwickeln. Zusätzlich habe ich die verschiedenen Entwicklungs-Teams unterstützt.

Technical Lead
BISON Schweiz AG, Sempach-Station
1997 - 2004

Ich entwickelte die technische Infrastruktur von Bison Solution, eine flexible ERP Software. Dazu baute ich ein Team von 12 Java Entwicklern auf, welches die Grundlagen für die Applikations-Entwicklung bereitstellte.

Tech Stacks

Mit diesen Technologien habe ich praktische Projekt Erfahrungen

Datenbanken

SQL for Postgres, MariaDB/MySQL, SQLite and Oracle

JVM Backend Entwicklung

Kotlin, Java, Spring Boot, Apache Camel, Clojure

.NET Backend Entwicklung

C#, Asp.net, EntityFramework

Python Backend Entwicklung

python, Django, pytest

Full-stack Entwicklung

React, Remix, Prisma, HTML/CSS, Tailwind CSS, Astro, ClojureScript

Server Betrieb

Docker & Kubernetes

Betriebssysteme

Linux: Arch-Linux, Fedora and Ubuntu; macOS; Windows; Android; iOS

macOS Entwicklung

Objective-C/C++, Foundation, Cocoa

Mobile Android Entwicklung

Kotlin, Jetpack Compose, RxJava, SQLite, Retrofit

Mobile iOS Entwicklung

Objective-C and UIKit

Rust Entwicklung

Rust, Axum, Rocket, Tokio

Scripting und Automation

bash, python, ruby, Powershell

CI/CD

Github Actions, Bitbucket Pipelines, CodeMagic, Jenkins

Metriken

Prometheus & Grafana

Projekt Portfolio

Auswahl von Projekten, welche einen Einblick in meine Arbeit geben.

Mailplane
Das beliebte Gmail Programm für macOS

2007-2021 uncomplex GmbH
Indie Developer

Mailplane ist die macOS App für Google Mail und bietet zusätzlich zur Gmail Web Oberfläche eine Anzahl von Features:

  • Unterstützung mehrerer Gmail Konti
  • Tabs für Kalender und Kontakte
  • Native macOS E-Mail Benachrichtungen
  • Tiefe Integration mit macOS und anderen Anwendungen
  • Bilder Anhänge können wahlweise optimiert (Qualität, Grösse) werden
  • Bilder können mit Symbolen und Text versehen werden
  • Integration mit Evernote, Todoist und weiteren macOS Apps
  • E-Mail Suche über mehrere Postfächer
  • Unterstützung für Chrome Extensions

Mailplane war 2007 einer der ersten “Site-Specific-Browser”, welcher eine Web App mit den Vorzügen einer nativen Desktop Applikation verband.

Mailplane fand über die Jahre rund 30’000 zahlende Kunden in über 100 Länder. Die App wurde in zahlreiche Sprachen übersetzt.

Version 1 + 2 habe ich mit Objective-C sowie Cocoa implementiert. Die Version 3 wurde von Lars Steiger neu erstellt. Um Chrome Extensions zu unterstützen und eine bessere Kompatibilität zu Gmail zu erreichen, habe ich Mailplane 4 komplett für Electron neu geschrieben. Der Code basiert zu 70% auf Web Technologien. Die restlichen 30% sind Objective-C++. Sie gewährleistet die Schnittstelle zu macOS. Trotz Electron fühlt sich Mailplane wie eine native macOS App an. Mailplane 4 wurde im August 2018 erfolgreich veröffentlicht.

Benutzte Technologien: ClojureScript, reagent (React), re-frame (Redux), datascript, core.async, Objective-C++, Cocoa, Electron

Weitere Infos

Evernote Business Spaces

2017 Evernote Corp
Senior Software Engineer

Als Freelancer war ich ein Remote Mitglied des macOS Teams in Kalifornien. Eines der grösseren Projekte war „Spaces”, eine neue Organisationsstruktur für Notizbücher und Notizen für Teams. Ich habe die neue native Oberfläche für Spaces implementiert und habe die Sidebar von Evernote umgeschrieben, um das neue Design und Spaces zu unterstützen. Ich habe auch an der Trennung von Business und Persönlicher Konti mitgearbeitet.

Weitere Infos:

Evernote Presentation Mode

2012-2015 Evernote Corp
Director of Products, Zürich

Unter meiner Leitung haben wir bei Evernote in Zürich den Presentation Mode erfunden und dazu auch Patente angemeldet. Wir haben das Feature für macOS und iOS entwickelt und in die Evernote Apps integriert. Dieses Premium-Feature erfreute sich bei Evernote Benutzer grosser Beliebtheit. Auch Evernote intern wurden Meetings hauptsächlich mit Presentation Mode geführt. Die wichtigsten Eigenschaften:

  • Präsentieren von Notizen auf externen Bildschirmen
  • Notizen werden vor der Präsentation im Stil vereinfacht und verschönert
  • Automatische Slide Erkennung
  • Slides können im Layout Editor angepasst werden
  • Die Notiz, welche präsentiert wird, kann während der Präsentation bearbeitet werden.
  • Integrierter Laserpointer
  • Dark und Light Mode

Wir haben das Feature mit Objective-C, Cocoa, HTML und CSS entwickelt. Die Evernote Mac und iOS Apps haben wir mit einem Plugin System versehen, damit die Entwicklung von Presentation Mode unabhängig der Kernteams erfolgen konnte. Ausserdem haben wir das Feature so entwickelt, das grosse Teile des Codes in den Apps wiederverwendet werden konnte.

Evernote Editor Autocomplete

2017 Evernote Corp
Director of Products, Zürich

Bei Evernote gab es jährlich eine “hack week”, wo alle Mitarbeiter während eine Woche frei waren, etwas zu erfinden, auszuprobieren oder ein Feature im Produkt umzusetzen. Meine Idee war es, Auto Vervollständigung (aka Auto-Complete, Intelli-Sense) im Evernote Note Editor für macOS zu implementieren. Dieses Feature machte es viel leichter, Verweise zu anderen Notizen zu erstellen. Auch konnten damit Emojis und andere Text Elemente in einer Notiz eingefügt werden.

Ich habe dazu den Note-Editor mit HTML, CSS und JavaScript erweitert und mit Objective-C eine Schnittstelle in der Evernote App zur Verfügung gestellt. Das Projekt wurde von der internen Evernote Jury mit dem Sonderpreis “Wird in den Evernote Produkten umgesetzt” prämiert.

Evernote Collect

2015-2017 Evernote Corp
Director of Products, Zürich

Das Evernote Team in Zürich - wo ich, als Director of Products die Leitung innehatte - übernahm die gesamte Verantwortung für den ‘Collect’ Teil von Evernote. Dazu gehörten die Apps:

Unsere Aufgabe war es die Anzahl Notizen, welcher ein neuer Benutzer in der ersten Woche erstellt, zu erhöhen, damit diese zu “Premium” Benutzern werden. Dafür haben wir:

  • etliche A/B Experimente durchgeführt, d.h. ein Feature mit einer Kontrollgruppe getestet
  • mittels “User Testing” gelernt, wie neue Benutzer mit der App umgehen
  • Umfragen und Studien durchgeführt
  • Designs & Texte getestet und optimiert

Wir haben Evernote Mac/iOS und Evernote Scannable so erweitert, dass wir Features mit A/B ausrollen und die Ergebnisse in Google Analytics messen konnten.

Replies
Be a Customer Support Hero

2010-2012 uncomplex GmbH
Indie Developer

Der Zeitbedarf, um Mailplane Benutzer per E-Mail zu supporten, wurde so gross, dass wenig Zeit für die Produkte-Entwicklung blieb. Hunderte Emails mussten täglich beantwortet werden. Aus diesem Grund habe ich die macOS Applikation Replies entwickelt. Mit Replies gelang es mir, den Support Aufwand massiv zu reduzieren:

  • Alle gesendeten Antworten einer Mailbox dienen automatisch als Textbausteine, welche bei zukünftige Antworten einfach eingesetzt werden können. Diese Textbausteine können auch Bilder und Videos beinhalten.
  • E-Mail Antworten können aus mehreren Text-Bausteinen bestehen, welche sich auf verschiedene Passagen der Anfrage beziehen.
  • Senden einer E-Mail kann abgebrochen werden, wenn z.B. ein Anhang vergessen gegangen ist.
  • Zeitversetztes Senden, d.h. Emails können sofort beantwortet, aber erst nach einer eingestellten Zeit (z.B. 12 Std.) verschickt werden
  • Automatisches CRM, welches aus dem Email Verlauf generiert wird

Die App wurde von zahlreichen anderen Indie Entwicklern eingesetzt und später durch die Web App replies.io ersetzt.

Tech Stack:

  • UI wurde mit Objective-C und Cocoa entwickelt
  • Business Logik wie E-Mail Parsing, Indexierung etc. wurde mit python und pytest erstellt.
  • Als lokale Datenbank habe ich Firebase verwendet. t