Position: Linux System Administrator / Backend Developer Name: Kenneth Vittrup Available from: 01-04-2019 (01-07-2019 if optional extension used) Year of birth: 1979 IT experience: Since 2006 Education: August 2004 – August 2007 Cand. It. Software Construction April 2003 – August 2004 Bachelor of Science September 2000 – April 2003 Advanced Computer Studies (Datamatiker)

Profile summary: Linux system administrator and senior Java/J2EE backend developer with a keen focus on development and operations of advanced administrative systems - including strong related competences in system analysis, system test and system architecture.

Lately the consultant has been specializing in using his knowledge and experience as a developer and applied this working for a customer in the biotechnology sector, helping the customer in improving their java based analytics software and Continous Integration process. This where achieved using automation based on Jenkins, , , Subversion, all running on Linux based servers.

He has worked primarily with the following technologies: Java, JEE, Puppet, Ansible, Maven, Spring, , Camel, Debian, Linux, Tomcat, MySQL, IntelliJ IDEA, PyCharm, Eclipse, Subversion, Git, and XML.

Competence overview

Category Competence Level Last used Years Working area Backend Expert 2019 11 Behavior Driven Development (BDD) Some knowledge 2019 1 ChatOps (errbot) Some knowledge 2018 1 DevOps Expert 2018 3 Identification Of Needs Expert 2018 7 Installation & Configuration Very experienced 2017 3 Open Source Experienced 2019 11 Requirement Specification Expert 2018 7 System Administration Very experienced 2015 2 System Architecture Very experienced 2019 3 System Design Very experienced 2017 3 System Development Expert 2019 11 System Integration Very experienced 2019 6 Test Driven Development (TDD) Good knowledge 2019 3 Web Development Expert 2017 5 Web Services Expert 2017 6 Languages

1 / 10 Freelance consultancy services Bash Very experienced 2019 4 Java Expert 2019 11 JavaScript Experienced 2017 2 Python Some knowledge 2019 1 Ruby Experienced 2015 2 XPath Good knowledge 2018 2 XSLT Good knowledge 2017 3 Technologies Apache ActiveMQ Very experienced 2017 3 Expert 2017 4 Apache CXF Very experienced 2017 2 Experienced 2009 1 Apache Karaf Experienced 2015 2 Experienced 2009 2 Some knowledge 2018 1 Elasticsearch Some knowledge 2018 1 FreeMarker Experienced 2009 1 Git Very experienced 2019 3 GWT () Experienced 2011 2 Hibernate Expert 2013 6 J2EE Expert 2017 8 J2SE Expert 2018 4 Java Message Service (JMS) Expert 2017 3 Java Experienced 2011 3 Spring Expert 2018 6 Spring Data Good knowledge 2013 2 Spring Security Very experienced 2017 3 XML Expert 2018 10 XSD Expert 2017 4 Platforms CentOS Some knowledge 2019 1 Debian Expert 2019 10 Linux Expert 2019 10 Symbian Experienced 2007 1 VMware Experienced 2016 5 Databases Firebird (open source Interbase) Experienced 2007 2 MySQL Expert 2018 4 Oracle Very experienced 2018 4 PostgreSQL Good knowledge 2017 2 Development tools Apache Ant Expert 2019 5 Bitbucket Some knowledge 2018 2 Eclipse Expert 2018 6 Geppetto Experienced 2015 2 GitLab Some knowledge 2019 1 Gradle Good knowledge 2017 1

2 / 10 Freelance consultancy services IntelliJ IDEA Expert 2019 10 Ivy Some knowledge 2019 1 Jenkins Good knowledge 2019 2 JUnit Very experienced 2018 5 Maven Expert 2016 8 Netbeans Very experienced 2008 2 PyCharm Some knowledge 2019 1 Selenium Very experienced 2013 3 SoapUI Experienced 2017 2 Subversion Expert 2018 11 TeamCity Expert 2018 5 Vagrant Good knowledge 2019 1 Virtual Box Good knowledge 2019 4 XML Spy Very experienced 2017 4 Middleware OS system software Ansible Very experienced 2019 1 Very experienced 2018 5 Enterprise Service Bus (ESB) Very experienced 2016 2 JBoss Very experienced 2018 3 Very experienced 2017 6 JFrog Artifactory Very Experienced 2017 4 OSGi Experienced 2015 3 Puppet Very experienced 2015 3 Weblogic Server Experienced 2017 1 Methods Agile development Expert 2019 7 KanBan Very experienced 2018 3 ORM (Object-relational mapping) Very experienced 2014 6 Scrum Expert 2019 7 Datacommunication and network technology HaProxy Some knowledge 2019 1 SOAP Very experienced 2017 4 Varnish Very experienced 2015 3 Business Management / Project Management Atlassian Jira Expert 2019 10 Miscellaneous 3rd party solutions Stibo STEP Very Experienced 2011 2 Escenic CMS Expert 2015 4

Work and project experiences

Period: 2018/08 - 2019/03 Client: Qiagen (facilitated by Mjølner Informatics) Project description: Freelance working for a customer in the biotechnology sector, helping the customer in improving their java based analytics software and Continous Integration process. This where achieved using automation based on Jenkins, Eclipse, Apache Ant,

3 / 10 Freelance consultancy services Subversion, Git all running on Linux based servers.

The consultant´s responsibilities/tasks were:  Improving the java based analytics software.  Improving the Ant/Ivy Continous Integration process based on Jenkins.  Migrating from Subversion based repository to GitLab based repository Used technologies: Ant, Jenkins, Subversion, Git, Linux, Eclipse, Scrum/Kanban, Java, Cucumber, BDD (Behaviour Driven Development), TDD (Test Driven Development), Ivy, GitLab, Role in project: DevOps (Freelance) Project details: Internal/Undisclosed Reference person:

Period: 2017/08 - 2018/07 Client: Systematic (facilitated by Mjølner Informatics) Project description: Freelance working for a customer in the healthcare sector, helping the customer in defining and optimizing their development and delivery process. This where achieved using IaC (Infrastructure as code) automation based on Ansible and TeamCity for provisioning and orchestration of the linux based servers. This where further expanded using Elasticsearch and Errbot for providing an ChatOps solution for interacting with the server infrastructure.

The consultant´s responsibilities/tasks were:  Defining and developing ansible orchestration codebase for customer.  Developing a TeamCity based solution for interacting with the server infrastructure.  Developing a ChatOps based solution for interacting with the server infrastructure. Used technologies: Ansible, TeamCity, Vagrant, VirtualBox, Gradle, IntelliJ IDEA, Git, Linux/Debian, Linux/CentOS, MariaDB, PostgreSQL, Oracle DB, Python, PyCharm, SCRUM, Jira, Elasticsearch, Errbot, Role in project: DevOps (Freelance) Project details: da.systematic.com/healthcare/solutions/by-name/columna-cura/ Reference person:

Period: 2016/12 - 2017/08 Client: Bankdata (facilitated by Miracle Buddyshop) Project description: Freelance working for a customer in the finance sector helping them in reclaiming control of a central communication platform based on Apache CXF and Apache Camel (Java DSL), backed by the .

The consultant´s responsibilities/tasks were:  Helping customer reclaim control of a 3rd party delivered solution.  Securing webservice solution from exploits.

4 / 10 Freelance consultancy services  Teaching Apache Camel to team  Supporting customers during the on-boarding process Used technologies: Java, Apache Camel, Spring, Gradle, Eclipse, SOAP, Git, Webservices, WS-Security, XSLT, XSD, Apache CXF, Jira, SCRUM, Agile development, Role in project: Software Developer (Freelance) Project details: www.bankconnect.dk Reference person: Department manager Paul Topsøe-Jensen (contact details provided on request)

Period: 2015/12 - 2016/10 Client: Nianet A/S Project description: Working as tech pre-sales in western Denmark. Focus where on cloud-based offerings with technology mainly composed of VMware products.

The consultant´s responsibilities/tasks were:  Identifying needs, matching of expectations including requirements specification.  Analysis of tender documents.  Planning and execution of customer seminars regarding presentation of opportunities in VDI and Anti-DDoS and general network security. Used technologies: Anti-DDoS, VDI, VMware Role in project: Solution Architect (Presale)

Period: 2014/11 - 2015/11 Client: JP/Politikens Hus A/S Project description: Pushing towards a smoother and simplistic way of thinking development, release, and operations for the Java based Escenic publishing platform and miscellaneous supporting SOA services using puppet as the infrastructure orchestration tool for service provisioning and management.

The consultant´s responsibilities/tasks were:  Ensuring up-time for Politikens Hus online services including jyllands- posten.dk and ekstrabladet.dk - 400 Linux servers running Escenic CMS on Tomcat, Solr and MySQL  24/7 support on the Linux servers  Server programming in Puppet, Geppetto IDE, Bash, Ruby and Subversion  Development and delivering of Debian packages (APT)  Support developers in using Java and Maven Used technologies: Java, Maven, Puppet, Bash, Linux (Debian), Apt repository, Ruby, Subversion, Mysql, Escenic, TeamCity, Apt-packaging, ITIL, Apache Tomcat, , Geppetto IDE, JIRA, JNLP Role in project: DevOps

5 / 10 Freelance consultancy services Period: 2014/06 - 2014/10 Client: JP/Politikens Hus A/S Project description: Development of integration platform based on Apache Servicemix ESB, Apache Karaf, Apache Camel and Apache ActiveMQ (JMS).

The consultant´s responsibilities/tasks were:  Development of the integration platform in Java, J2SE, OSGi, IntelliJ IDEA  Configuration of the platform in Puppet  Development of integrations for the Escenic platform in Java, J2SE, Maven, XML, and Web-services  Configuration of enterprise integration patterns  Server programming in Puppet, Geppetto IDE, Bash, Ruby and Subversion  Development and delivering of Debian packages  Support developers with Java and Maven Used technologies: Java, J2SE, Maven, OSGi, JMS, IntelliJ IDEA, XML, Web-services, Puppet, Bash, Linux (Debian), Apt repository, Ruby, Subversion, Mysql, Escenic, TeamCity, Apache Servicemix ESB, Apache Karaf, Apache Camel, Apt-packaging, ITIL, Apache Tomcat, Geppetto IDE, JIRA, JNLP Role in project: DevOps

Period: 2013/10 - 2014/05 Client: JP/Politikens Hus A/S Project description: Conversion of Ekstrabladets platform to a brand new one as part of upgrading Escenic CMS.

The consultant´s responsibilities/tasks were:  Identification of needs and requirement specification  Development of system architecture and design based on Tomcat, MySQL and Debian  Implementation of the architecture and support  Ensuring uptime for Ekstrabladet (400 Linux servers running Tomcat, Solr and MySQL)  24/7 support on the Linux servers  Server programming in Puppet, Geppetto IDE, Bash, Ruby and Subversion  Development and delivering of Debian packages  Development of integrations in XML, Webservices and J2SE  Support developers in Java/J2EE and Maven Used technologies: Java, J2EE, J2SE, Maven, Tomcat, MySQL, TeamCity, IntelliJ IDEA, Linux/Debian, Puppet, Geppetto IDE, Bash, Ruby, Subversion, Escenic, Role in project: DevOps

Period: 2013/07 - 2013/10 Client: Jyllands-Posten

6 / 10 Freelance consultancy services Project description: Developing and managing integrations of articles from 3rd party sources onto the Escenic platform.

The consultant´s responsibilities/tasks were:  Developing a modular approach in Maven and Spring, for parsing XML as articles for including in Escenic CMS using XML and REST Web-services.  Presentation of feed processing details using JPA/Spring Data and JSP. Used technologies: Java, J2EE, J2SE, Maven, Tomcat, MySQL, Web-services, REST, XML, XSLT, Spring, JPA/Spring Data, JSP, Escenic, Role in project: Software developer

Period: 2013/07 - 2013/10 Client: Jyllands-Posten Project description: EPN (Business specific subsite for jyllands-posten.dk) reworking with new UI based on JSP, backed by business data and feeds parsed from 3rd party XML source and Web-services into MySQL using JPA/Spring Data.

The consultant´s responsibilities/tasks were:  Maintaining business data and stock information in MySQL parsed from XML feeds and from push/pull based Web-services,  Presentation of business data stored in MySQL using JSP and JPA. Used technologies: Java, J2EE, Maven, Tomcat, MySQL, Web-services, XML, XSLT, Spring, JPA/Spring Data, JSP, Escenic, Role in project: Software developer

Period: 2011/06 - 2013/06 Client: Jyllands-Posten Project description: Continous improvement of software development process and extending the capabilities of the Escenic CMS platform.

The consultant´s responsibilities/tasks were:  Installing and maintaining Continous Integration server using TeamCity,  Installing and maintaining Selenium servers  Installing and maintaining Sventon subversion server  Installing and maintaining Maven repository  Reworking and optimising project structures in Maven .pom files  Updating Escenic CMS to newer version  Integrating J2EE/Tomcat and .NET backends for paywall solution using SOAP Web-services, Spring, Spring Security and Varnish cache.  Exposing J2EE API handles for frontend team.  Evaluation of feasibility for SCRUM/Kanban process when using Jira issue tracking Used technologies: Java, J2EE, TeamCity, Selenium, Subversion, Sventon, Maven, Web-services, SOAP,

7 / 10 Freelance consultancy services Tomcat, SCRUM, Kanban, Jira, Varnish, Escenic, VirtualBox, Role in project: Software developer

Period: 2009/12 - 2011/06 Client: Stibo Systems Project description: Working on a customizable web interface for the mainline product managing master data. Solution where designed using GWT while the main platform where a java webstart application using Swing and OSGi.

The consultant´s responsibilities/tasks were:  Developing a GWT web-based client for the STEP solution.  Developing data conversion wizard for updating Oracle DB from the Swing based UI.  Extended the platform by adding possibility to use JavaScript (Rhino) for custom configuration.  Supporting the STEP solution. Used technologies: Java, GWT, Subversion, OSGi, IntelliJ IDEA, SCRUM, Web-services, Jira, SWING, JNLP, JavaScript, STEP, VirtualBox, Role in project: Software developer

Period: 2009/06 - 2009/11 Client: End2End Project description: Responsible for bringing home and expanding the capabilities of an external solution developed by consultants for an online payment model.

The consultant´s responsibilities/tasks were:  Analysing and bring home solution developed by 3rd party consultants.  Teach Apache Wicket to fellow developers and extend UI.  Maintain and expand the infrastructure based on Maven, OSGi (Apache Felix), Apache CXF, Spring, and Spring Security to be running on an Oracle backed JBoss server  Developing and maintaining OGSi bundles for different payment models. Used technologies: Java, J2EE, Apache Wicket, Apache CXF, Oracle, JPA, Hibernate, Spring, Spring Security, Apache Felix, OSGi, Maven, JBoss Role in project: Software developer

Period: 2008/07 - 2009/05 Client: End2End Project description: Working on the mainline product of the company CDS (Content Delivery System) using J2EE technologies like Struts, Spring, Maven, JBoss, Freemarker, and Oracle DB to manage and expand the platform

8 / 10 Freelance consultancy services The consultant´s responsibilities/tasks were:  Supporting in transition from Weblogic to JBoss  Supporting QA in running Selenium tests.  Added new features in the Struts/Spring based solution for configuration of new UI based on Freemarker running on JBoss backed by Oracle. Used technologies: Java, J2EE, Struts, Spring, JBoss, Weblogic, Freemarker, Oracle DB, Selenium, Role in project: Software developer

Period: 2008/01 - 2008/06 Client: Wirtek Project description: Worked on a swing based application using bayesian network to analyse data and troubleshoot network problems for telephone operators

The consultant´s responsibilities/tasks were:  Extending the Swing based UI  Developing install wizard using NSIS, Used technologies: Java, J2SE, Netbeans, bayesian networks, SCRUM, Swing, Subversion, NSIS Role in project: Software developer

Period: 2007/05 - 2007/12 Client: Wirtek Project description: Working on embedded telecommunication modules running Java ME.

The consultant´s responsibilities/tasks were:  Teaching J2ME at seminars  Developing an Eclipse based installation wizard using NSIS Used technologies: Java, J2ME, Subversion, Eclipse, NSIS, Role in project: Software developer

Period: 2007/02 - 2007/04 Client: Wirtek Project description: Working on a mobile healthcare system allowing healthcare staff to communicate from a symbian device to the server running JBoss backed by a Firebird database

The consultant´s responsibilities/tasks were:  Extending the existing Symbian UI with additional functionality and data from a JBoss backed by a Firebird database. Used technologies: Eclipse, Symbian, JBoss, Firebird, Jira, Subversion Role in project: Software developer

Courses and certifications

9 / 10 Freelance consultancy services Year Duration Name 2016 N/A VMware Technical Solutions Professional (VTSP 2015) 2016 N/A VMware Sales Professional (VSP 2015) 2009 1 week Core Spring Training

10 / 10 Freelance consultancy services