Kan vara tillgänglig
(Uppdaterat 2020-06-26)Systemutvecklare
Stockholm, Sweden
Modersmål Svenska, Flytande English
- Java-utveckling
- Frontend-utveckling
- API-utveckling
Kompetenser (33)
Developer
Java
REST
REST API
System Developer
SpringBoot
Java/Pzthon
backend
Java EE
Experience
JUnit
Spring
Bamboo
APPLICATION DEVELOPMENT
JSON
SQL
API
React
Ember.js
GUI
Elasticsearch
REQUIREMENT ANALYSIS
JavaScript
CI/CD
HTML
Spring Boot
Bootstrap
Node.js
Elastic Search
GOOGLE APP ENGINE
Jenkins
Django
REDUX
Sammanfattning
Hi, I am Oskar. A system developer based in Stockholm. I have primarily worked with Python and Java based systems in the bank, finance and compliance sector. During my career I have come to appreciate working in cross functional teams where transparency and knowledge share is both promoted and embraced among the team members. I do believe that great software is developed as a collaborative effort aided by well established agile methodologies such as Scrum and Kanban. I have primarily worked as a backend developer but also taken on part time roles, such as Scrum master for my team or aiding business stakeholders as data analyst for various inquiries. As a developer I am structured and pragmatic, always trying to find and follow best practices. I strongly believe in writing testable code and I use tests as means to improve my overall code quality and document the intention of my code.
Professionell bakgrund
2019-08 - Pågående
Consulted as a full stack developer working on the company’s CRM tailored for influencer marketing. The work consisted of analyzing requirements, planning and developing new features and giving technical support for customers of the platform.
Competences: Spring Boot, React, Material UI, CSS, Liquibase, QueryDSL, SQL, Google App Engine.
2020-01 - Pågående
Working as a Remote Full Stack Developer for Lekeplasskontrollen.no. The customer has a playground inspection application with a frontend written in Ember.js and a backend based on Django. The application is primarily used on iPads during inspections and has full offline support where data is persisted in the device browser using IndexedDB.
I have primarily focused on:
- Fixing stability issues and preventing data loss in the application’s very complex backend sync process.
Upgrading the backend from Django 1.11 to 2.2 (including all third party modules). This required both refactoring of the existing code to handle deprecated/removed features and complete replacement of some third party modules that were not compatible with Django 2.x.
- Improving data validation in the frontend / backend in order to ensure data integrity.
- Developing new internal administrative features and functionality to ease the daily workflow for the company's administrators.
Competences: Python, Django, MySQL, Ember.js, Ember data, Docker, GIT
2019-09 - Pågående
Worked on an in house product together with my colleagues. We developed a search engine for crawled Instagram profiles. I wrote the frontend using Ember.js 3.16 (Octane) and Bootstrap 4. Ember 3 was chosen as a frontend framework as a learning experience and to evaluate and contrast it to other modern frameworks such as React and Vue.js. I also developed api endpoints aggregating data statistics from the crawled profiles.
Competences: Ember.js, Node.js, Charts.js, Mongo DB
2017-05 - 2019-08
Employed as a System Developer in a team of five responsible for the company’s insurance-, pension- and benefits systems. As a developer my time was spent between developing new applications (for internal- and external use) and splitting parts of the company's existing monolithic application into self contained microservices. All new applications and services were based on the Spring Boot framework with frontends (if any) written in Angular. Maintenance and features were also implemented in older systems based on Dropwizard or pure Java EE modules deployed on Wildfly (JBoss) application servers. The databases used were primary Sybase SAP and PostgreSQL, and Hibernate was used as a JPA provider.
One key legacy application I maintained was a message transaction service which handled most of the transactions related to insurance purchases between our backend systems and external insurance companies. The application was implemented/designed around the Apache Camel framework and used ActiveMQ as a message broker.
Examples of new applications and services I worked on:
- A GDPR compliant file sharing application where internal and external users can share files. The application used Bankid for authentication and consisted of three services.
- A benefit summary service where private customers benefits such as national pension, occupational pension etc were calculated and presented in a pdf report similar to minPension.se. The calculations were based on the customers annual salary, family situation, collective agreement etc.
The IT department was quite small and I had various responsibilities apart from application development.
- Served as a Scrum master for our team where I was responsible for sprint activities such as call for daily stand ups, sprint planning, and arranging retrospectives.
- Migrated our old Jenkins CI/CD to Atlassian Bamboo.
- Introduce new consultants and employees in the team as well as members of other teams to our systems.
- Analyze our insurance- and customer data as a basis for various business decisions. Used Neo4j to build a searchable knowledge graph over our raw insurance data. Also used Python to write several scripts to extract and summarize relevant insurance- and transaction data from various systems.
Competences: Python, PostgreSQL, Spring Boot, Java EE 8, Wildfly (JBoss), JPA (Hibernate), Liquibase, Groovy, ActiveMQ, Apache Camel, Angular, SOAP, REST, Bamboo, Neo4j, SQL, Sybase SAP, Docker, GIT
2016-01 - 2017-03
Worked as System Developer. My assignment consisted of implementing:
- Monitoring applications for the bank's FX correlation engine, with a GUI.
Ship a subset of certain user events from the bank's mainframe to Elasticsearch.
- Various features for the bank's internal FX trading client.
- The monitoring applications were all small Java SE applications connected - and listened to certain property change events in the banks FX correlation engine (responsible for handling streams of real time forex data from/to the bank). For instance, if a stream of currency pairs from a bank B was interrupted for a threshold time T, an event would be fired and the application would pick that up and escalate it further to Icinga via REST.
The GUI was a standalone Java SE program based on the SWT framework capable of displaying various graphs and statistics summarizing the events from the monitoring applications.
The event shipper was a Scala program that basically tailed a IBM DB2 log table for certain events in the mainframe. The events were queried from the database and posted to an index in Elasticsearch to make them searchable. The program was smart enough to self heal if connection was lost to the database or if data was missing in the table for time intervals ΔTi.
I also implemented small features for the bank's internal FX trading client based on the Swing framework and wrote several Logstash configs for various system log formats.
Competences: SQL, Java 8 SE, Scala, ELK stack, REST, Icinga, IBM DB2, SWT, Swing, GIT
2015-01 - 2017-02
Worked as a lab assistant for the courses: Programming, First Course (EDAA50) , and Programming, Second Course (EDAA01) at the Faculty of Engineering at Lund University. This was an honorary position I held for my two final years of my studies. The courses taug- ht the fundamentals of object oriented programming using Java as the language of choice.
My main responsibilities were to:
- Help the students to reason about the posed lab assignments / problems.
- Give feedback on the students proposed lab solutions.
- Approve the students lab solutions.
Akademisk bakgrund
2014-01 - 2017-04