Kotlin, Typescript, Java, Gradle, Amazon AWS, Angular, DevOps, GIT, PostgreSQL, JPA, Hibernate, Linux, VMware, Scala, Javascript, Google Appengine, Maven, SBT, Mercurial, C#, Android, OpenGL, Spring, Spring MVC, Spring Boot, HTML, CSS, Sass, IntelliJ IDEA, ElasticSearch, OAuth, Gulp, Webpack, Node.js, Continuous Integration, Jenkins, SQL, GitHub Actions, Google-integraatio, Rest, Apache Web Server, Docker, Kubernetes, Dalesbred, Bootstrap, Apache Tomcat, VirtualBox
Toimin n. 10 hengen tiimissä, joka kehitti Suomi.fi-verkkopalvelua. Tiimi toimi tiiviissä yhteistyössä verkkotoimituksen kanssa, joka tuottaa palveluun sisältöä ja tilaa tiimiltä sisällönhallinnalliset työkalut. Olin mukana määrittelytyössä, jalostamassa määrittelyä konkreettisiksi suunnitelmiksi ja lopulta toteutustehtävissä.
Oma työnkuvani oli läpileikkaava eli olin suunnittelemassa tietokannan kuvauksia, toteuttamassa backend palveluita ja käyttöliittymäkerrosta. Aluksi palvelu oli toteutettu käyttäen Java ja Javascript -ohjelmointikieliä. Osa työnkuvaani olikin näiden muuntaminen tyyppiturvallisemmille Kotlin ja Typescript -ohjelmointikielille.
Yksi vastuullani olleissa kokonaisuuksista oli räätälöidyn React-pohjaisen sovelluksen muuttaminen toimimaan Server Side Rendering -tekniikalla. Olin myös mukana tekemässä perusparannustyötä, jonka seurauksena järjestelmän muuttamisen virheherkkyyttä saatiin laskettua.
Palvelun muita käyttötarkoituksia verkkotoimituksen tarjoaman sisällön lisäksi ovat erilaiset integraatiot ulkoisiin järjestelmiin. Tälläisiä ovat mm. väestötietojärjestelmä, palvelutietovaranto ja X-Road-palveluväylä. Integraatiot on toteutettu käyttäen SOAP- ja REST-tekniikoita. Olen osallistunut kaikkien näiden integraatioiden kehittämiseen.
Yksi palvelun kulmakivistä on ElasticSearch sovelluksen päälle toteutettu hakutoiminnallisuus, jonka parissa olen työskennellyt mm. suomen kielen perusmuotoistuksen tuen kanssa ja muiden haun tuloksien parantaneiden tekniikkojen parissa.
Tiimillä oli myös täysi DevSecOps vastuu AWS:ssa pyörivästä sovelluksesta. Osallistuin myös tähän työhön täysipainoisesti.
Kotlin, Typescript, Java, React, ElasticSearch, Amazon AWS, Amazon CloudWatch, Amazon EKS, Amazon S3, Amazon RDS, Amazon Route 53, DevOps, Kubernetes, Docker, Terraform, Ansible, Webpack, Gradle, Maven, Spring, Spring Boot, Spring Security, Node.js, Jersey, Jackson, GIT, SAML, Microservices, JMS, SQL, PostgreSQL, JPA, Hibernate, Rest, Javascript, Continuous Integration, Jenkins, Jira, Confluence, Prometheus, NGINX, Apache Fuseki, IntelliJ IDEA, OWASP, SonarQube, Python, Grafana, Shell script, Bootstrap, EAI, JUnit, HTML, CSS, Sass, Scrum, Sematic Web, Single-Sign-On, Turtle, XML, JSON, AngularJS, Linux, Ansible, Dalesbred, JDBC, PL/SQL, Flyway
Yhteentoimivuuden työkaluissa kehitettiin avoimeen lähdekoodiin perustuva työkaluperhe (http://yhteentoimiva.suomi.fi) vastaamaan julkishallinnon tarpeisiin mahdollistamaan käsitteistöjen, koodistojen ja tietomallien tuottaminen ja julkaisu. Vastuullani oli merkittävä osa järjestelmän arkkitehtuurista ja toteutuksesta, sekä käyttöliittymien toteutus kokonaisuudessaan. Suunnittelin ja toteutin järjestelmään keskitetyn käyttäjä- ja roolihallinnan, sekä SAML-pohjaisen SSO-kirjautumisen integraation.
Käyttöliittyvät toteutettiin käyttäen AngularJS ja myöhemmin Angular sovelluskehyksiä. Taustapalvelut rakennettiin Java-ohjelmointikielellä Spring Boot -sovelluskehyksen päälle. Tietokantoina käytettiin Fuseki ja PostgreSQL tuotteita.
Angular, AngularJS, Typescript, Java, Apache Jena, Apache Fuseki, JointJS, Bootstrap, GIT, Sematic Web, OWL, Webpack, Gradle, SAML, Rdf, JSON-LD, Turtle, Spring, Spring Boot, Spring Security, Jersey, Jackson, DevOps, SPARQL, gettext, IntelliJ IDEA, Maven, Node.js, JUnit, HTML, CSS, Sass, Scrum, Jasmine, Karma, Rest, XML, JSON, Apache Web Server, Linux, jQuery, Continuous Integration, Jenkins, Ansible, Dalesbred, Docker, ElasticSearch, JDBC, Flyway, PostgreSQL, Protractor
Toimin yli 10 hengen tiimissä, joka kehitti Elisan yritysasiakkaille suunnattua palvelua. Työtehtäviini kuului käyttäjätarpeen jalostaminen suunnitelmaksi ja suunnitelmien varsinainen toteuttaminen. Käyttöliittymät toteutettiin Wicket-sovelluskehyksellä käyttäen Java ja Scala ohjelmointikieliä. Taustaprosessoinnissa oli käytössä Elisalla itse rakennettu Java-pohjainen automaatiojärjestelmä, jonka jatkokehitykseen myös osallistuin.
Automaation virhetilanteista luotiin integraation kautta työtehtäviä manuaalikäsittelijöille. Muita integraation kohteena olleita järjestelmiä olivat laskutus- ja televerkkojärjestelmät. Integraatiotekniikkana käytettiin mm. SOAP:a.
Java, Scala, Wicket, Javascript, Maven, Spring, Jersey, Jackson, Oracle 10g, SQL, JPA, Hibernate, GIT, SOA, SOAP, Kanban, TDD, BDD, JDave, Jetty, Guice, Handlebars, Continuous Integration, Jenkins, Spring Remoting, IntelliJ IDEA, Quartz, JUnit, Java RMI, HTML, CSS, Sass, JMX, JDBC, Rest, Single-Sign-On, Apache POI, PL/SQL, Ajax, XML, JSON, ElasticSearch, AngularJS, GIT, EAI, Apache Web Server, Gulp, Linux, VMware, jQuery
Java, Wicket, Javascript, Spring, JPA, Hibernate, Scala, jQuery, Apache Tomcat, Jetty, Maven, SVN, Scrum, TDD, Eclipse, Hudson
Sefram on teollisuuden hajautetun tiedonhallinnan yhdistykselle sekä useille teollisuuden toimijoille tehty järjestelmä, joka hallitsee ja jakaa laitossuunnittelutietoa monitoimittajaympäristössä.
Jatkokehitysvaiheessa järjestelmään touteutettiin mallinnustyökalu ja järjestelmäintegraatioita. Vastasin järjestelmän seuraavien asioiden suunnittelusta ja toteutuksesta: RESTful (XML) rajapinta, Java ja C# API-kirjastot REST-rajapinnan päälle, Eclipse RCP/SWT teknologiaan perustuva mallinnustyökalu, integraatioita operatiivisiin järjestelmiin.
Java, C#, Eclipse RCP, Hibernate, Spring, Jetty, Maven, XML, XSD, Rest, Apache Tomcat, SVN, Javascript, Design Patterns, Eclipse, Quartz
Java, JDBC, SQL, Hibernate, LDAP, Spring, Maven, Jetty, Apache Tomcat, SVN, Javascript, Eclipse, Quartz
.NET, Agile, Ajax, Amazon AWS, Amazon CloudWatch, Amazon EKS, Amazon RDS, Amazon Route 53, Amazon S3, Android, Angular, AngularJS, Ansible, Ant, Apache Fuseki, Apache Jena, Apache POI, Apache Tomcat, Apache Web Server, BDD, Bootstrap, C#, CSS, CVS, Confluence, Continuous Integration, Dalesbred, Design Patterns, DevOps, Docker, EAI, Eclipse, Eclipse RCP, ElasticSearch, Flyway, GIT, GitHub Actions, Google Appengine, Google-integraatio, Gradle, Grafana, Guice, Gulp, HTML, Handlebars, Hibernate, Hudson, IntelliJ IDEA, IoC, JDBC, JDave, JEE, JMS, JMX, JPA, JSON, JSON-LD, JUnit, Jackson, Jasmine, Java, Java RMI, Javascript, Jenkins, Jersey, Jetty, Jira, JointJS, Kanban, Karma, Kotlin, Kubernetes, LDAP, Linux, Maven, Max OS X, Mercurial, Microservices, Mockito, MySQL, NGINX, Node.js, OAuth, OWASP, OWL, Open Source, OpenGL, Oracle 10g, PL/SQL, PostgreSQL, Prometheus, Protractor, Python, Quartz, Rdf, React, Rest, Ruby on Rails, SAML, SBT, SOA, SOAP, SPARQL, SQL, SVN, Sass, Scala, Scrum, Sematic Web, Shell script, Single-Sign-On, Sitemesh, SonarQube, Spring, Spring Boot, Spring MVC, Spring Remoting, Spring Security, TDD, Tcl, Tcl/Tk, Terraform, Turtle, Typescript, VMware, VirtualBox, Webpack, Wicket, Windows, XML, XPath, XSD, gettext, jQuery
suomi | äidinkieli |
englanti | erinomainen |
ruotsi | perusteet |
saksa | perusteet |
Tuuli Krekelä, Johtava asiantuntija, palveluomistaja, Digi- ja väestötietovirasto, +358504356057, tuuli.krekela@dvv.fi
Risto Ollikainen, Project Advisory Senior Manager, KPMG, +358405073479, risto.ollikainen@kpmg.fi