Severi HaverilaPortfolio

About Me

Shortly

  • SW Developer and DevOps enthusiast.
  • International work background and M.Sc. degree.
  • Enjoys working with other people.
  • Constantly trying to improve his knowledge.
  • Laid back guy and easy to work with.

Still reading? Long version below.

Long version

Hi there!

I’m a SW Developer and DevOps enthusiast from Finland with international work background and a M.Sc degree from Aalto University. I enjoy working together with other people on interesting projects and I have a high interest in improving my knowledge and learn new - both technical and non-technical - skills. Being a people person I enjoy meeting new people from diverse backgrounds and hopefully meet good future friends aswell! Besides tech related stuff I enjoy doing sports and at the late (or early) hours sing a few songs at karaoke. My friends depict me as a person who likes to make things happen. For example this text has been written during a portfolio hackathon which I organized with my friends.

Questions? You can find me on LinkedIn or send me a an . Public projects in this portfolio (and other random stuff) can be found on my Github. You might also want to check out my Blog.

Work Projects

Telecom Operator - Jenkins CD pipeline & shared library for Openshift

Keywords: Openshift, Docker, Jenkins Pipeline

Date: 10/2017-02/2018

Role: DevOps Engineer

Implemented a CI/CD pipeline and shared libraries for development teams. All branches on Github get automatically build, tested and deployed into the development cluster using Openshift. The production build is deployed into two separate production clusters automatically and includes a canary deployment.

Telecom Operator - Mobile Testing Cloud

Keywords: React, Redux, Django, Jenkins Pipeline, Artifactory, MariaDB, Openshift, Docker

Date: 06/2017-08/2017

Role: Software Architect

Implemented a new version for customer’s mobile testing cloud. The previous version had been implemented purely on Jenkins in the form of freestyle jobs. For the new version I implemented a UI which visualized the different test projects and statuses of the phones connected to the system. The backend was implemented using Python and Django framework. In addition, we created shared libraries for Jenkins which allow the usage of the mobile testing cloud using Jenkins Pipelines. The software was run on Openshift Container Platform.

Bitbar Inc - OSX Infrastructure Automation with Ansible

Keywords: Ansible, Jenkins Pipeline, Vagrant

Date: 01/2017-05/2017

Role: DevOps Engineer

The goal of this project was to create a reliable way of automatically provisioning new OSX hosts and upgrading old ones. Previously this had been done using Chef, but the decision was made to start from scratch as the deployments were rather error-prone and unreliable.

I was responsible for designing the project structure, CI-pipeline and also the actual deployment workflow. In addition, I wrote down the development guidelines for the project and implemented majority of the Ansible-roles. An important success criterion in this project was to make the upgrade and setup process reliable, but at the same time to support multiple environments allowing them to contain some differences but still keeping the configurations as consistent as possible. In addition, when designing the CI-pipeline and development guidelines, high priority was given to ensuring that the deployments will stay reliable also in the future when the project evolves and more people start working on it.

Bitbar Inc - Java Appium Testdroid Example

Keywords: Java, Appium, Refactoring, Testdroid

Date: 12/2016

Role: Software Engineer

Renewed Testdroid’s Java sample project. The project is now being used as part of Testdroid’s documentation.

https://github.com/severi/testdroid-samples/tree/master/appium/sample-scripts/java

Testdroid Documentation: Client Side Appium, Server Side Appium

Bitbar Inc - Image Recognition Library

Keywords: Java, Appium, OpenCV, Refactoring

Date: 10/2016–11/2016 & 02/2017–03/2017

Role: Software Engineer

I created an image recognition library for mobile test automation out of an existing sample project. The motivation was to extract the actual image recognition logic that was previously hard wired into a Java-based test automation project sample (https://github.com/bitbar/testdroid-samples/tree/master/image-recognition).

The library can now also be utilized with frameworks such as Robot Framework and it’s not anymore dependent on the usage of Appium which makes its usage more flexible.

Library: https://github.com/bitbar/opencv-library

South American Cable Television Operator - Test Automation POC

Keywords: Java, Appium, Testdroid

Date: 10/2016–10/2016

Role: Software Engineer

Implemented a Test Automation POC using Java and Appium for a mobile application running on both iOS and Android platforms.

Bitbar Inc - Cucumber Appium Sample Project For Testdroid

Keywords: Java, Appium, Cucumber, Testdroid

Date: 09/2016–09/2016

Role: Software Engineer

Created a simple example for utilizing Cucumber with Testdroid Cloud. Created based on an existing Java example (https://github.com/bitbar/testdroid-samples/tree/c39e3f3b2bd648295dcbaa2c0ffc19c469e26c7c/appium/sample-scripts/java). The example can be both run client-side on the user’s local machine against Testdroid Cloud and server-side directly in Testdroid Cloud.

https://github.com/severi/testdroid_cucumber_java_example

Bitbar Inc - Nightwatch Appium Sample Project For Testdroid

Keywords: Javascript, Nightwatch, Appium, Testdroid

Date: 09/2016–09/2016

Role: Software Engineer

Created a simple example for utilizing Nightwatch-framework with Testdroid Cloud. The example can be both run client-side on the user’s local machine against Testdroid Cloud and server-side directly in Testdroid Cloud.

https://github.com/severi/testdroid_nightwatch_gulp_example

Telecom Operator - IoT Dashboard

Keywords: AngularJs, Cumulocity Framework

Date: 04/2016-05/2016

Role: Frontend Developer

Dashboard visualizing data gathered from different sensors using framework provided by Cumulocity.

Public Sector Company - Test Automation PoC

Keywords: RobotFramework, Selenium2Library, ImageHorizonLibrary

Date: 04/2016

Role: DevOps Consultant

Test Automation proof of concept developed for an online ticket shop using Robot Framework.

Identity Services Company - AWS VPC setup automation with Ansible

Keywords: Ansible, HAProxy, Keepalived, AWS, OpenLDAP, Robot Framework

Date: 11/2015–3/2016

Role: DevOps Consultant

Writing Ansible scripts for Amazon VPC environment. Configuring and automating the setup process of high availability load balancers using Keepalived and HAProxy and automating the installation and clustering process of customer’s products. Testing with Robot Framework.

Credit Information Company - Web Application

Keywords: Java, Ansible, Vagrant, Javascript, NodeJS, Spring Boot, RobotFramework

Date: 08/2015–11/2015

Role: Software Engineer

My work included writing REST services using Java, implementing a mock­server with NodeJS, automating development environment setup with Ansible and writing some Robot Framework test cases.

ÖBB - Yield Management

Keywords: Java, Hibernate, Primefaces, Oracle­DB

Date: 09/2014-07/2015

Role: Software Engineer

I worked as part of a team of 8 persons on a project for the Austrian Railways. We implemented an “Yield Management-system”, which was a part of big Ticket System renewal.

Asfinag - On the way

Keywords: Phonegap, Javascript, HTML, CSS

Date: 07/2014-09/2014

Role: Software Engineer

I worked around two months on a project in which I participated in the development of a mobile application called “Unterwegs” for ASFINAG (Austrian motorway operator). More information about the application can be found here:

http://www.asfinag.at/on-the-way/on-the-way-app

Personal Projects

Location-based mobile app

Keywords: React Native, Redux, Docker, Docker Compose, NodeJS, Microservices, HAProxy, Ionic, Ansible, Vagrant

Date: 12/2015-02/2016 & 01/2017-

Role: Programmer

Currently working on an app that visualizes data based on user’s location. The app is developed using React Native utilizing Redux. The backend is implemented using NodeJS and it is utilizing Docker Compose and Microservices-architecture.

Tiskikarma - Dishwasher Karma

Keywords: React, Python, HTML, CSS

Date: 10/2015

Role: Programmer

Created a small web application together with a few collegues of mine as part of Fedex Day hackathon organized at Eficode. The application reads RFID tags using Arduino and serves a web page from Raspberry Pi showing karma points that people have gathered when emptying or filling the dishwasher.

AngularJS web page

Keywords: MongoDB, ExpressJS, AngularJS, NodeJS

Date: 05/2015-08/2015

Role: Programmer

I started developing a web page based on MEAN stack for a friend group. The webpage includes an event calendar that visualizes public transport routes from user’s location to the event location in Helsinki region. Work still in progress.

https://github.com/severi/nerdclub-homepage

Spin - A Minimal Art Memory Game

Keywords: C++, openFrameworks, Javascript,ThreeJS

Date: 10/2014-06/2015

Role: Programmer

Project done together with a friend. My work consisted of programming with C++ using openFrameworks, and implementing a prototype with Javascript using ThreeJS.

https://itunes.apple.com/fi/app/id936105714

https://github.com/severi/spin_prototype

3x3x3 LED Cube

Keywords: Electronics, Arduino

Date: 12/2012

This little project was more about learning the use of Arduino and basic electronics than programming. Using an Arduino I was able programmatically to control each of the 27 LEDs separately.

University Projects

Master's Thesis

Keywords: Continuous Delivery, Continuous Integration, Test Automation

Date: 06/2016–09/2016

Finished my Master’s Thesis during the summer 2016. Subject “Impacts of Continuous Delivery in Software Projects”.

https://github.com/severi/Masters-Thesis

Management Dashboards - Relex

Keywords: ReactJS, Docker, Jenkins, Robot Framework, Team Leading

Date: 09/2015–04/2016

Role: Scrum Master

I worked as a Scrum Master on a project made for a finnish IT company together with 6 B.Sc. Students as part of a course for Aalto University. Besides ordinary Scrum Master tasks my responsibilities included team leading, setting up the technology stack for the project and supporting the rest of the team to get the project up and running smoothly. In addition I set up a CI environment using Jenkins and Docker.

Binary Analysis

Keywords: Binary Analysis, Assembly

Date: 04/2014–05/2014

Role: Hacker

The task was to make a binary analysis of a Linux-ELF-Binary and find a secret message hidden in the binary. The report can be found on my Github.

Web Application Security

Keywords: Web Security, OWASP

Date: 03/2014–04/2014

Role: Hacker

In this assingment I had to find out how a web page was compromised and evaluate the vulnerabilities. The report can be found on my Github.

OpenSSH Backdoor

Keywords: C, OpenSSH, hacker skillz

Date: 02/2014–03/2014

Role: Hacker

The aim was to implement a backdoor for OpenSSH server. The report for this assignment can be found on my Github.

Casino Card Game

Keywords: Python, PyQt

Date: 01/2012–04/2012

Role: Programmer

I developed a graphical Casino card game using Python and PyQt. The game allows people to play against each other and against the computer.

https://github.com/severi/Casino

Multiplayer Pacman

Keywords: C++, SFML

Date: 09/2011–12/2011

Role: Programmer

I developed a multiplayer Pacman game with two friends of mine using C++. SFML library was used for visualization and network communication.

https://github.com/severi/Pacman