Erfahrender Full Stack Cloud, Web & App Entwickler/Architekt,
Teamleiter & Product Owner

2

Staatsangehörigkeiten - Deutsch & Britisch

15

Jahre Erfahrung in Softwareentwicklung

2

´Sprachen Englisch (Muttersprache) & Deutsch (fließend)

Stadt

Berlin, Deutschland

Ursprünglich komme ich aus Schottland. Seit 2010 wohne ich in Deutschland und seit 2018 besitzte ich die doppelte Staatsangehörigkeit: Deutsch und Britisch. Im März 2010 habe ich meine Doktorarbeit (in Informatik) bestanden. Davor habe ich 2006 meinen Bachelor in Informatik für Wirtschaft und Electronic Commerce mit Auszeichnung (beste Note) abgeschlossen. Ich habe über 15 Jahre Erfahrung in der Softwareentwicklung. Ich habe nicht nur als Softwareentwickler, sondern auch als Softwarearchitekt, Product Owner und Teamleiter gearbeitet und kann damit viele Fähigkeiten rund um Softwareentwicklung anbieten.


Fähigkeiten

Softwareentwicklung

Bei der Softwareentwicklung geht es für mich darum großartige Produkte für Kunden zu bauen. Deshalb ist es existentiell wichtig regelmäßige Kontakte mit Stakeholder zu halten. Ich glaube das Agil Methoden wie Scrum und Kanban helfen, um Anforderungen zu priorisieren und schnell ein MVP (Minimum Viable Product) für den Kunden zu entwickeln. Trotzdem kann man mit diese Methoden Roadmaps und Visionen für Produkten entwickeln und umsetzen. Durch Clean Code & Clean Architecture kann man Lösungen bauen, wovon Kunden mehrere Jahren zufrieden sind.

Ich habe Erfahrung folgende Architekturarten zu planen, entwickeln und aufrechtzuhalten: monolithisch, SOA (Service Orientated Architecture) & microservice Architekturen. Die genutzte Programmiersprache sollte die Anforderungen von den Stakeholder erfüllen und deswegen nutze ich einige Backend, Frontend und App Programmiersprachen:

Backend Entwicklung

Ich habe umfangreiche Kenntnisse von Java mit besonderem Schwerpunkt auf die Entwicklung von RESTful Web Services und Microservices mit den Spring Framework. (Spring Boot, Data etc.). Viele meiner Applikationen sind mit Maven gebaut und nutzen Git für Versionsverwaltung mit GitHub Actions als Werkzeug für Continuous Integration pipelines. Ich habe FishEye für Codereviews und Jenkins für Continuous Integration pipelines genutzt. Ich habe auch Python genutzt um Microservices zu entwickeln.


Frontend & Webentwicklung

Ich habe umfangreiche Kenntnisse über den Aufbau von Websites für geschäftlich als auch gemeinnützige Zwecke. Meine Lieblingsframeworks dafür sind React and Angular. Ich habe auch den LAMP Stack (Apache/MySQL/PHP) genutzt. Ich habe auch Erfahrung mit CSS, JavaScript und NGINX (als Webserver und Reverse Proxy Server).


App Entwicklung

Ich habe umfangreiche Kenntnisse in der Entwicklung von Mobilen Apps mit einer einheitlichen Codebasis durch Cordova oder React Native auf Android und iOS.


Cloud Infrastructure & Project Management

Ich habe Applikationen entwickelt die entweder auf AWS und/oder Azure Clouds laufen. Als IDEs habe ich Visual Studio Code, Intellij IDEA und Eclipse genutzt. Ich habe BPMN und UML als Modellierungswerkzeuge genutzt. Ich habe umfangreiche Kenntnisse von JIRA, YouTrack, Asana, Trello und Mantis für operatives Projektmanagement.


Weiterbildung

Ich finde es sehr wichtig meine Kenntnisse und Fähigkeiten kontinuerlich zu erweitern. Deshalb besuche ich gerne Seminare, oder nehme an Online-Kursen teil. Hier sind einige meine jüngsten Weiterbildungen. Weitere Bescheinigungen von Seminaren, Trainings und Konferenzen an denen ich teilgenommen habe kann ich nach Anfrage weiterreichen.

Studium und Qualifikationen

Certified Professional Software Architect (Foundation Level)
2015

Hamburg, Deutschland

Themen: Grundlagen von Software-Architekturen, Komponenten/Bausteine, Schnittstellen/Beziehungen, Architekturziele, Qualitätsziele, Werkzeuge.

Doctor of Philosophy in Informatik
2006 - 2010

The Robert Gordon University, Aberdeen, Schottland

Doktorarbeit Titel: Hybrid Algorithms for Distributed Constraint Satisfaction. In meiner Doktorarbeit habe ich Algorithmen für Distributed Constraint Satisfaction untersucht und entwickelt. Unter anderem habe ich die Algorithmen PenDHyb, Multi-Hyb und Multi-HDCS entwickelt.

Bachelor of Science mit 1st Class Honours in Informatik für Wirtschaft und E-Commerce
2002 - 2006

The Robert Gordon University, Aberdeen, Schottland

Dieser Abschluss ist ein Informatik Abschluss der mit mehreren Wirtschafts Modulen kombiniert ist. Einige Beispiele von den Wirtschafts Modulen sind Marketing, Buchhaltung und Change Management. Die meisten Firmen kommen aus den E-Commerce Umfeld.

Zusätzliche Leistungen

Ich habe einige technische Vorträge in den letzten Jahren gehalten. Zwei davon sind online verfügbar (leider nur auf Englisch):

  1. Developer’s Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture
  2. On The Road to Continuous Delivery
Von 2017 bis 2020 war ich Teil des Organisationsteams bei der MICES Konferenz.


Lebenslauf

Teamleiter Software Entwicklung (& Entwickler)
Juli 2022 - Heute
Smedo GmbH, Hennigsdorf, Deutschland

  • Entwicklung von Mobilen Apps, Cloud Infrastruktur und Microservices
  • Trainer für andere Entwickler

Interim Teamleiter Produktmanagement
Januar 2022 - Juni 2022
myToys.de GmbH, Berlin, Deutschland

  • Disziplinarische und fachliche Führung mehrerer Produktmanager.
  • Roadmaps zwischen mehreren Teams abstimmen.

Senior Produktmanager
Juli 2020 - Juni 2022
myToys.de GmbH, Berlin, Deutschland

  • Zuständig für die Suche, Checkout und Produktdaten Systeme.
  • Trainer für andere Produktmanager.

Produktmanager
Februar 2018 - Juni 2020
myToys.de GmbH, Berlin, Deutschland

  • Zuständig für das Content Management System und Startseite.
  • Kundenzentriert Produktentwicklung und Benchmarking.

Softwarearchitekt
Juli 2014 - Januar 2018
myToys.de GmbH, Berlin, Deutschland

  • 40% Softwareentwicklung von Prototypen und Technologien.
  • 30% technische Führung von Projekten
  • 30% Zukunftsarchitektur (Vision, technische Roadmap)

Softwareentwickler
August 2010 - Juni 2014
myToys.de GmbH, Berlin, Deutschland

  • Backend Java + Spring Entwickler für Gutscheine und Bewerbung


Portfolio

Ich habe mehrere kostenlose- und Open Source Computerprogramme entwickelt. Diese Computerprogramme beinhalten unter anderem Personalmanagement Software, ein Verkehrsmanagement Spiel, Statistikanalyse Software und einige Skripte für DevOps Tätigkeiten. Bitte beachten Sie, dass diese Computerprogramme mit GNU General Public License lizenziert sind.

PersonalMan

Personalmanagement Software

MDISCIS

Informationssystem

TraMS

Verkehrsmanagement Spiel

Statsres

Statistikanalyse Software

Contacty

Microservice um Emails zu verschicken

DevOps Scripts

Softwareentwicklung


Forschung

Distributed Constraint Satisfaction

Ein Constraint-Satisfaction-Problem ist durch einen Algorithmus der Werte (von einen Wertenbereich) zu Variablen zuordnet gelöst. Diese Werte müssen so zugeordnet sein, dass keine Constraints oder Restriktionen verletzt sind. Mit Distributed-Constraint-Satisfaction-Problem sind die Variablen durch Agenten vertreten, die nur teile von den gesamten Problem kennen. Die Agenten kennen nur ihre Variablen und die Restriktionen die ihre Variablen betreffen. Distributed Probleme sind wichtig, wenn die Informationen nicht allen zur Verfügung gestellt werden kann. Entweder, weil es zuviel wird oder wegen Sicherheitsbedenken. Bestehende Algorithmen für Distributed-Constraint-Satisfaction können in zwei Kategorie aufgeteilt werden: backtracking und local search Algorithmen. Obwohl backtracking alle mögliche Lösungen für ein Problem finden kann, ist es oft zu langsam. Local Search ist dagegen schneller kann aber manchmal keine Lösungen für ein Problem finden obwohl eins existiert. In einen Sommerforschungsprojekt 2005 (unter der Aufsicht von Dr. Ines Arana & Dr. Hatem Ahriz), habe ich das Distributed Breakout Algorithm mit den Distributed Stochastic Algorithm verglichen. Dafür haben wir zufällig-generierten Probleme, sowie Terminplanungs Probleme genutzt. Die unverbindliche Ergebnisse haben gezeigt dass das Distributed Breakout Algorithm besser bei zufällig-generierten Probleme war und dass das Distributed Stochastic Algorithm besser bei Terminplanungs Problemen funktioniert hat. Ein Preis war für diesen Forschung zu vergeben. Zusätzlich zu meiner Forschung, hab ich Werkzeuge für weitere Experimente mit Distributed Constraint Satisfaction Algorithmen in Java entwickelt. In meiner Doktorarbeit (unter der Aufsicht von Dr. Ines Arana, Dr. Hatem Ahriz & Dr. Kit-Ying Hui), habe ich hybrid Algorithmen für Distributed Constraint Satisfaction geforscht und entwickelt. Diese Algorithmen kombinieren die Geschwindigkeit von Local Search mit der Bestätigung von Backtracking dass man immer eine Lösung findet, wenn eine existiert. Dadurch habe ich folgende neue Algorithmen für Distributed-Constraint-Satisfaction entwickelt: PenDHyb, Multi-Hyb und Multi-HDCS.

Informationsabruf und Relevanz Profilbildung

Bevor ich mit meiner Doktorarbeit gestartet habe, war ich auch in der Informationsabrufforschungsfeld tätig. Zusammen mit Professor David J. Harper habe ich geforscht, ob man Relevanz Profilbildung nutzen kann, um ein Verzeichnis für ein Buch automatisch generieren zu können. Die Ergebnisse dieses Projekts waren bei den Ninth Australasian Document Computing Symposium präsentiert.

Publikationen

Hybrid algorithms for distributed constraint satisfaction

Doktorarbeit

Multi-HDCS: Solving DisCSPs With Complex Local Problems Cooperatively.

LEE, D. and ARANA, I. and AHRIZ, H. and HUI, K. 2010. Multi-HDCS: Solving DisCSPs With Complex Local Problems Cooperatively. In: Proceedings of 2010 IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT 2010). 1st-3rd September 2010. Toronto: Canada. pp. 295-302.

A Hybrid Approach to Solving Coarse-grained DisCSPs.

LEE, D. and ARANA, I. and AHRIZ, H. and HUI, K. 2009. A Hybrid Approach to Solving Coarse-grained DisCSPs. In: Proceedings of the Eighth International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2009). 10th-15th May 2009. Budapest, Hungary. pp. 1235-1236.

Multi-Hyb: A Hybrid Algorithm for Solving DisCSPs with Complex Local Problems.

LEE, D. and ARANA, I. and AHRIZ, H. and HUI, K. 2009. Multi-Hyb: A Hybrid Algorithm for Solving DisCSPs with Complex Local Problems. In: Proceedings of 2009 IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT 2009). 15th-18th September 2009. Milan: Italy. pp. 379-382.

A Hybrid Approach to Distributed Constraint Satisfaction.

In: D. DOCHEV, M. PISTORE and P. TRAVERSO, ed. Artificial Intelligence: Methodology, Systems and Applications. 13th International Conference, AIMSA 2008 Varna, Bulgaria, September 4-6 2008 Proceedings. 4th-6th September 2008. Varna: Bulgaria. pp. 375-379.

On the Effectiveness of Relevance Profiling

HARPER, D. J. and LEE, D. 2004. On the Effectiveness of Relevance Profiling. In: P. BRUZA, A. MOFFAT and A. TURPIN, ed. Proceedings of the Ninth Australasian Document Computing Symposium. 13th December 2004. Melbourne: Australia. pp. 10-16.