Kvalitetsbevidst freelance udvikler

billede af Kenneth

Kenneth Holm Nielsen
in english
26 år
+45 27858071
kennethhn@gmail.com
hjemmeside

Personprofil

Overholdelse af deadlines, stilren kode og gennemtænkt implementation er kendetegnende for mine løsninger, hvortil jeg gerne anvender et udvalg af teknologier.

Kvaliteten af arbejdet er min topprioritet. Produktet der leveres skal være solidt og kunne vedligeholdes. I den forbindelse har jeg beskæftiget mig meget med test-driven development. Et produkt der tager udgangspunkt i krav skal også tage udgangspunkt i en veldefineret test.

Jeg betragter altid opgaven fra kundens perspektiv, hvorfor mine løsninger ofte er pragmatiske og derfor nemme at 'sælge'.

Mit kendskab til en bred vifte af teknologier gør mig i stand til at træffe velfunderede valg. Min holdning er at et valg eller fravalg altid skal begrundes.

Erfaring

April 2010 - Freelance Frontend Architect - Maersk Line

Strategien for Maersk Line er at lave en ny web grænseflade, der skal revolutionere hvordan den traditionelle rederiforretning imødekommer sine kunder.

Dertil havde de brug for en arkitekt til at forme et framework som er helt fremme i webudvikling.

Berørte områder er jQuery, CSS, XHTML, Crossbowser problematikker, WCAG, Selenium, J2EE, WebLogic.

Sep 2009 - April 2010 Freelance developer - Berlingske Media

Her blev jeg ansat til at lave frontend infrastruktur og performance optimering på eksisterende sites.

Som det første optimerede jeg javascript på BT.dk frontend, hvor jeg reducerede CPU forbrug på forsiden med 75%, hvis man ser bort fra elementer Berlingske ikke kan kontrollere.

Jeg var med til at relancere Business.dk, primært havde jeg ansvar for frontend, med en stram deadline.

Sideløbende udviklede jeg et tværgående Javascript framework for at facilitere visionen om at have genbrugelige og ens komponenter på tværs af Berlingske sites.

Hovedsagligt har jeg arbejdet med jQuery, JSON, PHP, Drupal, CSS, HTML og Crossbrowser problematikker.

Jul 2008 - April 2010 Freelance developer - Odense Kommune KompetenceCenter IT

Her udviklede jeg en bitemporal organisations database med en ren JavaScript frontend. Løsningen blev udviklet sideløbende med en national standardisering af offentlig organisatoriske data, som jeg deltog i.

For Odense kommune betyder det at de har kontrol over deres organisatoriske data og dermed store fordele i planlægning og administration.

Derudover har jeg udviklet et servicelag, der gør data i datawarehouse til rådighed for resten af organisationen. En specifik løsning leverer opdateringer på sager i et RSS feed til sagsbehandlerne, som de kan se direkte i deres Notes klient.

Den valgte løsning er en kombination af en Java backend, AXIS for webservices og en GUI i ren JavaScript baseret på jQuery kørende på WebSphere og Tomcat. MySQL er brugt som persistens mekanisme.

Apr 2008 - Jul 2008 Freelance developer - CSC

CSC spurgte BEA om hjælp til at hjælpe med at færdiggøre portal delen af en levering til Skat. Jeg blev således subcontracted igennem BEA til at hjælpe med både at implementere leverancen, men også at kvalitetssikre den.

De involverede teknologier er: WebLogic Portal, Beehive NetUI, J2EE, Selenium

Sep 2007 - Mar 2008 Freelance developer - TDC

Opgaven var at migrere selvbetjeningsportalen fra en Struts applikation i Tomcat til en implementation i portletter i en BEA WebLogic portal server. Mit primære arbejde var med portletter og business layer. Frameworket vi udviklede var meget ambitiøst og løste nogle af de store problemer der ofte følger med en portal, problemer som frem/tilbage, bookmarkability og separation af business og udvikling. Jeg har arbejdet med Canoo WebTest og Selenium til at køre regressionstest på portalen.

De involverede teknologier var: WebLogic Portal, Beehive NetUi, J2EE

Apr 2007 - Sep 2007 Application Developer - eSoft Systems

Ved eSoft blev jeg ansat til at udvikle et nyt system, der skulle lette arbejdsgangen for deres booking afdeling og billedebehandlere bosat i Vietnam. Her deltog jeg fra starten af som arkitekt. Projektmodellen var baseret på SCRUM og Test-Driven development, dvs. korte iterationer og stor produktivitet.

Løsningen reducerede den tid det tog at behandle opgaver og således en forbedret service.

De mest fremtrædende teknologier var Eclipse RCP, CVS og Java samt PHP og MySql.

Nov 2006 - Apr 2007 QA Software Developer - APC

På APC havde jeg til opgave at sikre kvaliteten af deres seneste software projekt 'Capacity and Change Management'. Opgaven blev til dels løst ved en automatisk testplatform til regression tests og manuelle tests.

Den automatiske regressionstest betyder at iterationerne kan holdes kortere med højere kvalitet.

Projektmodellen var SCRUM og de korte sprints satte store krav til kvalitetssikring.

De mest fremtrædende teknologier var Eclipse RCP, Java og SVN.

Jan 2005 - Nov 2006 Systemkonstruktør - Bankdata

Efter at have arbejdet de første 4-5 måneder med mainframe systemer og COBOL, var der et behov for portlet-udviklere på bankdata, og jeg tog chancen.

Med COBOL programmeringen var fokus mest på at optimere data udvekslingen med DB2.

På portalen var jeg med til at udvikle en standard måde at lave work-flow portletter på Bankdata. En fornuftig abstraktion gjorde at vi drastisk kunne reducere udviklingstiden. Jeg advokerede desuden brugen af AJAX for at optimere performance på brugergrænsefladen.

I det SOA lag Bankdata var ved at opbygge på det tidspunkt, lavede jeg forslag til løsningen på commitscope problemet og forbedrede opdelingen af services med fokus på genbrug.

På Bankdata deltog jeg i et tvær-organisatorisk teknisk forum til diskussion af arkitektur. Her foreslog jeg blandt andet en semantisk opdeling af CSS fremfor en syntaktisk, som var standarden. Her præsenterede jeg også flere af de komponenter jeg havde udviklet til brug i resten af organisationen

De anvendte teknologier er J2EE, EJB, SOAP, WebSphere Portal Server, Java og Struts. I mindre grad COBOL og DB2.

Jan 2008 - Jul 2009 cofounder - Axacam

Axacam er en online tjeneste der tillader overvågning direkte fra webcam tilkoblet en pc/mac.

Løsningen er ren online uden krav til installation. Pga. de mange integrationer, screensaver til både Mac og PC, Youtube, Flash Server, involverer udvikling af denne kendskab til en masse teknologier.

Kernen består af flere Django applikationer, udviklet med en løs arkitektur, valideret af en flere hundrede unit tests.

Frontend er meget JavaScript tung, baseret på jQuery. Et semantisk opbygget HTML og CSS sørger for at udseendet er nemt at ændre.

Involverede teknologier Python, Django, JavaScript, JSON, jQuery og UNIX. I mindre grad Ojective C, C#, Mono og Flash.

Uddannelse

2002-2004 Datamatiker Studerende på Tietgenskolen Odense

1999-2002 HTX

Kompetencer

Arbejdsområde

Område Erfaring Beskrivelse
Agile programmering4 årSiden jeg blev undervist i XP på datamatiker studiet har jeg udviklet mine agile kompetencer, men tog dem for alvor først i brug da jeg begyndte på web udvikling.
Scrum3 årAf agile metoder er det hovedsagligt Scrum jeg har arbejdet med.
Automatiseret test3 årSom en af de vigtigste redskaber i Scrum, testdriven, har jeg fokuseret meget på at lave automatiske tests.
Testdrevet udvikling3 årAutomatiske tests er en af de vigtigste redskaber til at sikre kvalitet. Derfor har jeg fokuseret meget på dette område.
Web udvikling5 årUdfra mine kompetencer kan det aflæses at mit absolutte speciale ligger indenfor web udvikling.

Programmering

Område Erfaring Beskrivelse
Java5 årJava er det sprog jeg har beskæftiget mig allermest med. Jeg har udviklet alt fra distribuerede Swing-applikationer til større J2EE-projekter.
J2EE4 årHovedsagligt har jeg beskæftiget mig med J2EE applikationer og er således meget erfaren på det område
WebSphere4 årWebSphere servere har jeg både administreret og været udvikler på.
WebLogic4 årIndenfor WebLogic har jeg arbejdet mest med WebLogic Portal Server, men er også ret vant til deployment og anden administration.
Portletudvikling4 årAf portletter varierer min erfaring fra små forespørgende portletter til portletter med store komplekse workflows. Jeg har udviklet portletter både til WebLogic og WebSphere
MVC frameworks4 årIndenfor de større J2EE applikationer, jeg har været med til at udvikle, har jeg erfaring med diverse MVC frameworks som Struts, JSF og NetUI. Derudover også Wicket, som er blevet mit foretrukne.
Python2 årPython har jeg brugt til webudvikling + småopgaver.
JavaScript4 årJeg har stor erfaring med JavaScript og relaterede teknologier som AJAX og JSON. Indenfor frameworks har jeg mest erfaring med jQuery
jQuery2 årjQuery er det framework jeg anvender konstant ved JavaScript udvikling, når det er til rådighed. Jeg har udviklet mange plugins hertil og anvender det generelt som basis for mine komponenter.
Drupal1 årJeg har en begrænset indsigt og erfaring med Drupal. Af forskellige Drupal aspekter har jeg mest erfaring med theming, men har dog også lavet moduler.
CSS4 årCSS bliver betragtet som en mindre ting ved Web applikationer, men i moderne web applikationer er forståelse for CSS selectors afgørende, når der skal designes et overskueligt og effektivt HTML dokument.
HTML4 årAf teknologier til webudvikling kender jeg selvfølgelig HTML. Jeg holder mig helst til Strict XHTML.
JUnit, JMock4 årJeg har fået stor kendskab til disse frameworks ved at køre testdriven development.
COBOL1 årJeg har skrevet moduler af forskellige størrelser på Bankdata. Det er ikke min stærkeste side, men jeg behersker sproget.
SQL4 årSQL har jeg anvendt til alle former for manipulation af databaser i mit arbejde med DB2 på Bankdata og i mit arbejde med eSoft's business layer. Jeg har lavet datawarehouse funktionalitet og større forespørgsler til oprydning og udtræk.
Django1 årDet progressive framework har jeg anvendt til at udvikle flere web applikationer.
XML, XSL, XPATH4 årJeg har anvendt XML til mange formål, bl.a. til webservices i J2EE applikationer. Derudover har jeg arbejdet med XSL til manipulering af XML med brug af XPATH.
PHP2 årJeg har anvendt PHP mest ved eSoft, men ellers blot til mindre scripts og tilrettelse.

Applikationer

Område Erfaring Beskrivelse
Eclipse4 årEclipse er det IDE jeg anvender. På APC og eSoft har jeg udviklet plugins i Eclipse RCP, hvilket har givet mig et indgående kendskab til platformen. Derudover har jeg anvendt mange forskellige plugins til Eclipse.
Aptana2 årAptana er det Eclipse build jeg anvender oftest til generel webudvikling og PHP.
RAD - Rational application developer2 årIndenfor WebSphere er det dette værktøj jeg har udviklet applikationer i.
BEA WorkShop3 årBEA's workshop er et udemærket værktøj, men man skal have noget erfaring med det for at udnytte dets fulde potentiale.
Selenium1 årJeg har brugt selenium intensivt til test af web applikationer, primært egne applikationer.
XML Spy1 årHar jeg brugt i forbindelse med definition af WSDL'er, XSD'er og debug af XSL
CICS1 årJeg har begrænset erfaring med programmering på CICS, men jeg har ofte tyet til mainframe til opslag og afvikling af test.
SVN3 årDette er mit foretrukne til versionskontrol, da det holder versioner på alle filer og det er nemmere at manipulere i kodebasen.
CVS4 årjeg er stødt på det rundt omrkring, men det er ikke mit foretrukne.
ClearCase1 årjeg har arbejdet med det hvor der dog var en del restriktioner.
Perforce1 årer ikke mit foretrukne, men konfigureret korrekt kan det virke ret godt.

Certificeringer / Kurser

Referencer

Odense Kommune, IT-Konsulent
Michael Breuning
mib@odense.dk

Bankdata, Afdelingsleder
Søren Frank
Arbejde: +45 7924 2444
Mobil: +45 4073 4526
sfa@bankdata.dk

eSoft, CSO
Dorthe Frandsen
df@esoft.dk

TDC, projectmanager
Karsten Revsbech
kra@tdc.dk

Konsulent
Anders Brandt
+45 2371 9794
anders@medisoft.dk

Konsulent
Michael Nielsen
michael@recursiveconsulting.com