Experienced Full Stack Cloud, Web & App Developer/Architect,
Team Lead/Coach & Product Owner

2

Nationalities - German & British

15

Years experience in software development

2

Languages English (Native Speaker) & German (Fluent)

Location

Berlin, Germany

Originally from Scotland, I moved to Germany in 2010. Since 2018, I have dual nationality. I graduated with a PhD in Computing Science in 2010 building upon a BSc(Hons) in Computing for Business and E-Commerce from 2006. I am a software developer, architect, product owner and team lead/coach with +15 years of experience in software development from requirements through an initial concept and minimum viable products to a great product for the customer. I believe in developing others to reach their potential through coaching and leadership roles.


Skills

Software Development

I would define software development as building great products for customers - therefore regular contact with stakeholders is essential. I believe in using the power of agile methods such as Scrum and Kanban to prioritise and deliver quickly minimum viable products for customers whilst maintaining the bigger picture through the product vision and product roadmaps. Through the use of clean architectures and codes we can build solutions that serve customers over many years.

I have experience planning, developing & maintaining monolithic, SOA (Service Orientated Architecture) & microservice architectures. The programming lanaguage(s) used should fit the stakeholder requirements and therefore I use a range of backend, frontend and App programming languages:

Backend Development

I have extensive knowledge of Java focusing particularly on the development of RESTful Web Services and Microservices using the Spring Framework (Spring Boot, Data etc.). Most of my applications I have built using Maven with the Git version control system with GitHub Actions as Continous Integration pipeline. I have used FishEye for code reviews and Jenkins for building Continuous Integration pipelines. I have also used Python for microservice development.


Frontend & Web Development

I have extensive knowledge of building frontend applications and web sites for both commercial and non-profit organisations. My favourite Frameworks for developing these applications are React and Angular. I have also used the LAMP Stack (Apache/MySQL/PHP). I also have knowledge in CSS and JavaScript and have used the NGINX web server as a proxy server.


App Development

I have considerable knowledge of building mobile applications using a single code base either with Cordova or React Native on both the Android and iOS platforms.


Cloud Infrastructure & Project Management

I have deployed my applications on both the AWS and Azure clouds. I use Visual Studio Code, Intellij IDEA and Eclipse as IDEs. I have experience of using both BPMN and UML as modelling tools. I have experience of using JIRA, YouTrack, Asana, Trello and Mantis for operative project management.


Continued Professional Development

I think it is important to extend and update my knowledge on a continual basis. I attend seminars and online courses to meet this goal. Some of my recent courses are shown below and further certificates of seminars and training conferences that I have attended can be provided on request.

Education

Certified Professional Software Architect (Foundation Level)
2015

Hamburg, Germany

Topics included: foundations of software architectures, components/building blocks, interfaces, architectural goals, quality goals and tools.

Doctor of Philosophy in Computing
2006 - 2010

The Robert Gordon University, Aberdeen, Scotland

Thesis title: Hybrid Algorithms for Distributed Constraint Satisfaction. In my doctoral research, I investigated and developed hybrid algorithms for Distributed Constraint Satisfaction, combining the convergence abilities of local search with the completeness of backtracking. This has led to the development of new algorithms for Distributed Constraint Satisfaction including PenDHyb, Multi-Hyb and Multi-HDCS.

Bachelor of Science with 1st Class Honours in Computing for Business and E-Commerce
2002 - 2006

The Robert Gordon University, Aberdeen, Scotland

This degree combined a standard Computing Science degree with several business modules such as Marketing, Accounting and Change Management particularly focused on an E-Commerce context.

Extra-curricular activities

I have given a number of technical talks over the years. Two of these are available online:

  1. Developer’s Roadtrip to Heaven? myToys transition from SOA to Microservices Architecture
  2. On The Road to Continuous Delivery
I was part of the organising team for the MICES conference from 2017 until 2020.


Professional Experience

Team Lead Software Development (& Developer)
July 2022 - Present
Smedo GmbH, Hennigsdorf, Germany

  • Development of Mobile Apps, Cloud Infrastructure & Microservices
  • Coaching other developers

Interim Team Lead Product Management
January 2022 - June 2022
myToys.de GmbH, Berlin, Germany

  • People Leadership responsibilities for team of Product Managers.
  • Co-ordinating roadmaps of several product teams.

Senior Product Manager
July 2020 - June 2022
myToys.de GmbH, Berlin, Germany

  • Responsible for search, checkout and product data systems.
  • Coaching other product managers and product owners.

Product Manager
February 2018 - June 2020
myToys.de GmbH, Berlin, Germany

  • Responsible for the development of Content Management System.
  • Customer-centric product development and benchmarking.

Software Architect
July 2014 - January 2018
myToys.de GmbH, Berlin, Germany

  • 40% software development of prototypes and techniques.
  • 30% technical leadership of projects
  • 30% future architecture (vision, technical roadmap, standards)

Software Developer
August 2010 - June 2014
myToys.de GmbH, Berlin, Germany

  • Backend Java + Spring developer for Coupons and recruitment


Portfolio

I have developed a substantial amount of freely available open source software. The software range contains human resources management software, a transport simulator game, statistical software and some scripts for DevOps operations. This software is licenced under the GNU General Public Licence.

PersonalMan

HR Management Software

MDISCIS

Information System

TraMS

Transport Simulation Game

Statsres

Statistical Software

Contacty

Microservice for sending emails

DevOps Scripts

Software Development


Research

Distributed Constraint Satisfaction

Constraint Satisfaction Problems are solved by algorithms assigning values (from a domain) to variables in the problem so that all constraints are satisfied. In Distributed Constraint Satisfaction Problems, variables are represented by agents who have only a partial understanding of the problem (their understanding is limited to the variables they represent and the constraints that those variables are involved in). Distributed problems are important when information cannot be shared either because there is too much information or because of privacy concerns. Existing algorithms for Distributed Constraint Satisfaction can be categorised as backtracking and local search algorithms. The former, whilst able to guarantee completeness, are often too slow for practical use whilst the later are often able to converge to a solution quicker but may not solve all problems (i.e. they are incomplete). In a summer scholarship in 2005 (supervised by Dr. Ines Arana & Dr. Hatem Ahriz), I compared the Distributed Breakout Algorithm with the Distributed Stochastic Algorithm on randomly-generated problems and scheduling problems. The tentative conclusions suggested that the Distributed Breakout Algorithm was more suited to randomly-generated problems whilst the Distributed Stochastic Algorithm performed better on scheduling problems. A prize was awarded for the research undertaken during this project. In addition to my research, I developed an experimental workbench written in Java to compare Distributed Constraint Satisfaction algorithms. In my doctoral research (supervised by Dr. Ines Arana, Dr. Hatem Ahriz & Dr. Kit-Ying Hui), I investigated and developed hybrid algorithms for Distributed Constraint Satisfaction, combining the convergence abilities of local search with the completeness of backtracking. This has led to the development of new algorithms for Distributed Constraint Satisfaction including PenDHyb, Multi-Hyb and Multi-HDCS. I also continued to develop the experimental workbench (SEICOSSA – A Smart Experimental Interface for Constraints) which I started to develop during my initial scholarship.

Information Retrieval & Relevance Profiling

Before starting my doctoral projects, I was involved in the Information Retrieval research field. Together with Professor David J. Harper I sought answers to the question how effective is relevance profiling in retrieving relevant pages of a book as defined by the book’s own index? This project sought to measure this effectiveness through an investigation of a number of weighting functions on the within-document retrieval tool, ProfileSkim. Conclusions from the project were presented at the Ninth Australasian Document Computing Symposium.

Publications

Hybrid algorithms for distributed constraint satisfaction

Doctoral Thesis

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.