Staatsangehörigkeiten - Deutsch & Britisch
Jahre Erfahrung in Softwareentwicklung
´Sprachen Englisch (Muttersprache) & Deutsch (fließend)
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.
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:
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.
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).
Ich habe umfangreiche Kenntnisse in der Entwicklung von Mobilen Apps mit einer einheitlichen Codebasis durch Cordova oder React Native auf Android und iOS.
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.
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.
Hamburg, Deutschland
Themen: Grundlagen von Software-Architekturen, Komponenten/Bausteine, Schnittstellen/Beziehungen, Architekturziele, Qualitätsziele, Werkzeuge.
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.
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.
Ich habe einige technische Vorträge in den letzten Jahren gehalten. Zwei davon sind online verfügbar (leider nur auf Englisch):
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.
Personalmanagement Software
Informationssystem
Verkehrsmanagement Spiel
Statistikanalyse Software
Microservice um Emails zu verschicken
Softwareentwicklung
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.
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.
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.
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.
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.
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.
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.