Kan vara tillgänglig
(Uppdaterat 2022-05-20)Developer, Team Lead & Architect
Frederiksberg, Danmark
Modersmål Danish, English, Mellan Svenska, Norwegian, Nybörjare German
- Java, C#, XML og relaterede teknologier såsom Javascript er hjemmebane.
- Database-erfaring dækker både Oracle, MS SQL Server, DB2 og MySQL
- Ekspertise besiddes inden for alle niveauer og trin i udviklingsprocessen.
Kompetenser (47)
SOFTWARE DESIGN
Subversion
API
Microservices
Java
INTEGRATION
JavaScript
SVN
JSON
XML
Java
MS WORD
WORD
Git
SCRIPTING
Spring
PROTOTYPE
MSSQL
MICROSOFT WORD
GRADLE
Jenkins
Continuous Integration
C#
CPR
APPLICATION SERVER
VBA
MS VISIO
MS .NET
VISIO
.NET
OPERATIONS
DESIGN PATTERNS
Angular.JS
CONTINUOUS INTEGRATION/DELIVERY
CI/CD
Node.js
.NET 4.0
Visual Basic
PHP
TypeScript
Cucumber
Python
MIDDLEWARE
LOTUS NOTES
INTEGRATOR
DER
Groovy
Professionell bakgrund
2015-01 - Pågående
Primære udviklingsopgaver var design og implementation af SOAP baserede Web Services på både OSB og WLS. Opad integration til DataPower og nedad til mainframe - sidelæns til NemID og organisationens andre, interne OSB'er.
Primære udfordringer: At overskue en i høj grad kompleks systemarkitektur, samt på kvalificeret vis at rykke kvaliteten af implementationsbasen (som var stært påvirket af arvet "legacy" kode) i den rigtige retning.
Det primære projekt i perioden var en transition fra brug af SMS'er til "push notifications", samt implementation af mulighed for at lave gentagne betalinger (abonnementsbetalinger).
Processen var Scrum, underlagt meget stringente rammer i forhold til implementation af såvel unit tests (JUnit) som integrationstests via SoapUI, og al indsats var struktureret omkring opgaver oprettet i Jira. Ligeledes var der en fast plan for dokumentation i Confluence, og et etableret setup vedrørende Continuous Integration/Deployment i Jenkins.
Note: Projektet var oprindeligt med større scope, men blev afsluttet halvvej grundet reorganisering.
Kompetencer anvendt: Systemarkitektur, Java/J2EE, Oracle Service Bus (OSB/ESB), Weblogic Web Server (WLS), REST, SOAP, SOA, REST, JSON, Jira, Jenkins, Jenkins, Xmlspy, SoapUI, MS Visio, Eclipse, Scrum, GIT, SVN, analyse, design, implementation.
2017-01 - Pågående
Udviklingsprocessen baseredes på SAFe, og strakte sig over 3 Program Increments (PI) af 10 uger. Teamet inkluderede Product Owner (PO), Business Analysts, jurister og UX'ere (17 deltagere i alt), hvoraf 5 var udviklere. Fungerede i Technical Lead som bindeleddet mellem projektledelse, arkitekt(er) og udviklere, med henblik på at sikre det bedst mulige tekniske resultat.
Note: Projektet blev afsluttet før færdiggørelse, da Skatteminsteriet valgte et billigere bud efter første Program Increment.
Kompetencer anvendt: Java 8, Gradle, Spring Boot, Node.js. NPM, React.js, Typescript, Axios, Junit, Mockito, PowerMockito, SOAP, REST, SoapUI, IntelliJ, GIT (GitHub), Jenkins, Jira, Confluence, HipChat, Kitty, Ssh
2021-01 - 2021-06
Java XML håndtering af ugyldige UTF-8 ved batch-indlæsning af filer.
Sikring af SOAP svars indehold af gyldige data gennem MyBatis/DAO.
Kompetencer anvendt: J2EE (Java 8), DB2, SoapUI, Spring, Microservices, XML, SOAP, WSDL, REST, SVN (Subversion), IntelliJ, Maven, Jenkins, CI/CD pipelines, Azure DevOps, Scrum, Scrum-of-Scrums/Scaled Agile (SAFe), ServiceNow, web services, MyBatis (DAO)
2019-05 - 2020-12
Projektets bemanding startede med at udgøres af et par håndfulde fastansatte og et tilsvarende antale arkitekter, alle på konsulentbasis. Løbende blev onboardet cirka 20-25 danske konsulenter til at varetage implementation, i parallel med 60-65 indiske kollegaer, leveret gennem Larsen-Thoubro Infoteq (LTI). Screening og interviews var en del af opgaverne, såvel som opdeling af opgaveansvar og personnel på projektets 6 implementationsteams.
Gennem hele forløbet Chief Scrum Master, Scrum Master, Product Owner og Teknisk arkitekt - alle i variende omfang, fluktuerende med den øvrige ressource-situation og behovet.
• Teknisk Architect, Analysefase Team 2 (3-12 medlemmer) + Team Platform (3-8 medl.)
• Scrum Master, Analysefase Team 2 (8-12 medlemmer)
• Product Owner, Analysefase Team 2 (12-15 medlemmer)
• Scrum Master, Implementations Team - Team Platform (3-8 medlemmer)
• Product Owner, Implementations Team 9 (10 medlemmer)
• Chief Scrum Master (9 teams - cirka 70 mennesker)
• Partiel Release Manager og Product Owner rolle
Teknisk bestod den færdige løsning af circa 40 microservices implementeret I Java 11 med basis i Spring Boot, deployet på en Private Cloud løsning baseret på OpenShift. Udvikling var sat op, således at alle opgaver i Jira blev løst på en Git branch (gennemsnitsligt 40-80 aktive miljøer ad gangen), som før merge blev deployet til eget, dedikeret OpenShift namespace, for afvikling af både manuelle og automatiske tests (henholdsvis readyAPI og Cucumber via BrowserStack). Størrelsesmæssigt var det en infrastruktør af en størrelse på 250 CPU cores og 3,5 TB RAM request og 1.500 CPU cores og 4.65 TB RAM limit.
Ydermere blev opsat og anvendt yderligere 10 "faste" miljøer for kvalitetsikring, sikkerhedstest og kundetest i forskellige varianter.
En meget væsentlig funktion i hele forløbet, udgjordes af samarbejde med den interne Group Technology (Operations) organisationsenhed, samt det platformsmæssige ansvar for integrationer mod eksterne parter som eksempelvis datafordeler.dk (CPR).
Kompetencer anvendt: J2EE (Java 8 & 11), Openshift (3.11), Oracle, MSSQL, ReadyAPI, Cucumber, SonarQube, oWasp, Dependency Tracker, Spring Boot, Microservices, REST, GIT, Liquibase, Flyway, IntelliJ, Eclipse, Maven, PostMAN, Jenkins, CI/CD pipelines, Jira, Scrum, Scrum-of-Scrums/Scaled Agile, BitBucket, Confluence, Umbraco, Bluecoat, ServiceNow, Firewall, PractiTest, ReadyAPI, web services.
2018-10 - 2019-05
Oprindeligt tiltænkt at indgå med rolle af "Teknisk arkitekts højre hånd" - men grundet arkitektens alvorlige sygdom, blev det reelt til rolle af "Stand-in for teknisk arkitekt".
Algoritmiske optimeringer, med tilhørende implementation af unit tests i TestNG. Fejlfinding og færdiggørelse af systemets REST baserede integration til E-boks. Fejlfinding og færdiggørelse af systemets integration til Forsikring & Pension (F&P) i forbindelse med §41 overflytning af pensioner. Fejlsøgning og fejlrettelser i forbindelse med multitrådet sessionshåndtering og login i flere applikationslag. Fejlsøgning og fejlrettelse i forbindelse med SOAP baseret integration med PensionsInfo. Fejlsøgning og fejlrettelse af WildFly opsætning i forbindelse med datababase forbindelsesproblemer forårsaget af tabte TCP-forbindelser (opgradering af MSSQL JDBC driver, både i konfiguration og kode - herunder også opdatering af Spring, Liquibase og Logback). Performance-tuning af MS SQL Server (Query Plans & indexes). Generel modernisering/migrering til Java 8+ syntaks. Optimering af anvendelse af Hibernate.
Kompetencer anvendt: J2EE (Java 8 & 11), Spring 3, Microservices, Refactoring, Single Responsibility Principle, REST, SOAP, GIT, GWT, Hibernate, Liquibase, IntelliJ, Eclipse, Gradle, TestNG, Mockito, PowerMockito, WildFly, PostMAN, Jenkins, Jira, Scrum, BitBucket, Confluence, Rally, MS SQL Server, JDBC.
2017-01 - 2018-01
Primære udfordringer: At overskue en i høj grad kompleks systemarkitektur, baseret på en meget bred "værktøjskasse" af platforme, sprog og frameworks.
Kompetencer anvendt: Java 6, JRuby, Groovy, Python, Lua, jQuery, Gradle, Spring, JAX-RS, Bash, Docker, Linux, Oracle Enterprise Service Bus (OSB/ESB), SOAP, REST, IntelliJ, Eclipse, NGINX, Weblogic, IBM Webspheree Application Server, GIT (BitBucket), Jenkins, Jira, Confluence, Puppet, HipChat, Vmware, Winscp, Kitty, Ssh, Openssl, Kibana, Elastic-Search
2015-01 - 2017-01
Primært ansvar for etablering af integrationer til fire nye kunder (forsikringsselskaber), samt intern applikations integration til norsk CPR-register. Herunder opsplitning (partiel migrering) af eksisterende Java 6 applikation til microservices i på Spring Boot under Java 8, men henblik på produktionssætning i/under Openshift (Kubernetes). Sekundært tilpasning af frontendløsning for aktindsigt til GDPR.
Kompetencer anvendt: Systemarkitektur, J2EE (Java 8 og 6), Spring Boot, Spring 3 & 4, Microservices, SOAP, REST, Jackson, OpenShift/Kubernetes, BouncyCastle, MyBatis, SSH, OpenSsl, CipherSuites, GIT, IntelliJ, Maven 3, Junit, Mockito, PowerMockito, oWasp, Jenkins, Jira, Scrum, Subversion (SVN).
2015-2017 SOS International A/S (Udvikler/arkitekt)
Ansvarlig for vedligeholdelse og videreudvikling af systemportefølje bestående af omkring 30 (primært web-) applikationer, fordelt på interne og eksterne anvendelser - sammen med et hold bestående af yderligere 7-10 udviklere og en Scrum master. I perioden eksperimenterede vi med sprints af varighed varierende fra 1 til 6 uger, og team størrelser varierende fra 2 til 10 personer. Afdelingens kernekompetence og ansvarsområde var Java udvikling, dækkende fra integration til backend og eventuelt helt frem til afvikling af applikationer i browsere.
Den agile process håndteredes værktøjsmæssigt i Jira. Der blev arbejdet aktivt med unittests (JUnit), og Jenkins stod for continuous integration. På dagsordenen i perioden var et projekt med sigte på Continuous Deployment, som desværre ikke blev prioriteret til færdiggørelse.
Konkret ansvarlig for integration mellem systemer, såvel interne som eksterne - både standardsystemer og kundespecifikke løsninger. Herunder løbende afstemninger i forhold til arkitektur samt dokumentation af integrationernes komponenter, med henblik på efterfølgende dialog og vedligeholdelse.
Integrationer eksternt gik primært til/fra danske, norske, islandske og finske banker/betalingskortudstedere og forsikringsselskaber - men herudover også til de respektive landes CPR og Motor-registrere (DMR i danmark). Snitfladerne i integrationerne var primært SOAP-baserede webservices, der mere eller mindre alle var krypterede (på den ene aller anden måde) - andre var REST/JSON baserede, eller funderet på "specifikke XML-formater".
Primus motor på udvikling af GWT-baseret applikation til håndtering af skadesanmeldelser, med direkte formidling fra anmeldere til sagsbehandlere, gennem AS/400 baseret backend. Herunder afklaring med forretningen omkring processer, krav og ønsker, idet der var tale om et system til afløsning af hidtidigt manuelle arbejdsgange. Løsningen er forberedt til benyttelse af NemID via Signicat (som også benyttet i andre af kundens løsninger) - men dette nåede ikke punktet for forretningsmæssig afklaring. Løsningen var igennem flere iterationer med mellemliggende brugertests, i forhold til at sikre en effektiv afvikling hos såvel interne som eksterne brugere.
Primus motor for planlægning af process for sikkerhedsopfølgning samt implementation af tiltag i forhold til tilstanden af systemporteføjlen, som rapporteret af oWASP Dependency Checker modulet i Jenkins - både i forhold til opsamling af "nuværende tilstand" og også i forhold til håndtering af fremtidige advarsler.
Kompetencer anvendt: Systemarkitektur, J2EE (Java 6 og 8), GWT, GIT, Subversion (SVN), IntelliJ, Maven 2 & 3, Struts 1 & 2, Spring 2-4, MyBatis, Junit, Mockito, PowerMockito, SOAP, oWasp, Jenkins, Jira, Scrum, Javascript, jQuery, CSS, HTML5, Regular Expressions, DB2.
2017-01 - 2017-01
2016 Software Design Patterns (Teknologisk Institut)
2014-01 - 2015-01
Indsatsen lagt i forbindelse med organisationens projekter med overskriften "Konsolidering", der beskæftiger sig med at højne og ensrette de tekniske grundlag for de cirka 70-80 interne applikationer, der gennem tiden er udviklet og i dag driftes.
Migreringsprojekt (team lead og udvikler): Omskrivning af eksisterende APEX baseret applikation til ny platform og arkitektur, med en backend baseret på C# og Web API 2 og frontend baseret på AngularJS.
Migreringsprojekt (team lead og udvikler): Løft af eksisterende .NET 1.1 applikation til .NET 4.0, samt minimering af teknisk gæld i forhold til fagligt niveau i implementationen (ændring af arkitektur og eleminering af sikkerhedsproblemer).
Driftsprojekt (udvikler): En eksisterende VBA applikation baseret på kombinationer af MS Access, Word og Excel var i akut behov (lovmæssige ændringer) for at blive tilpasset - men der var hverken in-house kompetencer i teknologierne eller viden om konstruktionen, hvilket førte til et omfattende detektivarbejde. I lyset af den dermed opståede indsigt og erfaring, genvurderes i skrivende stund, om applikationen skal gøres genstand for konsolidering og dermed migrering til de den tekniske platform organisationen understøtter.
Kompetencer anvendt: Systemarkitekt, Teknisk team lead, .NET, C#, CSS3, jQuery, Angular.JS, Javascript, VBA, MVC, APEX, Web API 2, Entity Framework, Oracle Database, MS SQL Server, Stored Procedures, MS Excel, MS Word, MS Access, Jira, Scrum, MS Team Foundation Server (TFS), analyse, design, implementation.
2014-01 - 2014-01
2013-01 - 2014-01
Perioden afsluttedes med overdragelse til Accenture, idet Tryg gik bort fra den offshoring man havde gennemført til TCS, til fordel at outsource hele IT-afdelingen til Accenture.
Kompetencer anvendt: Team lead, Java/J2EE, Struts, Spring, HTML4/5, Javascript, jQuery, Prototype, CSS2/3, Weblogic Web Server, Oracle Service Bus (OSB/ESB), SOAP, REST, JSON, Jenkins, Xmlspy, SoapUI, Jira, SVN, CVS, CMS (Tridion SDL) , analyse, design, implementation.
2012-01 - 2013-01
Det digitale KommuneAtlas indeholder nøgletal om det danske vejnet og giver alle interesserede mulighed for at danne egne faktakort og trække data inden for udvalgte temaer.
Faktakortene viser med farvemarkeringer, hvordan de enkelte kommuner ligger i forhold til hinanden inden for foruddefinerede intervaller. Kortet er desuden klikbart og viser de specifikke talværdier for de valgte kommuner. Kortene kan dannes inden for en række vej- og trafikfaglige temaer, som strækker sig over grunddata for indbyggertal, areal, antal husstande, indkomst, m.v. til mere specifikke data om eksempelvis transportvaner, tilstanden for belægninger samt tilstanden for de danske broer.
I første version af KommuneAtlas baserer oplysningerne sig primært på data fra Danmarks Statistik og Vejdirektoratet. I senere versioner forventes det at indarbejde yderligere data indhentet fra kommunerne.
Formålet med det digitale KommuneAtlas er at give et helhedsorienteret billede af vejnettet. Det nye digitale KommuneAtlas findes på adressen kommuneatlas.samkom.dk
Kompetencer anvendt: Teknisk projektleder, PHP, Java/J2EE, jQuery, REST, JSON, Apache Webserver, Tomcat Webserver, HTML5, SVG, analyse, design, implementation, MySQL, Oracle
2012-01 - 2013-01
Projektet er dermed, at udstille de systemarkitekturer der er defineret i Enterprise Architect i et browser-baseret format, samt at integrere løsningen i de eksisterende kunde- og leverandørsystemer.
Kompetencer anvendt: Systemarkitektur, Enterprise Architect, HTML5, jQuery, Javascript, analyse, design, implementation
2007-01 - 2012-01
Migrering af site og applikation fra egenudviklet CMS baseret på Lotus Notes til Tridion SDL.
Indførsel af Struts2 og Spring i forbindelse med implementation af e-handelsløsning.
Derudover har været gennemført en gennemgribende sanering af kodebasen vedrørende selvbetjeningssystemerne på tryg.dk, både i forhold til erhvervs- og private brugere. Målet har været at reducere mængden af redudant kode, samt at tilsikre at der er en ensarthed i kodestil, der gør det muligt at gennemføre en effektiv afprøvning.
I forbindelse med samarbejdet med Tryg Forsikring er anvendt BEA Weblogic som webserver, Elicpse som udviklingsmiljø og J2EE som sprog. Den benyttede arktektur er baseret på en kombination af Struts (1+2) og Spring, med anvendelse af kommunikation til middleware i en række forskellige formater, herunder både REST og SOAP-baseret. Kodebasen tilpasses løbende, i forbindelse med den strategiske implementation af ESB (Enterprise Service Bus) i organisationen.
Set fra klientsiden er både jQuery og Prototype anvendt - førstnævnte indført senest, i forbindelse med koncernens internationale migrering af platform til CMS-systemet Tridion SDL.
Kompetencer anvendt: Java/J2EE, Struts, Spring, HTML4/5, Javascript, jQuery, Prototype, CSS2/3, Weblogic Web Server, Oracle Service Bus (OSB/ESB), SOAP, REST, JSON, Jenkins, Xmlspy, SoapUI, Jira, SVN, CVS, CMS (Tridion SDL) , analyse, design, implementation
2010-01 - 2010-01
2005-01 - 2009-01
2006-01 - 2007-01
Som systemudvikler på projektet, har opgaverne både omfattet analyse og design af arkitektur samt implementation. De anvendte teknologier inkluderer Java med Oracle Jdeveloper, web services, Apache Struts, Ajax, ADF, Oracle Internet Application Server og Oracle Database, såvel som struktureret javascript programmering.
2003-01 - 2005-01
2004-01 - 2005-01
I forbindelse med projektet har været deltaget I både analyse, design og implementation af systemet, med anvendelse af i høj grad evolutionær tilgang til både analyse og implementation.
Teknisk er belægningsoptimering baseret på en Model-View-Controler arkitektur, udviklet i Java med Oracle Jdeveloper og baseret på et Apache Struts Framework.
Projektet er aktuelt I vedligeholdelsestilstand.
2005-01 - 2005-01
2001-01 - 2003-01
I forbindelse med udviklingen, har været deltaget i analyse og design af arkitekturen, herunder de XML Schema'er web servicen kommunikerer efter, inklusive den efterfølgende OIOXML standardisering af samme. Desuden er klienten for entreprenørerne implement eret, under anvendelse af Visual Basic Script (ASP), med et modellag i Windows Scripting Components (WSC).
Projektet er aktuelt i drifts-/vedligeholdelsestilstand.
1997-01 - 2001-01
Kurser og certificeringer
2000-01 - 2000-01
Akademisk bakgrund
1997-01 - 1999-01