CV: Tim Mølgaard Madsen, Software Ingeniør, tim@datamadsen.dk Baggrund Som softwareingeniør (Cand.polyt. ved Aalborg Universitet) har Tim specialiseret sig i at bygge både nye selvstændige systemer samt systemer til integration af data mellem allerede eksisterende systemer. Tim er uddannet i mange programmeringsteknologier og udviklingsmetoder og er en problemknuser med en løsningsorienteret tankegang. Tim sætter en ære i veludført arbejde, arbejder selvstændigt med drive og entusiasme, og er hurtig til at opnå detaljeret viden omkring både forretningsområder og teknologier han beskæftiger sig med. Relevant erhvervserfaring KMD / oktober 2014 - juli 2015 HTML(5), JavaScript, CSS(3), bootstrap, jquery, RequireJS, C#,.NET, ASP.NET MVC, Unit Testing, NUnit, SAP integration, Borger.dk. Ekstern konsulent hos KMDs Borgernære Softwareløsninger. Udvikling af en borgervendt selvbetjeningsløsning, som gør det muligt at ansøge om godtgørelse for transportudgifter pådraget i forbindelse med lægebesøg, genoptræning, osv. Kun borgere som opfylder visse kriterier (f.eks. borgere med varigt handicap) kan få godtgjort udgifter. Udvikling af domænemodeller i C#/.NET som bl.a. understøtter valideringer involveret i ansøgningsprocessen. Udvikling af frontend i html5, css, and javascript. Frontenden gør det bl.a. muligt at dokumentere udgifter vha. kamera i telefon eller computer. Funktionaliteten er kompatibel med Internet Explorer 8 og bedre. Udvikling af C#/.NET backend integrationer med SAP, som er det system kommunernes sagsbehandler behandler ansøgninger i. Integration med borger.dk og NemID. Har yderligere fungeret som buddy og mentor for nyansat KMD medarbejder. Mailreminder.net / juli 2014 -? HTML(5), JavaScript, Backbone, CSS(3), underscore, jquery, RequireJS, grunt, gulp, Live reload, FreeBSD, Node.js, Express, MongoDB, PostgreSQL, SSL, Dovecot, NGINX, supervisord, tdd. Mailreminder.net er en service, som gør det nemt for dens brugere at blive mindet om en given mail på et givet tidspunkt uden at servicen på noget tidspunkt ser mailens indhold - privacy er i højsædet.
Backenden består af: 1. Et REST API, skrevet i JavaScript vha. Node.js, Express og MongoDB. API et sender or modtager JSON strukturer. 2. En Mail Transfer Agent, i form af postfix, og IMAP server, i form af Dovecot, som er konfigureret med konti defineret i en PostgreSQL database. Frontenden består af: 1. En Single Page Application, skrevet i JavaScript, i MVC/MVT mønstret vha. Backbone.js, underscore.js, RequireJs, og underscore.js templates. 2. Styling i form af SASS, som bliver kompileret til CSS. 3. Build scripts, som minifier/uglifier, optimerer png er mv., samt gør det muligt at se ændringer på hvert gem til filer. Alle services krævet for at køre mailreminder.net afvikles på FreeBSD 10. NHL Data / juni 2014 - juli 2014 HTML(5), CSS(3), JavaScript, Backbone, underscore, jquery, requirejs, grunt, Live reload, C#.NET webservices, Scrum. Ekstern konsulent hos NHL Data. Rådgivning omkring strukturering af JavaScript applikation til et af NHLs nye produkter. Udvikling af skeletapplikation i MVC/MVT mønster vha. Backbone.js, underscore.js, jquery, og RequireJS. Udvikling af underscore templates. Udvikling af integration med C#/.NET backend vha. JSON strukturer. Danske Bank / august 2013 - maj 2014 C#,.NET, ASP.NET, HTML, CSS, JS (jquery, Backbone og underscore), Live reload, Unit test, integration til mainframe, Scrum. Ekstern konsulent hos Danske Bank Credit Management. Udvikling af web applikation til nyt impairment system, hvor sagsbehandlere kan opstille en række scenarier for mulige udfald af eksempelvis en kundes konkurs og deres konsekvenser for banken. Udvikling af frontend i HTML, CSS, og JavaScript som kommunikerer med en C#/.NET backend vha. AJAX. I frontenden er det muligt for sagsbehandlere at indtaste forventede tab på bl.a. en række konti og lån under visse omstændigheder (scenarier) og samtidig se de samlede konsekvenser for banken. For at gøre brugeroplevelsen så gnidningsfri som muligt har Tim gjort brug af en række frontend frameworks (jquery, Backbone, Underscore og flere). Udvikling af en C#/.NET backend applikation som kommunikerer med frontend og en række mainframe programmer vha. webservices for bl.a.
at gøre det muligt, i takt med indtastning, at vise sagsbehandleren økonomiske konsekvenser for banken ved en kundes konkurs. Udvikling af integrationer til dokumentgenerering på baggrund af indtastede oplysninger. Dokumenter anvendes i forbindelse med ledelsesrapportering og bogføring. Specificering af webservices som skal udstilles af mainframe for at opfylde Danske Banks krav til en flydende brugeroplevelse. Specificering af opgaver til Indisk udvikler, som har arbejdet på en anden del af brugergrænsefladen. Teknisk dokumentation af hele stakken: C#/.NET, HTML, CSS, JavaScript, webservices, og integration til mainframe. Edlund / februar 2013 - august 2013 C#,.NET, T-SQL, WPF, Reflection, NUnit, Unit test, TDD, Remoting, Scrum. Design og udvikling af reguleringsforsikringer til INPAS, Edlunds standardsystem til skadesforsirking. Analyse, design, og udvikling / rettelser til INPAS webservices, som bruges i forbindelse med konvertering. Udvikling af datamodel som er grundlaget for reguleringsforsikringer i C#/.NET, T-SQL,.NET remoting, samt WPF. Reguleringsforsikringer anvendes bl.a. af virksomheder med en svingende lagerbeholdning, hvorfor deres præmie skal reguleres løbende. Analyse, design, og udvikling af webservices (og rettelser til webservices) som bruges i forbindelse med konvertering i C#/.NET. Edlund skulle konvertere 7 nye skadesforsikringskunder over i INPAS - kunderne kom fra i alt 3 forskellige systemer. Analyse, design og specifikation af opgaver til Srilankansk udviklingsteam med efterfølgende test af det leverede. Test af både reguleringsforsikringer og konverteringssoftware vha. unit testing og integrationstest. Teknisk dokumentation af reguleringsforsikringer. Boligkontoret Danmark / februar 2012 - februar 2013 C#,.NET, T-SQL, ASP.NET, HTML, CSS, JS, SharePoint, NLB Konsulent hos Netcompany: Analyse, design, udvikling af ESDH system til BDK som har udvidet opgavestyring og integration til bestyrelses- og selvbetjeningsportaler.
Udvikling af konverteringsværktøjer i C#/.NET til brug for konvertering af afdelinger, opnoterede, lejere, og andre interessenter. Udvikling af SharePoint webparts i HTML, CSS, JS og ASP.NET. Integration af ERP data i SharePoint som anvendes i forbindelse med sags- og dokument taksonomi samt opgavetildeling. Dimensionering og opsætning af server infrastruktur til test- og produktionsmiljøer med MS SQL servere, SharePoint servere og loadbalancing. Undervisning af ca. 30 både tekniske og forretningsorienterede nøglepersoner i produktets funktioner og anvendelse med henblik på forankring i organisationen. Københavns Almennyttige Boligselskab / januar 2012 - februar 2013 C#,.NET, T-SQL, ASP.NET, HTML, CSS, JS, SharePoint, NLB Konsulent hos Netcompany: Analyse, design, udvikling af ESDH system til KAB som bla. integrerer med KABs Oracle ERP system og selvbetjeningsportaler. KAB er en non-profit boligorganisation som varetager driften af ca. 1000 boligafdelinger fordelt på ca. 500 boligselskaber, som huser omkring 50.000 lejere og deres familier. Udvikling af integration til Oracle ERP system i C#/.NET vha. webservices. Integration af systemets oplysninger i SharePoint, hvor de er tilgængelige i forbindelse med bl.a. sags- og dokument taksonomi. Udvikling af opgavesystem i C#/.NET og SharePoint, hvor opgaveskabeloner definerer hvilken rolle en given opgave skal tildeles. ERP oplysninger anvendes til at bestemme hvilken person, der opfylder hvilken rolle i en given boligafdeling. Udvikling af SharePoint webparts i HTML, CSS, JavaScript, og ASP.NET, hvor det bl.a. er muligt at se en rollebesætning for en given afdeling. Udvikling af integrationer til KABs selvbetjeningsportaler, hvor det bl.a. er muligt at få leveret post elektronisk i forbindelse med bestyrelsesarbejde. Dimensionering og opsætning af server infrastruktur til test- og produktionsmiljøer med MS SQL servere, SharePoint servere og loadbalancing. Danmarks Almennyttige Boligselskab / oktober 2011 - januar 2012 C#,.NET, T-SQL, ASP.NET, HTML, CSS, JS, SharePoint Konsulent hos Netcompany: DAB har i forlængelse af deres ESDH implementering
ønsket at fremme samarbejdet for medlemmer af deres afdelings- og selskabsbestyrelser. Ønsket er realiseret ved en SharePoint portal, hvor bestyrelser kan logge ind med NemID og samarbejde på projekter. DAB anvender bl.a. også portalen til at publicere breve til bestyrelser en funktion der sparer ca. 1 million kroner i porto, årligt. Udvikling af integrationer til økonomisystem i C#/.NET vha. webservices, for bl.a. at gøre det muligt for bestyrelsesmedlemmer at gennemse kontiposteringer. Udvikling af brugergrænseflade til visning af kontiposteringer i HTML, CSS, JavaScript og ASP.NET. Udvikling af værktøjer til oprettelse af "bestyrelsesrum" som opfylder fortroligshedskrav om at DAB ikke må have adgang til bestyrelsens dokumenter og sager. Oplæring af 3 nye medarbejdere i tekniske aspekter af produktet. DAHL Advokater / august 2011 - oktober 2011 C#,.NET, T-SQL, ASP.NET, HTML, CSS, JS, SharePoint Konsulent hos Netcompany: DAHL Advokater er et af Danmarks største advokatfirmaer med ca. 200 medarbejdere. DAHL har i samarbejde med EG Data Inform udarbejdet en vision for DAHLs fremtidige ESDH system. Tim har ud fra en kravspecifikation udarbejdet prototype og løsningsbeskrivelse på det beskrevne system for at sparke projektet i gang. Udvikling af prototype med proof of concept integrationer til Navision system i C#/.NET. Specificering af udviklingsopgaver, som er uddelegeret til Senior Developer, der har spurgt Tim til råds undervejs i forløbet i forbindelse med C#/.NET, HTML, CSS, JavaScript og SharePoint. Undervisning af ca. 20 personer i den udviklede prototype for at synliggøre systemets funktioner og anvendelse. ACCURA / juni 2011 - juni 2011 C#,.NET, T-SQL, HTML, CSS, JS, SharePoint Konsulent hos Netcompany: ACCURA rådgiver en lang række store nationale og multinationale erhvervskunder, finansielle institutioner, private equity-fonde, statsejede investeringsfonde, forsyningsselskaber, offentlige myndigheder, regeringer samt succesrige private selskaber, deres ejere og visse personer med
stor nettoformue. ACCURA har en ESDH løsning som håndterer viden genereret ved rådgivningen. Efter idriftsættelse af ACCURAs ESDH løsning opstod behov for diverse tilpasninger, som Tim har designet, og udviklet. Projektets udviklere faldt bagud i forhold til planen og Tims hovedfunktion på projektet bestod i at indhente tabt tid for at imødekomme aftalt deadline. Dansk Almennyttigt Boligselskab / oktober 2010 - oktober 2011 C#,.NET, T-SQL, HTML, CSS, JS, SharePoint Konsulent hos Netcompany: DAB er en non-profit boligorganisation, som varetager driften af ca. 100 boligselskaber med ca. 1.000 afdelinger, der huser ca. 150.000 lejere og deres familier. Tim har været drivkraften i udviklingen af GO Bolig; en overbygning til GetOrganized ESDH-systemet, som gør det muligt for DAB at behandle sager billigere og hurtigere med bedre service for de mange afdelinger og beboere. Tilvejebringelse af krav gennem en række workshops, hvor Tim bl.a. har stået for udarbejdelse af præsentationsmateriale og mødereferater. Udvikling af integrationer til ERP system i C#/.NET, der leverer oplysninger til brug i forbindelse med bl.a. sags- og dokument taksonomi. Specificering, udvikling og test af opgavetildelingssystem i C#/.NET, som gør det muligt at tildele opgaver på sagsgange for boligafdelingers rollebesætning. Udvikling af webparts til SharePoint i HTML, CSS, JavaScript og ASP.NET, hvor det bl.a. er muligt at få overblik over rollebesætning for en given boligafdeling. Udvikling af værktøj til konvertering af afdelinger, opnoterede, medlemmer, og lejere i C#/.NET. Systemet er forholdsvist kompleks og har presset SharePoint til grænserne, hvorfor Tim har stået for identificering og rettelser på svært identificerbare problemer i SharePoint. Dimensionering og opsætning af server infrastruktur til test- og produktionsmiljøer med MS SQL servere, SharePoint servere og load balancing. Aalborg Universitet / juli 2008 - august 2008 Python, HTTP, XML Aalborg universitet ønskede en prototype på styring af Home Automation Systemer
vha. bl.a. en telefons GPS placering. I 2008 var Home Automation Systemer ikke en ting man styrede vha. et touch interface hvis det foregik på telefonen var det vha. gammeldags sms som regel foregik det vha. fjernbetjeninger. Tim udarbejdede et REST API, som udstillede et indkøbt home automation systems funktionaliteter. Arbejdet blev et startsted for Tims speciale i programmeringsteknologier og indlejrede systemer på universitetet. Uddannelse Periode Titel 2008-2010 Cand.Polyt. i Software (softwareingeniør), Aalborg Universitet. Speciale i programmeringsteknologier og indlejrede systemer. 2004-2008 BSc i Teknisk Videnskab, Software, Aalborg Universitet. 2000-2003 HTX, Struer. Anden erhvervserfaring Periode Beskæftigelse 2004-2005 Værnepligtig ved ingeniørtropper på Skive kaserne, PMV kører. Programmering C#, HTML, CSS, JavaScript, (T)-SQL, Python, Objective-C. Herunder et væld af frameworks og teknologier, for eksempel:.net / ASP.NET(MVC), SharePoint, Backbone, underscore, jquery, node.js, web.py, Flask, og Cocoa Touch. Tim interesserer sig generelt for nye sprog og andre programmeringsteknologier og lærer hurtigt nyt efterhånden som det er krævet. Sprog Dansk og engelsk flydende. Kompetenceskema Kategori Kompentence Niveau Antal år Senest anvendt Arbejdsområde Agile metoder Rutineret 5 2015 Arbejdsområde Arkitektur Meget rutineret 5 2015 Arbejdsområde Backend Meget rutineret 5 2015
Arbejdsområde Brugergrænsefladeudvikling Ekspert 5 2015 Arbejdsområde Dokumentation Ekspert 5 2015 Arbejdsområde ESDH (Elektronisk sags og dokumenthåndtering) Meget rutineret 3 2013 Arbejdsområde Forretningsdialog og workshops Meget rutineret 5 2015 Arbejdsområde Frontend Ekspert 5 2015 Arbejdsområde Implementering Rutineret 5 2015 Arbejdsområde Konvertering Meget rutineret 4 2014 Arbejdsområde Kravspecifikation Rutineret 5 2015 Arbejdsområde OOA (Object Oriented Analysis) Rutineret 5 2015 Arbejdsområde OOD (Object Oriented Design) Meget rutineret 5 2015 Arbejdsområde OOP (Object Oriented Programming) Meget rutineret 5 2015 Arbejdsområde Programmering Ekspert 5 2015 Arbejdsområde Scrum Rutineret 5 2015 Arbejdsområde Systemanalyse Meget rutineret 5 2015 Arbejdsområde Systemdesign Meget rutineret 5 2015 Arbejdsområde Systemudvikling Ekspert 5 2015 Arbejdsområde Udviklingsmetoder Meget rutineret 5 2015 Arbejdsområde Web services Meget rutineret 5 2015 Arbejdsområde Webudvikling Ekspert 5 2015 Sprog C# Ekspert 5 2015 Sprog CSS Ekspert 5 2015 Sprog HTML Ekspert 5 2015 Sprog JavaScript Ekspert 5 2015 Sprog Python Rutineret 1 2012 Sprog SQL Rutineret 4 2014 Sprog Transact SQL Rutineret 4 2014 Teknologi.NET Ekspert 5 2015 Teknologi Ajax Ekspert 5 2015 Teknologi ASP.NET Meget rutineret 5 2015
Teknologi LINQ Meget rutineret 4 2014 Teknologi Skade.Net (Edlund) Rutineret 1 2014 Teknologi Windows Communication Foundation Rutineret 2 2015 Teknologi XML Meget rutineret 5 2015 Teknologi Web Ekspert 5 2015 Teknologi Web services Ekspert 5 2015 Teknologi SharePoint 2010 (udvikling af webparts, timerjobs, event handlers mm.) Ekspert 3 2013 Teknologi REST Meget rutineret 3 2015 Udv. værktøj Microsoft SQL Server Rutineret 3 2014 Udv. værktøj Microsoft SQL Server 2008 Rutineret 3 2014 Udv. værktøj Backbone.js Ekspert 2 2014 Udv. værktøj Bootstrap Rutineret 3 2015 Udv. værktøj Gruntjs Rutineret 1 2015 Udv. værktøj jquery Ekspert 5 2015 Udv. værktøj Microsoft Visual Studio Ekspert 5 2015 Udv. værktøj Node.js Rutineret 2 2015 Udv. værktøj Nunit Meget rutineret 3 2015 Udv. værktøj Require.js Meget rutineret 2 2015 Udv. værktøj underscore.js Ekspert 2 2015 Udv. værktøj SharePoint 2010 (installation, drift, load balancing, mm.) Ekspert 3 2013 Udv. værktøj SVN, Git, TFS Meget rutineret 5 2015 Udv. værktøj Gemini Godt kendskab 1 2014