Architecture, design, development in Java, C++, other languages AWS software development, AWS environment setup and security Networks and system admin
Aktualisiert am 25.08.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 21.12.2024
Verfügbar zu: 100%
davon vor Ort: 100%
Development
AWS
UNIX / Linux
Java
Python
C#
C++
Microsoft
Spring
Kafka
SQL
Back-End
Systemadministration
Git
Subversion
Jenkins
Continuous Integration
Terraform
Maven
Gradle
Atlassian JIRA
Atlassian Confluence
Distributed Computing
English
Muttersprache
Francais
Verhandlungssicher
Deutsch
Verhandlungssicher
Nederlands
Grundkenntnisse

Einsatzorte

Einsatzorte

Deutschland, Österreich
möglich

Projekte

Projekte

1 Jahr 2 Monate
2022-01 - 2023-02

Migration of the eBay Kleinanzeigen website

Backend Engineer
Backend Engineer
  • The first project was the migration of the eBay Kleinanzeigen website and associated services from a legacy Kafka cluster to multiple new Kafka clusters
  • The systems were running under Kubernetes, written in Java (8, 11, 17) and Kotlin, and used Spring and Spring Boot to provide both microservices and a monolith
  • Metrics were gathered using Prometheus / Grafana
  • Testing used JUnit / Mockito / Wiremock / Awaitability. Deployment used Docker / Helm / Terraform / ArgoCD
  • The migration involved new Kafka and Mirror Maker 2 configurations, code cleanup and code modernisation
  • eBay Kleinanzeigen is part of Adevinta and some interaction with centrally provided services was also required
  • The second project was the migration of analytics data from a Hadoop-based platform to a DataBricks-based platform
  • My part in this project was the analysis of the existing Hadoop data feeds (Kafka / Flume), the onboarding of a new engineer, and the implementation of Kafka configurations and backend changes
eBay Kleinanzeigen GmbH
Kleinmachnow, Germany
1 Jahr 5 Monate
2020-08 - 2021-12

Area of commodities trading

Senior Software Engineer
Senior Software Engineer
  • The project context is the area of commodities trading, in this case the trading of energy (power and gas), under an EnBW programme to replace on-prem legacy systems with cloud-based systems. The contract was to analyse, architect, design and develop a high volume, low-latency connector between a cloud-based Volue DeltaXE instance and EnBW on-premises backend systems (Endur, EV) / EnBW cloud-based systems (Trayport autoTRADER, Exxeta, EMSys VPP for renewables)
  • The implementation was in Java / Python under AWS Lambda to provide scalable microservices
  • Testing used JUnit / Mockito / Awaitability / s3mock
  • KRITIS relevance was important in the architecture and design of the Connector and the way in which DeltaXE is operated
  • The DeltaXE instance is used for Position Keeping, Asset dispatch and TSO / SSO Nominations
  • I was responsible for all security aspects of the project as well as for defining the deployment (Azure DevOps) and operations criteria and methodology as well as acting as team lead for other developers on other system components
  • The system was written in Java, defined a REST API and used AWS components: API Gateway, S3, Lambda, DynamoDB, Cognito, Certificate Manager, IAM, VPC, VPC Endpoints, NAT Gateway, Cloudwatch Logs/Metrics/Events, SNS and used Terraform and OnePlatform for provisioning
  • Metrics were sent to DataDog
EnBW Energie Baden-Württemberg AG
Karlsruhe, Germany
1 Jahr 9 Monate
2018-07 - 2020-03

architect, design and develop systems to aid in the automation of software quality assurance

Development Lead 
Development Lead 
  • The first system acted as a message broker between systems executing software security tests and Atlassian Jira
  • The system was written in Java, defined a REST API and used AWS components (Api Gateway, Lambda, DynamoDB, LoadBalancer, EC2, S3, VPC, VPC Endpoints, IAM, SecretsManager, Cloudwatch Logs/Metrics/Events, SNS). CD/CD using GitLab, automated unit/system/load tests using JUnit / Awaitability / Cucumber, deployment using Terraform, security, network configuration aspects, cost optimisation, performance optimisation and operations procedures were part of the deliverable, including an OpenResty/NGINX reverse proxy which could re-sign AWS requests
  • Messages sent to the system included requests to create / update Jira issues, requests to upload Cucumber testcases and test executions, requests to download Confluence content, and triggers to indicate the start and end of a Cucumber testcase run (in order to trigger Jira issue validation)
  • The system made use of static data which was read periodically from Confluence pages (HTML) and stored in DynamoDB
  • The system supported many projects, some of which had specific message handling requirements
  • The second system made use of AWS scale to search log files for regular expressions (regex)
  • It broke an incoming request into sub-requests, executed these in parallel, and collated the end results
  • The system was asynchronous
  • This was a service contract
  • Development was off-site, communication was by email / Circuit (similar to Teams)
Siemens AG
Erlangen, Germany
1 Jahr 4 Monate
2017-01 - 2018-04

Manage and implement a successful transition of Dell Services IT systems to NTT DATA

Configuration Manager 
Configuration Manager 

  • The contract was to manage and implement a successful transition of Dell Services IT systems to NTT DATA in Germany and Slovakia, liaising with the new owners in the US and with management in Germany and India
  • This involved re-branding, change of email system, change of networks, SharePoint migration, change to Office 365, change of Active Directory domain, re-imaging of user laptops, etc.
  • A major part of the work was to take over a Datacentre / office in Munich, understand and document the systems and configuration, correct various configuration and security issues, consolidate and clean up the systems, and prepare all Virtual Machines (VMware based) for a move to the cloud
  • The workloads (VMs) were Windows Server (2003, 2012, 2016) and multiple flavours of Linux (SuSE, RedHat, Ubuntu), running various applications such as MS Project Server, MS SQL Server or development systems
  • This was done with minimum disruption to the running systems
  • The cloud provider chosen, after a cost-benefit analysis of the main providers, was AWS
  • I architected / designed / configured the cloud security and backup scheme and then moved the Virtual Machines and data into the cloud using the AWS CLI, AWS VMware Connector, and SCP / SFTP
  • I set up VPN access to the VPC using SoftEther
  • All assets from Munich were recovered, and the office was then closed
  • The final part of the contract was an office move in Frankfurt
  • My part in this was the specification, purchase and configuration of the internet connection, network and telephone (VoIP) systems, and to ensure that the office was usable on the first working day

NTT DATA Services Germany GmbH
Frankfurt am Main, Germany
3 Monate
2016-10 - 2016-12

Analysis of C# and VB6 applications

Senior Java Developer 
Senior Java Developer 
  • This was a short-term contract to cover personnel shortfall
  • The contract involved analysis of C# and VB6 applications to estimate the amount of effort involved for changes in business functionality, writing some C# code to move one piece of work forward, and writing architectural recommendations to reduce system complexity
Standard Life
Dublin, Ireland
1 Jahr 1 Monat
2015-06 - 2016-06

Designed a reliable deployment system based on Perl

Automation Engineer
Automation Engineer
  • Clearstream is part of the Deutsche Börse Group
  • The contract was in the production support team, working with in-sourced customer systems, introducing DevOps practices, automating support functions through scripting based on a Jenkins server
  • I designed a reliable deployment system based on Perl, and put it in use throughout the software development lifecycle (Development, Test, Production) for energy markets
  • I also put in place full documentation and procedures for Energy Market operations under Confluence
  • I designed and developed an automated execution system where in-sourcing customers delivered procedures which were defined in an Excel spreadsheet (with VisualBasic coding), which were then automatically routed to the appropriate environment, and executed
  • Various other scripts were also developed in Powershell to automate tasks when were previously manual
Clearstream Services
 Luxembourg
4 Monate
2014-10 - 2015-01

IT Audit

IT Consultant 
IT Consultant 
  • There were several aspects to this contract : IT Audit working with the management, administration, HR, operations and development teams
  • Analysis and improvement of the production monitoring systems (based on Nagios) working with the Operations team
  • PCI DSS compliance, moving forward from v2 to v3 and putting in place solutions to handle the revised requirements leading to external evaluation of compliance
  • All systems were hosted in AWS
Mobile Travel Technologies Limited
Dublin, Ireland
4 Monate
2014-04 - 2014-07

Member of the Enterprise Services team

Principal Engineer / Performance Architect
Principal Engineer / Performance Architect
  • The contract had two aspects: Being a member of the Enterprise Services team working on the performance aspects of a large capacity expansion project and also on more general development process setup
  • Personnel were spread between Ireland, India and the US
  • The performance work included managing development aspects of software performance and scalability, performance testing, identification and remediation of performance bottlenecks, hardware acquisition
  • The system was written in Java SE in a SOA fashion, with much use of multi-threading, multi-processing, HTTP calls, Oracle databases, OSB, and Spring components (Batch)
  • The containers were JBOSS and Apache
  • A second piece of performance work involved remediation on the Audit system and DB, optimisation of SQL, implementation of partitioning and additional indexes
  • The development process work included a source code repository migration (Serena Dimensions to Atlassian Stash GIT), writing development standards and their governance procedures, documenting the systems in UML with Enterprise Architect, helping release management refine release procedures, and putting procedures and structure in place for managing offshore teams (internal and external) who were doing the actual coding
Dun & Bradstreet
Dublin, Ireland
7 Monate
2013-09 - 2014-03

Clean up and automate the build and deployment processes

CI / CD Engineer 
CI / CD Engineer 
  • The contract was to clean up and automate the build and deployment processes for the bank's systems after a move from StarTeam & CruiseControl to SVN & Jenkins
  • The systems software was C# built with msbuild (on top of Plumtree), packaged originally with Wix, now moved to InstallShield, and the build process controlled by nant, with msbuild as the triggering interface
  • The contract also involved day-to-day troubleshooting of build / deployment failures, and putting in place measures to improve stability
  • This also involved a move away from using PsExec for remote execution, in favour of PowerShell
  • Personnel were spread between Ireland, China and the US
HP International Bank
Leixlip, Ireland
4 Monate
2013-05 - 2013-08

Analysis and development on the Sophis, Murex and Kondor interfaces

Analyst / Senior Software Engineer
Analyst / Senior Software Engineer
  • The contract involved working in the Credit and Counterparty Risk department, doing analysis and development on the Sophis, Murex and Kondor interfaces, plus some in-house systems. It involved the creation of systems documentation for development, and the mentoring of new starts
  • It also involved the redesign, optimisation, and reimplementation of the reconciliations for all front office systems, as well as small change requests and day-to-day bug fixing, and systems documentation
  • The system is a series of Java SE applications running within a bespoke workflow system and using an Oracle database / PL/SQL, running on Sun Solaris (development on MS Windows)
  • The tools used were Eclipse and Serena Dimensions / Subversion
HypoVereinsBank
Munich, Germany
4 Monate
2012-10 - 2013-01

Performance improvement analysis and implementation on the project

Analyst / Software Engineer IntelliJ JUnit TeamCity ...
Analyst / Software Engineer

  • Synchronoss is a provider of transaction management software platforms to communication service providers, cable operators, retailers and OEMs to automate subscriber activation, order management, provisioning and content transfer and devices synchronisation
  • Personnel were spread between Galway, India and the US
  • The contract involved being the first developer on a new project, being familiar with the business requirements, getting new permanent employees assigned to the project up to speed on company tools and processes and the project itself
  • It also involved being responsible for the Single Sign On (SSO) and multi-OpCo catalog components of the project, as well as upgrades to some of the project software infrastructure (which was based on an earlier but similar project)
  • The contract also involved performance improvement analysis and implementation on the project and on the earlier project on which it was based (also still active)
  • The project was a Java EE web application running under Oracle Weblogic and using an Oracle DBMS / PL/SQL

IntelliJ JUnit TeamCity JRebel Maven Subversion
Synchronoss
Galway, Ireland
1 Jahr 7 Monate
2011-03 - 2012-09

Equities and Fixed Income Brokerage processing systems

Analyst / Architect / Software Engineer
Analyst / Architect / Software Engineer
  • The MainFirst Group of companies comprises Equity Brokerage, Fixed Income, Asset Management and Corporate Advisory departments
  • The bank has offices in several countries, but with all Equities and Fixed Income trading taking place in Frankfurt
  • The contract had two phases
  • The first phase of this contract was to analyse and document the in-place bank Equities Brokerage processing systems, based around a legacy AS400 / DB2 / RPG system, with files handled by a peripheral MS Windows Server 2003
  • This was followed by a risk analysis and the production of a report and presentation to the board of this analyis and recommendations of actions to reduce these risks. This first phase was complicated by the illness of the maintainer of the legacy systems
  • The second phase of the contract involved the architecture, design, implementation and testing of a replacement for the legacy systems
  • The replacement system was based on an Oracle database (running on a Windows Server 2008 R2) and PL/SQL, using the Fidessa JOAL API and a Java SE application running as a windows service to receive data from the Fidessa trading system in order to feed the database
  • This receipt of trading data then triggered data processing and the feeding of the back office Sungard RIMS system, BNP Paribas and KAS Bank settlement systems, and the bank accounting systems (EFDIS and Sun)
  • Real-time trading data was processed in an STP manner, file-based data (received via FTP and ConnectDirect) was processed by timed Oracle jobs
  • Position keeping, risk, P&L, and accounting system feeds were also prepared
  • The design, optimisation, and documentation of the Oracle database schema and the Java application receiving data from Fidessa was aided by the use of the Enterprise Architect application (similar to Rational Rose)
  • This system is in production and had been handed over to MainFirst staff
  • It is monitored using the MDSL monitoring system
  • A source code repository was also set up (SubVersion, replicated to a backup server) for all bank development (Equities Brokerage and Risk)
MainFirst Bank AG
Frankfurt, Germany
4 Monate
2010-11 - 2011-02

analysis phase followed by the design and installation of an externally accessible Subversion repository

Analyst / Systems Engineer
Analyst / Systems Engineer
  • The contract firstly involved an analysis phase followed by the design and installation of an externally accessible Subversion repository, complying with EUMETSAT's security rules and Configuration Management procedures
  • Also installed an internal Hudson server for continuous integration
  • Secondary tasks were the design and setup of new Ground Segment systems for maintenance purposes, the set up of Software Engineering Framework systems in the Technical Computing Environment (TCE), the inspection and correction of EPS Ground Segment GMC-reported faults, and updates to systems descriptions documents prepared under previous contracts by Mac Donnchadha Systems Limited
EUMETSAT
Darmstadt, Germany
1 Jahr 9 Monate
2008-07 - 2010-03

Responsible for the architecture, design and development of a ground systems monitoring and control system

Senior UNIX Applications Software Engineer
Senior UNIX Applications Software Engineer
  • The contract involved being responsible for the architecture, design and development of a ground systems monitoring and control system, deployable on UNIX (AIX / Linux (RedHat, SLES) / Sun) and Microsoft platforms
  • This is a multi-threaded, distributed system, capable of handling hundreds of machines, and is configuration driven
  • The main server software and agent software were written in C++ (ACE / Boost), and the GUI was written in Java SE
  • The system had high availability built into its design, and used low-latency data streaming technology
  • All system configuration and data transfer objects are designed and specified in XSD
  • The system is configured in XML
  • I designed various extensions to the original system, including ones which allowed a hierarchy of monitoring servers to be connected together to allow all monitoring data across the organisation to be visible from one central point
  • Also developed was an interface (web based) to the system which allowed on-call staff to view the operational systems from home
  • I was also responsible for the analysis phase, design and implementation of a secure source code repository service supporting both SubVersion and CVS repositories
  • During this time I also provided AIX and Linux out of hours on-call and call-out support for the EPS mission.
EUMETSAT
Darmstadt, Germany
2 Jahre
2006-07 - 2008-06

Maintenance practices for all ground systems software

Software Librarian
Software Librarian
  • I was responsible for the maintenance practices for all ground systems software, analysing existing practices, setting up a development environment for the organisation where scientists and external contractors could work, as well as defining procedures for the delivery of software by external sub-contractors, building the software, and deployment onto the ground facility systems platform
  • The position also involved supporting the scientists in the development of the processing software from the satellite, planning the migration of the software to different versions of both the compiler and operating system, and a migration from CVS to SVN as source code control system
  • The systems software was written in C / C++ / FORTRAN, and was deployed on an IBM AIX platform
  • The position also involved being responsible for the analysis phase, architecture, design and development of a ground systems monitoring and control system, deployable on UNIX (AIX / Linux / Sun) and Microsoft platforms
  • This was a multi-threaded, distributed system, capable of handling hundreds of machines, and is configuration driven
  • The main server software and agent software were written in C++, and the GUI was written in Java SE
  • The system had high availability built into its design, and used low-latency data streaming technology
EUMETSAT
Darmstadt, Germany
4 Monate
2006-03 - 2006-06

Enterprise Application Integration (EAI) group

Senior Analyst / Programmer
Senior Analyst / Programmer
  • The contract involved working (again) in the Enterprise Application Integration (EAI) group and required using Clearcase, C++, Java (EE / EJB), SQL, Eclipse, Oracle, Pro*C, BEA Tuxedo and BEA Weblogic Server (WLS), XML on a HPUX UNIX platform to link together the various components (Sales and Customer Information, GIS, Number Management, Billing, Order Management, DSL Services) comprising the provisioning system stack
  • The position involved analysis, design and documentation using UML in Rational Rose and the Rational Unified Process (RUP), and implementation of code and TUXEDO configurations to meet a new requirement for the provisioning of DSL and Voice Over IP (VOIP) services on an existing stack
O2 (Germany)
Munich, Germany
3 Jahre 6 Monate
2002-10 - 2006-03

Design and implementation of a server

Associate Director
Associate Director
  • The position was in the IT Equities division (incorporating Fixed Income brokerage), Core Trading Systems group, It involved analysis, designing, planning, implementation and maintenance of interfaces from UBS?s capital markets trading system (CaTS) to order originating or order routing systems based in Switzerland, London and the US
  • The work involved using C++, STL, Boost, ACE, XML, CppUnit, RogueWave, Sybase, Oracle, ToolTalk, X-Windows, socket based TCP-IP connections, IPCs, and multithreading on SUN Solaris and Red Hat Linux platforms
  • The development environment used Clearcase, with Sun Workshop on Solaris, and DDD on Linux
  • Design work was done in UML using Rational Rose
  • In chronological order: I was responsible for the design and implementation of a server which handled the processing of trades from a new trade feed, and for bridging / translation servers for orders and trades in and out of the previous trading system to the new system
  • I was also responsible for the improvement and re-definition of the build and release procedures for the trading systems development groups, was responsible for a compiler upgrade, and was the code manager for the core trading systems group during this period
  • I later handed this function over to a dedicated configuration manager
  • I was responsible for the analysis, design and implementation of a flexible calculation engine for an automated trading application as part of the new Trading System, and then went on to be responsible for, and project manager for a new project for the transfer of Fixed Income business from the old trading system to the new, and for the automation and matching / internalisation of as much trading as possible
  • The system connects to multiple markets, including a FIX and market data link to Bloomberg
  • I was personally responsible for the analysis, specification, and the design of the trading system, using Haley Rules Engine technology for evaluating orders for automatic execution
  • I was also the team leader for the group responsible for the implementation and test of this system, with a varying size of team (3 to 15 people) working for me depending on what was required at various times during the project
  • The project involved much liaison with the business management, traders, and the back office for the specification, design and test of the system. From go-live (January 2005) until leaving UBS I was responsible for the further development of the Fixed Income trading systems, while still retaining development duties
  • The system was developed in C++ (server side) on RedHat Linux and C# (GUI) on Windows
UBS AG
Opfikon, Switzerland

Aus- und Weiterbildung

Aus- und Weiterbildung

1988 - 1992

Course Mechanical Engineering

B.Eng. (Hons) Result 2.1 (Hons)

The University of Edinburgh, Scotland

Kompetenzen

Kompetenzen

Top-Skills

Development AWS UNIX / Linux Java Python C# C++ Microsoft Spring Kafka SQL Back-End Systemadministration Git Subversion Jenkins Continuous Integration Terraform Maven Gradle Atlassian JIRA Atlassian Confluence Distributed Computing

Produkte / Standards / Erfahrungen / Methoden

IT Skills:

Programming & Scripting

Java SE / EE (back-end) / Kotlin (Spring / Spring Boot), C#. VBA, C++ (incl. STL, Boost, ACE), C

PL/SQL, Transact SQL (Sybase, MS SQL), Perl, Shell / Korn Shell, Powershell, lua

Pascal, LISP, FORTRAN, Delphi, Power Mart, Basic, Visual Basic, Python, assembly language


GUI

UNIX/Linux: X-windows/Motif in both C/C++ and LISP, UIM/X and X-Designer GUI builders

Windows: Windows SDK, MFC, Delphi Multi-Platform : Java


Testing

CppUnit, JUnit, at unit and system level


OOD

UML using Enterprise Architect or Rational Rose, experience with RUP


SCCS / Build /Deployment

GIT, SVN, CVS, SCCS, Visual Source Safe, Clearcase, PVCS Tracker, Serena Dimensions

GitLab, GitHub, Hudson, Jenkins, Azure DevOps, TeamCity, iMake, automake, make, RPM, ant,

maven, gradle, Terraform, AWS CloudFormation, AWS CDK


Middleware

Kafka, Spring/Boot, TUXEDO, CORBA, Weblogic Enterprise, Tibco RendezVous, Haley Rules Engine


TCP/IP

Design / implementation of client / server and distributed systems using sockets (or TLI)


MP

Multi-processing using Threads, POSIX threads and IPCs, real-time processing systems


IDEs

IntelliJ, VisualStudio, Eclipse (Java, C++, ADT), Sniff, XEmacs


Systems administration

OS : UNIX (SUN / DEC / SGI / IBM / HP), Linux (RedHat / SuSE / Ubuntu / CentOS), Windows, 

Windows Server, MS SQL Server, Macintosh 

Applications : Active Directory, MS Exchange Server / Sendmail, Windows / UNIX email clients, 

DNS, NTP, HTTP servers, Web/Application Servers (NGINX/Apache/WebLogic/JBOSS), 

VMware, docker, Jira, Confluence


Cloud

AWS Certified Cloud Practitioner, direct experience with EC2 / S3 / VPC / VPN / NAT / IAM / API

Gateway / Lambda / DynamoDB / SQS / SNS / SES / SecretsManager / Cognito, 

CertificateManager, CloudFormation, CloudWatch, data centre migration


Comms

Analogue, ISDN, DSL, Ethernet wiring, Cisco switches and Firewalls, VoIP


Other

HTML / XML / XSD processing, mostly in Java / C++. Cryptographic experience

Experience in the use of most standard PC / Macintosh packages, Confluence, JIRA


Beruflicher Werdegang:

2001-09 - 2002-06

Rolle: Senior Software Engineer / Team Leader

Kunde: Clearstream Services


2001-01 - 2001-06  

Rolle: Senior Analyst / Programmer

Kunde: VIAG Interkom GmbH & Co (O2)


2000-08 - 2000-12

Rolle: Support Analyst

Kunde: Cambridge Technology Partners


1999-12 - 2000-04

Rolle: Analyst Programmer

Kunde: STN ATLAS Elektronik GmbH


1999-06 - 1999-11

Rolle: Product Consultant

Kunde: Proton World International S.A/N.V


1998-05 - 1999-06

Rolle: Analyst Programmer

Kunde: Switch S.A/N.V.


1997-04 - 1998-04 

Rolle: Software Engineer / Systems Administrator

Kunde: Petroleum Experts Limited


1996-04 - 1997-04  

Rolle: Software Engineer / Systems Administrator

Kunde: Concept Systems Limited.


1994-04 - 1996-04 

Rolle: Research Associate

Kunde: Heriot-Watt University, Dept of Computing & Electrical Engineering


1993-08 - 1994-03 

Rolle: Computing Officer

Kunde: Edinburgh University Computing Services (EUCS)


1993-01 - 1993-06 

Rolle: Faculty Computing Officer

Kunde: Royal School for Veterinary Studies, The University of Edinburgh

Einsatzorte

Einsatzorte

Deutschland, Österreich
möglich

Projekte

Projekte

1 Jahr 2 Monate
2022-01 - 2023-02

Migration of the eBay Kleinanzeigen website

Backend Engineer
Backend Engineer
  • The first project was the migration of the eBay Kleinanzeigen website and associated services from a legacy Kafka cluster to multiple new Kafka clusters
  • The systems were running under Kubernetes, written in Java (8, 11, 17) and Kotlin, and used Spring and Spring Boot to provide both microservices and a monolith
  • Metrics were gathered using Prometheus / Grafana
  • Testing used JUnit / Mockito / Wiremock / Awaitability. Deployment used Docker / Helm / Terraform / ArgoCD
  • The migration involved new Kafka and Mirror Maker 2 configurations, code cleanup and code modernisation
  • eBay Kleinanzeigen is part of Adevinta and some interaction with centrally provided services was also required
  • The second project was the migration of analytics data from a Hadoop-based platform to a DataBricks-based platform
  • My part in this project was the analysis of the existing Hadoop data feeds (Kafka / Flume), the onboarding of a new engineer, and the implementation of Kafka configurations and backend changes
eBay Kleinanzeigen GmbH
Kleinmachnow, Germany
1 Jahr 5 Monate
2020-08 - 2021-12

Area of commodities trading

Senior Software Engineer
Senior Software Engineer
  • The project context is the area of commodities trading, in this case the trading of energy (power and gas), under an EnBW programme to replace on-prem legacy systems with cloud-based systems. The contract was to analyse, architect, design and develop a high volume, low-latency connector between a cloud-based Volue DeltaXE instance and EnBW on-premises backend systems (Endur, EV) / EnBW cloud-based systems (Trayport autoTRADER, Exxeta, EMSys VPP for renewables)
  • The implementation was in Java / Python under AWS Lambda to provide scalable microservices
  • Testing used JUnit / Mockito / Awaitability / s3mock
  • KRITIS relevance was important in the architecture and design of the Connector and the way in which DeltaXE is operated
  • The DeltaXE instance is used for Position Keeping, Asset dispatch and TSO / SSO Nominations
  • I was responsible for all security aspects of the project as well as for defining the deployment (Azure DevOps) and operations criteria and methodology as well as acting as team lead for other developers on other system components
  • The system was written in Java, defined a REST API and used AWS components: API Gateway, S3, Lambda, DynamoDB, Cognito, Certificate Manager, IAM, VPC, VPC Endpoints, NAT Gateway, Cloudwatch Logs/Metrics/Events, SNS and used Terraform and OnePlatform for provisioning
  • Metrics were sent to DataDog
EnBW Energie Baden-Württemberg AG
Karlsruhe, Germany
1 Jahr 9 Monate
2018-07 - 2020-03

architect, design and develop systems to aid in the automation of software quality assurance

Development Lead 
Development Lead 
  • The first system acted as a message broker between systems executing software security tests and Atlassian Jira
  • The system was written in Java, defined a REST API and used AWS components (Api Gateway, Lambda, DynamoDB, LoadBalancer, EC2, S3, VPC, VPC Endpoints, IAM, SecretsManager, Cloudwatch Logs/Metrics/Events, SNS). CD/CD using GitLab, automated unit/system/load tests using JUnit / Awaitability / Cucumber, deployment using Terraform, security, network configuration aspects, cost optimisation, performance optimisation and operations procedures were part of the deliverable, including an OpenResty/NGINX reverse proxy which could re-sign AWS requests
  • Messages sent to the system included requests to create / update Jira issues, requests to upload Cucumber testcases and test executions, requests to download Confluence content, and triggers to indicate the start and end of a Cucumber testcase run (in order to trigger Jira issue validation)
  • The system made use of static data which was read periodically from Confluence pages (HTML) and stored in DynamoDB
  • The system supported many projects, some of which had specific message handling requirements
  • The second system made use of AWS scale to search log files for regular expressions (regex)
  • It broke an incoming request into sub-requests, executed these in parallel, and collated the end results
  • The system was asynchronous
  • This was a service contract
  • Development was off-site, communication was by email / Circuit (similar to Teams)
Siemens AG
Erlangen, Germany
1 Jahr 4 Monate
2017-01 - 2018-04

Manage and implement a successful transition of Dell Services IT systems to NTT DATA

Configuration Manager 
Configuration Manager 

  • The contract was to manage and implement a successful transition of Dell Services IT systems to NTT DATA in Germany and Slovakia, liaising with the new owners in the US and with management in Germany and India
  • This involved re-branding, change of email system, change of networks, SharePoint migration, change to Office 365, change of Active Directory domain, re-imaging of user laptops, etc.
  • A major part of the work was to take over a Datacentre / office in Munich, understand and document the systems and configuration, correct various configuration and security issues, consolidate and clean up the systems, and prepare all Virtual Machines (VMware based) for a move to the cloud
  • The workloads (VMs) were Windows Server (2003, 2012, 2016) and multiple flavours of Linux (SuSE, RedHat, Ubuntu), running various applications such as MS Project Server, MS SQL Server or development systems
  • This was done with minimum disruption to the running systems
  • The cloud provider chosen, after a cost-benefit analysis of the main providers, was AWS
  • I architected / designed / configured the cloud security and backup scheme and then moved the Virtual Machines and data into the cloud using the AWS CLI, AWS VMware Connector, and SCP / SFTP
  • I set up VPN access to the VPC using SoftEther
  • All assets from Munich were recovered, and the office was then closed
  • The final part of the contract was an office move in Frankfurt
  • My part in this was the specification, purchase and configuration of the internet connection, network and telephone (VoIP) systems, and to ensure that the office was usable on the first working day

NTT DATA Services Germany GmbH
Frankfurt am Main, Germany
3 Monate
2016-10 - 2016-12

Analysis of C# and VB6 applications

Senior Java Developer 
Senior Java Developer 
  • This was a short-term contract to cover personnel shortfall
  • The contract involved analysis of C# and VB6 applications to estimate the amount of effort involved for changes in business functionality, writing some C# code to move one piece of work forward, and writing architectural recommendations to reduce system complexity
Standard Life
Dublin, Ireland
1 Jahr 1 Monat
2015-06 - 2016-06

Designed a reliable deployment system based on Perl

Automation Engineer
Automation Engineer
  • Clearstream is part of the Deutsche Börse Group
  • The contract was in the production support team, working with in-sourced customer systems, introducing DevOps practices, automating support functions through scripting based on a Jenkins server
  • I designed a reliable deployment system based on Perl, and put it in use throughout the software development lifecycle (Development, Test, Production) for energy markets
  • I also put in place full documentation and procedures for Energy Market operations under Confluence
  • I designed and developed an automated execution system where in-sourcing customers delivered procedures which were defined in an Excel spreadsheet (with VisualBasic coding), which were then automatically routed to the appropriate environment, and executed
  • Various other scripts were also developed in Powershell to automate tasks when were previously manual
Clearstream Services
 Luxembourg
4 Monate
2014-10 - 2015-01

IT Audit

IT Consultant 
IT Consultant 
  • There were several aspects to this contract : IT Audit working with the management, administration, HR, operations and development teams
  • Analysis and improvement of the production monitoring systems (based on Nagios) working with the Operations team
  • PCI DSS compliance, moving forward from v2 to v3 and putting in place solutions to handle the revised requirements leading to external evaluation of compliance
  • All systems were hosted in AWS
Mobile Travel Technologies Limited
Dublin, Ireland
4 Monate
2014-04 - 2014-07

Member of the Enterprise Services team

Principal Engineer / Performance Architect
Principal Engineer / Performance Architect
  • The contract had two aspects: Being a member of the Enterprise Services team working on the performance aspects of a large capacity expansion project and also on more general development process setup
  • Personnel were spread between Ireland, India and the US
  • The performance work included managing development aspects of software performance and scalability, performance testing, identification and remediation of performance bottlenecks, hardware acquisition
  • The system was written in Java SE in a SOA fashion, with much use of multi-threading, multi-processing, HTTP calls, Oracle databases, OSB, and Spring components (Batch)
  • The containers were JBOSS and Apache
  • A second piece of performance work involved remediation on the Audit system and DB, optimisation of SQL, implementation of partitioning and additional indexes
  • The development process work included a source code repository migration (Serena Dimensions to Atlassian Stash GIT), writing development standards and their governance procedures, documenting the systems in UML with Enterprise Architect, helping release management refine release procedures, and putting procedures and structure in place for managing offshore teams (internal and external) who were doing the actual coding
Dun & Bradstreet
Dublin, Ireland
7 Monate
2013-09 - 2014-03

Clean up and automate the build and deployment processes

CI / CD Engineer 
CI / CD Engineer 
  • The contract was to clean up and automate the build and deployment processes for the bank's systems after a move from StarTeam & CruiseControl to SVN & Jenkins
  • The systems software was C# built with msbuild (on top of Plumtree), packaged originally with Wix, now moved to InstallShield, and the build process controlled by nant, with msbuild as the triggering interface
  • The contract also involved day-to-day troubleshooting of build / deployment failures, and putting in place measures to improve stability
  • This also involved a move away from using PsExec for remote execution, in favour of PowerShell
  • Personnel were spread between Ireland, China and the US
HP International Bank
Leixlip, Ireland
4 Monate
2013-05 - 2013-08

Analysis and development on the Sophis, Murex and Kondor interfaces

Analyst / Senior Software Engineer
Analyst / Senior Software Engineer
  • The contract involved working in the Credit and Counterparty Risk department, doing analysis and development on the Sophis, Murex and Kondor interfaces, plus some in-house systems. It involved the creation of systems documentation for development, and the mentoring of new starts
  • It also involved the redesign, optimisation, and reimplementation of the reconciliations for all front office systems, as well as small change requests and day-to-day bug fixing, and systems documentation
  • The system is a series of Java SE applications running within a bespoke workflow system and using an Oracle database / PL/SQL, running on Sun Solaris (development on MS Windows)
  • The tools used were Eclipse and Serena Dimensions / Subversion
HypoVereinsBank
Munich, Germany
4 Monate
2012-10 - 2013-01

Performance improvement analysis and implementation on the project

Analyst / Software Engineer IntelliJ JUnit TeamCity ...
Analyst / Software Engineer

  • Synchronoss is a provider of transaction management software platforms to communication service providers, cable operators, retailers and OEMs to automate subscriber activation, order management, provisioning and content transfer and devices synchronisation
  • Personnel were spread between Galway, India and the US
  • The contract involved being the first developer on a new project, being familiar with the business requirements, getting new permanent employees assigned to the project up to speed on company tools and processes and the project itself
  • It also involved being responsible for the Single Sign On (SSO) and multi-OpCo catalog components of the project, as well as upgrades to some of the project software infrastructure (which was based on an earlier but similar project)
  • The contract also involved performance improvement analysis and implementation on the project and on the earlier project on which it was based (also still active)
  • The project was a Java EE web application running under Oracle Weblogic and using an Oracle DBMS / PL/SQL

IntelliJ JUnit TeamCity JRebel Maven Subversion
Synchronoss
Galway, Ireland
1 Jahr 7 Monate
2011-03 - 2012-09

Equities and Fixed Income Brokerage processing systems

Analyst / Architect / Software Engineer
Analyst / Architect / Software Engineer
  • The MainFirst Group of companies comprises Equity Brokerage, Fixed Income, Asset Management and Corporate Advisory departments
  • The bank has offices in several countries, but with all Equities and Fixed Income trading taking place in Frankfurt
  • The contract had two phases
  • The first phase of this contract was to analyse and document the in-place bank Equities Brokerage processing systems, based around a legacy AS400 / DB2 / RPG system, with files handled by a peripheral MS Windows Server 2003
  • This was followed by a risk analysis and the production of a report and presentation to the board of this analyis and recommendations of actions to reduce these risks. This first phase was complicated by the illness of the maintainer of the legacy systems
  • The second phase of the contract involved the architecture, design, implementation and testing of a replacement for the legacy systems
  • The replacement system was based on an Oracle database (running on a Windows Server 2008 R2) and PL/SQL, using the Fidessa JOAL API and a Java SE application running as a windows service to receive data from the Fidessa trading system in order to feed the database
  • This receipt of trading data then triggered data processing and the feeding of the back office Sungard RIMS system, BNP Paribas and KAS Bank settlement systems, and the bank accounting systems (EFDIS and Sun)
  • Real-time trading data was processed in an STP manner, file-based data (received via FTP and ConnectDirect) was processed by timed Oracle jobs
  • Position keeping, risk, P&L, and accounting system feeds were also prepared
  • The design, optimisation, and documentation of the Oracle database schema and the Java application receiving data from Fidessa was aided by the use of the Enterprise Architect application (similar to Rational Rose)
  • This system is in production and had been handed over to MainFirst staff
  • It is monitored using the MDSL monitoring system
  • A source code repository was also set up (SubVersion, replicated to a backup server) for all bank development (Equities Brokerage and Risk)
MainFirst Bank AG
Frankfurt, Germany
4 Monate
2010-11 - 2011-02

analysis phase followed by the design and installation of an externally accessible Subversion repository

Analyst / Systems Engineer
Analyst / Systems Engineer
  • The contract firstly involved an analysis phase followed by the design and installation of an externally accessible Subversion repository, complying with EUMETSAT's security rules and Configuration Management procedures
  • Also installed an internal Hudson server for continuous integration
  • Secondary tasks were the design and setup of new Ground Segment systems for maintenance purposes, the set up of Software Engineering Framework systems in the Technical Computing Environment (TCE), the inspection and correction of EPS Ground Segment GMC-reported faults, and updates to systems descriptions documents prepared under previous contracts by Mac Donnchadha Systems Limited
EUMETSAT
Darmstadt, Germany
1 Jahr 9 Monate
2008-07 - 2010-03

Responsible for the architecture, design and development of a ground systems monitoring and control system

Senior UNIX Applications Software Engineer
Senior UNIX Applications Software Engineer
  • The contract involved being responsible for the architecture, design and development of a ground systems monitoring and control system, deployable on UNIX (AIX / Linux (RedHat, SLES) / Sun) and Microsoft platforms
  • This is a multi-threaded, distributed system, capable of handling hundreds of machines, and is configuration driven
  • The main server software and agent software were written in C++ (ACE / Boost), and the GUI was written in Java SE
  • The system had high availability built into its design, and used low-latency data streaming technology
  • All system configuration and data transfer objects are designed and specified in XSD
  • The system is configured in XML
  • I designed various extensions to the original system, including ones which allowed a hierarchy of monitoring servers to be connected together to allow all monitoring data across the organisation to be visible from one central point
  • Also developed was an interface (web based) to the system which allowed on-call staff to view the operational systems from home
  • I was also responsible for the analysis phase, design and implementation of a secure source code repository service supporting both SubVersion and CVS repositories
  • During this time I also provided AIX and Linux out of hours on-call and call-out support for the EPS mission.
EUMETSAT
Darmstadt, Germany
2 Jahre
2006-07 - 2008-06

Maintenance practices for all ground systems software

Software Librarian
Software Librarian
  • I was responsible for the maintenance practices for all ground systems software, analysing existing practices, setting up a development environment for the organisation where scientists and external contractors could work, as well as defining procedures for the delivery of software by external sub-contractors, building the software, and deployment onto the ground facility systems platform
  • The position also involved supporting the scientists in the development of the processing software from the satellite, planning the migration of the software to different versions of both the compiler and operating system, and a migration from CVS to SVN as source code control system
  • The systems software was written in C / C++ / FORTRAN, and was deployed on an IBM AIX platform
  • The position also involved being responsible for the analysis phase, architecture, design and development of a ground systems monitoring and control system, deployable on UNIX (AIX / Linux / Sun) and Microsoft platforms
  • This was a multi-threaded, distributed system, capable of handling hundreds of machines, and is configuration driven
  • The main server software and agent software were written in C++, and the GUI was written in Java SE
  • The system had high availability built into its design, and used low-latency data streaming technology
EUMETSAT
Darmstadt, Germany
4 Monate
2006-03 - 2006-06

Enterprise Application Integration (EAI) group

Senior Analyst / Programmer
Senior Analyst / Programmer
  • The contract involved working (again) in the Enterprise Application Integration (EAI) group and required using Clearcase, C++, Java (EE / EJB), SQL, Eclipse, Oracle, Pro*C, BEA Tuxedo and BEA Weblogic Server (WLS), XML on a HPUX UNIX platform to link together the various components (Sales and Customer Information, GIS, Number Management, Billing, Order Management, DSL Services) comprising the provisioning system stack
  • The position involved analysis, design and documentation using UML in Rational Rose and the Rational Unified Process (RUP), and implementation of code and TUXEDO configurations to meet a new requirement for the provisioning of DSL and Voice Over IP (VOIP) services on an existing stack
O2 (Germany)
Munich, Germany
3 Jahre 6 Monate
2002-10 - 2006-03

Design and implementation of a server

Associate Director
Associate Director
  • The position was in the IT Equities division (incorporating Fixed Income brokerage), Core Trading Systems group, It involved analysis, designing, planning, implementation and maintenance of interfaces from UBS?s capital markets trading system (CaTS) to order originating or order routing systems based in Switzerland, London and the US
  • The work involved using C++, STL, Boost, ACE, XML, CppUnit, RogueWave, Sybase, Oracle, ToolTalk, X-Windows, socket based TCP-IP connections, IPCs, and multithreading on SUN Solaris and Red Hat Linux platforms
  • The development environment used Clearcase, with Sun Workshop on Solaris, and DDD on Linux
  • Design work was done in UML using Rational Rose
  • In chronological order: I was responsible for the design and implementation of a server which handled the processing of trades from a new trade feed, and for bridging / translation servers for orders and trades in and out of the previous trading system to the new system
  • I was also responsible for the improvement and re-definition of the build and release procedures for the trading systems development groups, was responsible for a compiler upgrade, and was the code manager for the core trading systems group during this period
  • I later handed this function over to a dedicated configuration manager
  • I was responsible for the analysis, design and implementation of a flexible calculation engine for an automated trading application as part of the new Trading System, and then went on to be responsible for, and project manager for a new project for the transfer of Fixed Income business from the old trading system to the new, and for the automation and matching / internalisation of as much trading as possible
  • The system connects to multiple markets, including a FIX and market data link to Bloomberg
  • I was personally responsible for the analysis, specification, and the design of the trading system, using Haley Rules Engine technology for evaluating orders for automatic execution
  • I was also the team leader for the group responsible for the implementation and test of this system, with a varying size of team (3 to 15 people) working for me depending on what was required at various times during the project
  • The project involved much liaison with the business management, traders, and the back office for the specification, design and test of the system. From go-live (January 2005) until leaving UBS I was responsible for the further development of the Fixed Income trading systems, while still retaining development duties
  • The system was developed in C++ (server side) on RedHat Linux and C# (GUI) on Windows
UBS AG
Opfikon, Switzerland

Aus- und Weiterbildung

Aus- und Weiterbildung

1988 - 1992

Course Mechanical Engineering

B.Eng. (Hons) Result 2.1 (Hons)

The University of Edinburgh, Scotland

Kompetenzen

Kompetenzen

Top-Skills

Development AWS UNIX / Linux Java Python C# C++ Microsoft Spring Kafka SQL Back-End Systemadministration Git Subversion Jenkins Continuous Integration Terraform Maven Gradle Atlassian JIRA Atlassian Confluence Distributed Computing

Produkte / Standards / Erfahrungen / Methoden

IT Skills:

Programming & Scripting

Java SE / EE (back-end) / Kotlin (Spring / Spring Boot), C#. VBA, C++ (incl. STL, Boost, ACE), C

PL/SQL, Transact SQL (Sybase, MS SQL), Perl, Shell / Korn Shell, Powershell, lua

Pascal, LISP, FORTRAN, Delphi, Power Mart, Basic, Visual Basic, Python, assembly language


GUI

UNIX/Linux: X-windows/Motif in both C/C++ and LISP, UIM/X and X-Designer GUI builders

Windows: Windows SDK, MFC, Delphi Multi-Platform : Java


Testing

CppUnit, JUnit, at unit and system level


OOD

UML using Enterprise Architect or Rational Rose, experience with RUP


SCCS / Build /Deployment

GIT, SVN, CVS, SCCS, Visual Source Safe, Clearcase, PVCS Tracker, Serena Dimensions

GitLab, GitHub, Hudson, Jenkins, Azure DevOps, TeamCity, iMake, automake, make, RPM, ant,

maven, gradle, Terraform, AWS CloudFormation, AWS CDK


Middleware

Kafka, Spring/Boot, TUXEDO, CORBA, Weblogic Enterprise, Tibco RendezVous, Haley Rules Engine


TCP/IP

Design / implementation of client / server and distributed systems using sockets (or TLI)


MP

Multi-processing using Threads, POSIX threads and IPCs, real-time processing systems


IDEs

IntelliJ, VisualStudio, Eclipse (Java, C++, ADT), Sniff, XEmacs


Systems administration

OS : UNIX (SUN / DEC / SGI / IBM / HP), Linux (RedHat / SuSE / Ubuntu / CentOS), Windows, 

Windows Server, MS SQL Server, Macintosh 

Applications : Active Directory, MS Exchange Server / Sendmail, Windows / UNIX email clients, 

DNS, NTP, HTTP servers, Web/Application Servers (NGINX/Apache/WebLogic/JBOSS), 

VMware, docker, Jira, Confluence


Cloud

AWS Certified Cloud Practitioner, direct experience with EC2 / S3 / VPC / VPN / NAT / IAM / API

Gateway / Lambda / DynamoDB / SQS / SNS / SES / SecretsManager / Cognito, 

CertificateManager, CloudFormation, CloudWatch, data centre migration


Comms

Analogue, ISDN, DSL, Ethernet wiring, Cisco switches and Firewalls, VoIP


Other

HTML / XML / XSD processing, mostly in Java / C++. Cryptographic experience

Experience in the use of most standard PC / Macintosh packages, Confluence, JIRA


Beruflicher Werdegang:

2001-09 - 2002-06

Rolle: Senior Software Engineer / Team Leader

Kunde: Clearstream Services


2001-01 - 2001-06  

Rolle: Senior Analyst / Programmer

Kunde: VIAG Interkom GmbH & Co (O2)


2000-08 - 2000-12

Rolle: Support Analyst

Kunde: Cambridge Technology Partners


1999-12 - 2000-04

Rolle: Analyst Programmer

Kunde: STN ATLAS Elektronik GmbH


1999-06 - 1999-11

Rolle: Product Consultant

Kunde: Proton World International S.A/N.V


1998-05 - 1999-06

Rolle: Analyst Programmer

Kunde: Switch S.A/N.V.


1997-04 - 1998-04 

Rolle: Software Engineer / Systems Administrator

Kunde: Petroleum Experts Limited


1996-04 - 1997-04  

Rolle: Software Engineer / Systems Administrator

Kunde: Concept Systems Limited.


1994-04 - 1996-04 

Rolle: Research Associate

Kunde: Heriot-Watt University, Dept of Computing & Electrical Engineering


1993-08 - 1994-03 

Rolle: Computing Officer

Kunde: Edinburgh University Computing Services (EUCS)


1993-01 - 1993-06 

Rolle: Faculty Computing Officer

Kunde: Royal School for Veterinary Studies, The University of Edinburgh

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.