Selected clients

Novo Nordisk (pharmaceauticals)
Nordea (finance, banking)
Telia Net (telecoms)
Værdipapir Centralen (trading, finance)
Københavns Lufthavne CPH (aviation)
Bonnier Publications (media)
Københavns Energi (utilities)
VinSprit Koncernen (beverages)
BaneDanmark (railways)

Resumé

Consultant Henrik Eiriksson
Address Fåborgvej 75A. 1.sal. 5762 Vester Skerninge, Denmark.
email
Phone +45 36173404
Born 1973
Professional experience since 1998

I work focused, both individually and on teams. I'm quick to grasp complex issues, existing systems and new technologies. My professional knowledge is broad and deep since Ive had opportunities to work intensively on a wide range of projects and technologies throughout my 20 year career as an IT consultant. See project experiences »

I've handled a range of roles within IT-projects for the pharmaceutical, finance & banking, media, telecom's, auction and transport industries, i.e.:

Systems architect, consultant, lead dev. & ”coach”, technical project lead, systems developer, troubleshooter, tester and technical writer.

I'm known for my responsible work attitude, patience, sense of humor, social skills and ability to adapt to new circumstances.

Main skills

Expert in: object-oriented analysis, design and programming, data-modelling, backend development, web applications, Java (J2SE & J2EE), Linux, SQL, Wicket web-framework, Hibernate, PHP, Symfony2 web-framework.
Databases: PostgreSQL, MySQL, Oracle.

Education, languages, career

AP Graduate in Computer Science - 1998, Lyngby' Uddannelses Center.
Final grade: 10.
Graduate thesis: W.I.M.P (Word.Internet.Media.Publishing) a Content Management System which today has matured into a commercial software product that's used by Danish State Railways, Danish Industry Trade Union and a number of Danish Ministries.

Languages

Danish Native proficiency (speaking, reading, writing).
English Native proficiency (speaking, reading, writing).
Icelandic Professional working proficiency (speaking, reading), basic writing.

Career

2005 — Freelance IT consultant. Solvation Consulting
2003 — 2005 CTO, responsible for IT development and operations. Mezzo Media
2001 — 2003 IT consultant. Select-IT
1999 — 2001 Systems developer, Java/Oracle Consultant. Guide Consult / Framfab A/S
1998 — 1999 Developer / Consultant Netmester A/S (now Kruso »)

Project experience

ClientIntelliFinder (telecoms, fiber-optic)
Project descriptionCode-review (with emphasis on security and stability) of the clients in-house developed task-management software which is specialized towards roll-out of fiber-optic networks. Main customer of the system is danish incumbent telecom TDC. My main responsibility was to coach IntelliFinders developers in the mindset and use of design-patterns and Test Driven Development. I also helped with refactoring of the codebase to support automated testcases, which were lacking. I reviewed incidence reports from TDC and proposed solutions. Finally, I developed a tool to map out the dependencies of the system and produce a pivot-table to give the CTO an overview of the codebase complexity and help identify trouble-spots in the codebase.
Technologies usedPHP, PHPUnit, Apache2/nginx, Node.js, Typescript, Angular, MongoDB, Docker.
Role on projectConsultant
Year2021 — 2022
ClientDB Cargo (railways)
Project descriptionCode review of internally developed software with special emphasis on error-handling techniques, security and stability.
Produced report with recommendations and explanations for found bugs.
Technologies usedNode.js, Angular, Typescript, Javascript, SQL, MySQL
Role on projectConsultant
Year2019 — 2021
ClientDeutsche Bahn (railways)
Project descriptionCode quality review of clients internally developed software and coaching of developers.
Special emphasis on error-handling techniques, security and stability.
Produced report with recommendations and explanations for found bugs.
Technologies usedJava, Android, PHP, MySQL, Linux
Role on projectConsultant
Year2018 — 2019
ClientVF Auktion (online auctions) website: www.vf-auktion.dk »
Project descriptionRedesign and implementation of online auction website for vintage stamp collectors. Customers can bid online on the running stamp auctions and buy stamps on after-sale. Website is fully integrated with online card-payment system and the clients backend business systems, automating invoicing, package-label printing and financial reporting.
Technologies usedPHP, Symfony2, JQuery, CSS, HTML, MySQL, Linux, NetBeans
Role on projectConsultant
Year2014 — ongoing
ClientMicrowave News (media) website: microwavenews.com »
Project descriptionTechnical operations and maintenance of Drupal website.
Technologies usedPHP, MySQL, Drupal, CSS, HTML
Role on projectConsultant
Year2014 — ongoing
ClientSylvester Hvid & Co. (media)
Project description Adding functionality to "ImageBank", an internally developed digital asset management system that I was architect and lead dev. on. ImageBank was commissioned by VinSprit koncernen (now Pernod Ricard) for their entire marketing image library, while I was CTO at Mezzo Media. Mezzo was later acquired by Sylvester Hvid & Co.
Technologies usedJava J2EE (Tomcat, Servlets, JDBC, JavaMail), MySQL, Velocity Templates, ImageMagick, XML, HTML, CSS, Javascript, Eclipse, Linux, Windows Server
Role on projectConsultant.
Year2011 — 2012
ClientVF Auktion (online auctions)
Project descriptionTaking over from previous dev. for adding functionality to, and maintenance of clients internal backend business system. The client runs an online auction of vintage stamps. Tasks: moving operations from Windows to Linux servers, automated backup system, performance optimizing auction website, integrating backend with Danish Postal service and DPD package delivery systems, automating PDF creation for auction catalogue.
Technologies usedPHP, HTML, Java, Javascript, MySQL, Linux, NetBeans, shell-scripting
Role on projectConsultant
Year2010 — ongoing
ClientBaneDanmark » (railways)
Project descriptionUpgrade of BaneDanmark's main operations planning system PBase. The system is a webapplication based on Java/JSP/Tomcat and coupled to Oracle database via BC4J persistence mapping framework.
Technologies usedScrum, Java, Oracle, PL/SQL, JDBC, JSP, BC4J, HTML, JavaScript, Ajax
Role on projectConsultant
Year2008
ClientVP Securities (trading, finance)
Project descriptionAdding new functionalities to VP Securities' "AktieBog" system for running General Assembly meetings and "InvestorPortalen" which is a self-service platform for investors.
Technologies usedScrum, Java, Struts, Hibernate, DB2, Websphere
Role on projectConsultant
Year2008
ClientKøbenhavns Energi (utilities)
Project descriptionEmergency troubleshooting and stabilizing of K.E's TastSelvService website where electricity and gas consumers log in to report their meter readings for billing etc. This assignment had highest attention from management as the system was crashing multiple times a day under load. It turned out that the web-application never closed its database connections and thus ended up starving the database server of resources. I quickly identified the problem and patched the source code so that database connections were freed straight away. Relieved management and happy DBA's. K.E. then hired me to maintain the system.
Technologies usedOracle Portal, Java, JDBC, JSP, PL/SQL
Role on projectConsultant
Year2007 — 2008
ClientNordea (banking)
Project descriptionNordea Wealth Management (private banking) needed a web-based system for their investment portfolio managers. A system that could replace the use of ad-hoc Excel spreadsheets that were being shared over email without synchronisation of data. I delivered a system where portfolio managers could import their Excel sheets and the system sorted the data into a common database from where they can manage their client portfolios from anywhere, via a browser, always in sync. This solution was written in Java and based on the Wicket web-framework. We named it "PAM" (Portfolio Administration Module).
Technologies usedJava, Spring, Wicket, SQL Server, JDBC, POI, XML
Role on projectConsultant
Year2007
ClientNeoConsult A/S (telecoms)
Project descriptionCustomer ADSL provisioning system for Tele2 France. The system was based on NeoConsult's own "NOMAD" workflow engine. The assignment was to analyse customer specifications and develop from those, the needed workflows in NOMAD. The workflow system interfaced with Tele2's internal systems to set up new customers ADSL connections.
Technologies usedJava, Oracle, Perl, XML, Linux
Role on projectSystemudvikler
Year2006
ClientBonnier Publications (media, publishing)
Project descriptionA customer acquisition system for Bonnier Magazine Publications. The system receives customer's sign-up for magazine offers via Bonnier's marketing campaign sites, screens them against various "bad customer" databases and handles online card payment. Once screened, the system queues the orders up for Bonnier's (slow) AS400 mainframe subscription server and also automatically notifies partner webservices of the order, so they can dispatch a prize or such. The system has a dashboard for the marketing dept. to track customer conversions and where they can follow the flow of each magazine order. Marketing partners can download lists of leads and report back sales status. Management wanted the system to be extremely speedy since the existing subscription system was failing under the load and losing potential customers. So much attention was given to optimizing for performance. The system interfaces with the "BonnierShop" which is the CMS behind the marketing campaign websites. In short: an online marketing platform.
Technologies usedJava, Spring, XML, webservices, Tomcat, JSP/JSTL, Hibernate, MySQL, Linux
Role on projectArchitect, developer, tester, documentation writer
Year2006-2012 (ongoing maintenance)
ClientCPH - Copenhagen Airports (aviation)
Project descriptionA system for measuring passenger flow rate through security check and generating an estimate of queue time. The security queue time is shown on screens around the airport so passengers can know what to expect when arriving at the security lines. The system is browser-based and offers a dashboard for security management to track security gate performance in realtime and also pull performance reports to show compliance with regulations. We also built a search engine for pulling security camera images for a given time range.
Technologies usedScrum / Agile, Java, Spring, Tomcat, Tapestry, Hibernate, Oracle, POI, Linux
Role on projectConsultant
Year2005
ClientCPH - Copenhagen Airports (aviation)
Project descriptionImplementation of a search-engine for CPH's internal documentation. All documentation is collected in a version-control system. From there, the various document formats (Word, PDF, etc.) are converted to HTML (for viewing via the intranet). For easy retrieval, it's all indexed in a Swish-e database that makes up a mini-google.
Technologies usedLinux, Bash shell scripting, cvs, Swish-e, Perl
Role on projectConsultant
Year2005
ClientVinsprit koncernen (beverages)
Project descriptionConsolidation of all of Vinsprit's digital image archives. VinSprit is now part of Pernod Ricard. This assignment resulted in a new product. It was realized that the planned "Cumulus" image archive system was inadequate to implement the client specifications so we built a new digital image archive from scratch with multilingual product texts and conversion into many image formats. Marketing bureau's can log in and pull the images they need and in the resolution and image type they need. This off-loaded a lot of tedious work for VS. We imported all their product images (>10.000) and all the metadata into the system and they were ready to go.
Technologies usedJava, Servlets, MVC, XML, SOAP, Hibernate, Velocity, MySQL, Linux, HTML, JavaScript, eRez.
Role on projectArchitect, technical project lead, lead dev.
Year2004-2005
ClientØrestadskonsortiet (construction)
Project descriptionWeb-based digital image archive for Ørestaden tunnelling consortium.
Technologies usedCumulus, JSP, Servlets, HTML, Linux, XML, SOAP, eRez
Role on projectDesigner, developer
Year2004
ClientDanish Distillers (beverages)
Project descriptionWeb-based digital image archive for De Danske Spritfabrikker (alcoholic beverage producer).
Technologies usedCumulus, JSP, Servlets, HTML, Linux, XML, SOAP, eRez
Role on projectDesigner, developer
Year2004
ClientColoplast (medico)
Project descriptionCorporate Image Bank. Web-based digital image archive for Coloplast Corporation.
Technologies usedCumulus, JSP, Servlets, HTML, Linux, XML, SOAP, eRez
Role on projectDesigner, developer
Year2004
ClientNovo Nordisk Engineering (pharma)
Project descriptionFlexpen, phase 3
Analysis and feature addition for existing SAP application for planning and controlling of insulin injection pen production line.
Technologies usedSAP R3, ABAP4, Oracle
Role on projectConsultant, developer, tester, documentation writer.
Year2003
ClientNovo Nordisk Engineering (pharma)
Project descriptionPIA-upgrade (Purification of Insulin Analogues) Analysis and troubleshooting of electronic batch reports.
Technologies usedVBA, MS-Excel, PI, Oracle.
Role on projectConsultant, analyst, tester, documentation writer.
Year2002
ClientNovo Nordisk Engineering (pharma)
Project descriptionInnolet Complet. Development of a mission-critical alarm-log application for autoclaves.
Technologies usedVB, MS-Access, MS-SQL, iFIX
Role on projectConsultant, developer.
Year2002
ClientNovo Nordisk Engineering (pharma)
Project descriptionIBP (Insulin Bulk Plant). Design and implementation of barcode-scanner interfaces for Novo's own LMES production planning system. The barcode-scanner interface triggers stored-procedures in an Oracle database. These stored-procedures make up a production workflow system that makes sure that manual processes in the insulin production are done correctly. Operators must scan barcode's and sign for each step in a process. This system is part of the quality control of the largest insulin plant in the world.
Technologies usedOracle PL/SQL, VB.
Role on projectConsultant, systems design, developer, tester, documentation writer.
Year2001
ClientTELIA Net (telecom)
Project descriptionICH2 – numberportability, phase 2.
This system is Telia's implementation of the Danish phone number portability strategy. When customers transfer between telecoms, they can keep their existing phone number(s). This system sends and receives messages to and from Operators Clearing House (OCH) — the national central phone-number registry — and updates Telia's backend systems when customer transfer (or "port") between telecom's. It's a state-engine that keeps track of the porting processes and has a dashboard for monitoring all the flows. I was deeply involved in the design of Telia's part of the system and was responsible for the core state-machine and interfaces to certain backend systems.
Technologies usedJava, XML, multithreading, JDBC, JavaMail, Oracle, Advanced Queueing, Linux, Solaris
Role on projectConsultant, systems architect, developer, tester, documentation writing.
Year2001
ClientNovo Nordisk (pharma)
Project descriptionCorporate web-portal (www.novonordisk.com). I was called in to urgently troubleshoot technical issues prior to demo'ing the website for Novo's management.
Technologies usedJava, XML, servlets, JDBC,Oracle, WebSphere, OpenCMS, HTML, JavaScript.
Role on projectConsultant.
Year2000
ClientBLU (telecom)
Project descriptionCustomer Web-portal for Italian telecom (www.blu.it). I was called in to troubleshoot technical issues with the website's backend systems.
Technologies usedASP, VB, XML, LDAP, JavaScript, HTML
Role on projectConsultant.
Year2000
ClientNordea (banking)
Project descriptionThe PANDA project. This system generated full tax reports for large corporate clients. I was tasked with fixing a part of the system related to special investment funds. It turned out to be especially tricky, due to the unbelievable complexity of the financial instruments involved and the bank's top guy admitting that he could'nt explain them logically (in hindsight, I could have predicted the financial crash right then and there!). Three prior consultants had given up and left the project but I managed to pull it off and received a stuffed toy panda and eternal gratitude from the accounting dept. who were otherwise looking at months of additional work if I hadn't.
Technologies usedOracle PL/SQL, MS-Excel, Unix
Role on projectConsultant, developer, tester, documentation writer.
Year2000
ClientDanish Ministry of Justice (public sector)
Project descriptionLetter generator for visa applicants. Multi-lingual letters customised from templates using data about gender, race, age etc.
Technologies usedVBA Visual Basic for Applications.
Role on projectConsultant, developer.
Year1999
ClientKurt Ovi A/S (telecom)
Project descriptionDesign & implementation of corporate website (www.kurtovi.dk)
Technologies usedHTML, CSS, JavaScript
Role on projectConsultant, graphics designer, developer.
Year1999
ClientDSB Informatics (Danish State Rail IT dept.)
Project descriptionDesign and implementation of facilities information system for train stations. DSB wanted a web-application where station agents can update information about the passenger servicing facilities at their station.
Technologies usedOracle PL/SQL, Oracle Designer, Oracle Application Server, VB, HTML
Role on projectConsultant, architect, developer, tester, documentation writer.
Year1999
ClientDSB Informatics (Danish State Rail IT dept.)
Project descriptionDesign and development of own graduate thesis project — W.I.M.P — as the intranet CMS for DSB. The product was a CMS using Microsoft Word for page and template editing, interfacing with an Oracle database as storage-backend and Oracle Web Application Server (based on Apache web-server) as the presentation-layer. It actually worked.
Technologies usedVisual Basic, VBA, Oracle, Oracle Web Application Server.
Role on projectConsultant, co-architect, developer.
Year1998

Specific skills

Area/methodologyLevelLast used
Application designExpert2019
ProgrammingExpert2019
Database designExpert2019
Data analysisVery experienced2019
Project lead (technical)Very experienced2017
TestVery experienced2019
DocumentationVery experienced2019
Scrum/Agile client projectVery experienced2010
Operating systemsLevelLast used
LinuxExpert2019
Windows 10,7,XPVery experienced2019
SolarisSome knowledge2001
DatabasesLevelLast used
MySQLExpert2019
PostgreSQLVery experienced2019
OracleExperienced2010
DB2Some knowledge2008
ServersLevelLast used
Apache TomcatExpert2019
Apache2 WebserverExpert2019
nginxExperienced2019
WebSphereGood working knowledge2008
ProgrammingLevelLast used
Java (J2SE)Expert2019
Java Servlets (J2EE)Expert2019
Java JSP (J2EE)Very experienced2011
Java JDBC (J2EE)Expert2019
Java SOAP (J2EE)Good working knowledge2009
Java XML (J2EE)Experienced2019
Java Mail (J2EE)Experienced2011
Java EJB (J2EE)Some knowledge2000
JUnitVery experienced2019
Java Swing (J2SE)Experienced2018
PHPExpert2019
SQLExpert2019
MySQL stored proceduresExperienced2018
Oracle PL/SQLGood working knowledge2010
C / C++Some knowledge1999
SAP / ABAP4 (Prod./Process)Some knowledge2003
Visual Basic / VBAGood working knowledge2002
Unix shell scriptingExperienced2019
JavascriptVery experienced2019
HTML / CSSVery experienced2019
PerlSome knowledge2006
WebservicesGood working knowledge2011
PythonSome knowledge2018
Development toolsLevelLast used
NetBeansExpert2019
IntelliJ IDEASome knowledge2005
EclipseExperienced2012
AntExperienced2012
Frameworks etc.LevelLast used
Hibernate, HQL Java ORMVery experienced2016
Spring Java FrameworkExperienced2009
Symfony2 PHP frameworkVery experienced2018
Wicket Java web-frameworkVery experienced2019
Apache POI (MS Office Java API)Good working knowledge2007
Guice IoCExperienced2016
MyBatis SQL-mapperExperienced2019
DrupalExperienced2019
Velocity template engineGood working knowledge2011
Tapestry Java web-frameworkSome knowledge2005
Struts Java web-frameworkSome knowledge2008
Java Server FacesSome knowledge2005
Oracle PortalSome knowledge2008