Kvalitetsbevidst freelance udvikler
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 programmering | 4 år | Siden 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. |
| Scrum | 3 år | Af agile metoder er det hovedsagligt Scrum jeg har arbejdet med. |
| Automatiseret test | 3 år | Som en af de vigtigste redskaber i Scrum, testdriven, har jeg fokuseret meget på at lave automatiske tests. |
| Testdrevet udvikling | 3 år | Automatiske tests er en af de vigtigste redskaber til at sikre kvalitet. Derfor har jeg fokuseret meget på dette område. |
| Web udvikling | 5 år | Udfra mine kompetencer kan det aflæses at mit absolutte speciale ligger indenfor web udvikling. |
Programmering
| Område | Erfaring | Beskrivelse |
|---|---|---|
| Java | 5 år | Java er det sprog jeg har beskæftiget mig allermest med. Jeg har udviklet alt fra distribuerede Swing-applikationer til større J2EE-projekter. |
| J2EE | 4 år | Hovedsagligt har jeg beskæftiget mig med J2EE applikationer og er således meget erfaren på det område |
| WebSphere | 4 år | WebSphere servere har jeg både administreret og været udvikler på. |
| WebLogic | 4 år | Indenfor WebLogic har jeg arbejdet mest med WebLogic Portal Server, men er også ret vant til deployment og anden administration. |
| Portletudvikling | 4 år | Af 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 frameworks | 4 år | Indenfor 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. |
| Python | 2 år | Python har jeg brugt til webudvikling + småopgaver. |
| JavaScript | 4 år | Jeg har stor erfaring med JavaScript og relaterede teknologier som AJAX og JSON. Indenfor frameworks har jeg mest erfaring med jQuery |
| jQuery | 2 år | jQuery 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. |
| Drupal | 1 år | Jeg 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. |
| CSS | 4 år | CSS 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. |
| HTML | 4 år | Af teknologier til webudvikling kender jeg selvfølgelig HTML. Jeg holder mig helst til Strict XHTML. |
| JUnit, JMock | 4 år | Jeg har fået stor kendskab til disse frameworks ved at køre testdriven development. |
| COBOL | 1 år | Jeg har skrevet moduler af forskellige størrelser på Bankdata. Det er ikke min stærkeste side, men jeg behersker sproget. |
| SQL | 4 år | SQL 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. |
| Django | 1 år | Det progressive framework har jeg anvendt til at udvikle flere web applikationer. |
| XML, XSL, XPATH | 4 år | Jeg 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. |
| PHP | 2 år | Jeg har anvendt PHP mest ved eSoft, men ellers blot til mindre scripts og tilrettelse. |
Applikationer
| Område | Erfaring | Beskrivelse |
|---|---|---|
| Eclipse | 4 år | Eclipse 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. |
| Aptana | 2 år | Aptana er det Eclipse build jeg anvender oftest til generel webudvikling og PHP. |
| RAD - Rational application developer | 2 år | Indenfor WebSphere er det dette værktøj jeg har udviklet applikationer i. |
| BEA WorkShop | 3 år | BEA's workshop er et udemærket værktøj, men man skal have noget erfaring med det for at udnytte dets fulde potentiale. |
| Selenium | 1 år | Jeg har brugt selenium intensivt til test af web applikationer, primært egne applikationer. |
| XML Spy | 1 år | Har jeg brugt i forbindelse med definition af WSDL'er, XSD'er og debug af XSL |
| CICS | 1 år | Jeg har begrænset erfaring med programmering på CICS, men jeg har ofte tyet til mainframe til opslag og afvikling af test. |
| SVN | 3 år | Dette er mit foretrukne til versionskontrol, da det holder versioner på alle filer og det er nemmere at manipulere i kodebasen. |
| CVS | 4 år | jeg er stødt på det rundt omrkring, men det er ikke mit foretrukne. |
| ClearCase | 1 år | jeg har arbejdet med det hvor der dog var en del restriktioner. |
| Perforce | 1 år | er ikke mit foretrukne, men konfigureret korrekt kan det virke ret godt. |
Certificeringer / Kurser
- 2005 : Servlet Development Using RAD 5.1
- 2005 : Websphere Portal V 5.1 Programming
- 2005 : COBOL & JCL Workshop
- 2005 : DB2 applikationsprogrammering
- 2005 : DB2 SQL Grundlæggende Programmering
- 2005 : HTML og JavaScript
- 2005 : Intro til OO + JFA
- 2004 : Cisco Certified Networking Assistant (CCNA)
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