CURRICULUM VITAE 22.01.2016 Sami Rantala Sami Rantala Golf & IT Vantalantie 54 05450 Nukari +358 45 1331 901 sami.m.rantala@gmail.com Background (Henkilötiedot) Year of Birth: 1977 (Syntymävuosi) Education: Master of Sciences in theoretical physics, University of Helsinki, 2000 (Koulutus) (Filosofian maisteri, pääaine teoreettinen fysiikka, Helsingin yliopisto, 2000) Pudasjärvi High School, 1996 (Pudasjärven lukio, 1996) Marital status: (Siviilisääty) married (naimisissa) Summary (Lyhyt kuvaus) A highly skilled Java professional with experience from a multitude of industries and a passion for producing high quality software in a timely manner. (Erittäin kokenut Java-ammattilainen, jolla kokemusta useista toimialoista. Intohimona tuottaa laadukkaita ohjelmistoja tehokkaasti.) Positions of interest (Haetut tehtävät) Lead developer (Johtava kehittäjä) Scrum master (Scrum master) Architect (Arkkitehti) Current technical interests (Tekninen kiinnostus) Test/Behavior Driven Development (xdd) writing the unit tests before the actual code. It improves the quality of the produced code significantly. As a nice side effect of following xdd methodology, 100 % unit test coverage of the produced code is achieved, making the code base easy to refactor and maintain. (Test/Behavior Driven Development (xdd) yksikkötestien kirjoittaminen ennen varsinaista koodia. Tämä parantaa tuotetun koodin laatua merkittävästi. Mukavana sivuvaikutuksena xddmenetelmän soveltamisella saavutetaan 100% yksikkötestikattavuus, jolloin koodia on helppo refaktoroida ja ylläpitää.) Continuous integration combined with xdd this can really make your day. Having Jenkins (or similar) to monitor the code base continuously keeps the code base in good shape at all times. (Jatkuva integraatio (CI) yhdistettynä xdd:n kanssa CI tekee kehitystyön paljon tehokkaammaksi. Jenkins (tai vastaava) seuraa koodipohjaa jatkuvasti ja varmistaa, että koodi ja projekti on kunnossa jatkuvasti.) Agile Scrum improving the predictability of the software development process. Waterfall software projects just simply do not work as well as agile projects. (Ketterä kehitys, Scrum parantaa ohjelmistokehityksen prosessin ennustettavuutta. Vesiputousmalliin pohjautuvat ohjelmistoprojektit eivät vain yksinkertaisesti toimi niin hyvin kuin ketterät hankkeet.) JPA Annotations no more XML configuration files. Good riddance! Java annotations in
general are a Very Good Thing. (JPA annotaatiot ei enää XML asetustiedostoja. Tervemenoa! Java-annotaatiot yleisesti ottaen ovat Erittäin Hyvä Asia.) Spring dependency injection (IOC) makes the code easier to unit test and understand. Spring Framework is a brilliant example of an open source project becoming de facto standard in the software industry. (Spring riippuvuuksien injektointi (IOC) tekee koodin helpommin yksikkötestattavaksi sekä ymmärtää. Spring Framework on loistava esimerkki avoimen lähdekoodin projektista, joka on de facto standardi ohjelmistoalalla.) Open source development why reinvent the wheel? The internet is full of excellent open source software that can save a lot of time during the development process. Participating in and monitoring the progress of open source projects gives a lot of new ideas about best practices in programming and ensures keeping up-to-date in current trends. (Avoin lähdekoodi miksi keksiä pyörää uudelleen? Internet on täynnä erinomaisia avoimen lähdekoodin ohjelmistoja, jotka voivat säästää paljon aikaa kehitysprojektin aikana. Osallistuminen avoimen lähdekoodin projekteihin antaa paljon uusia ideoita parhaista käytännöistä ohjelmoinnissa sekä pitää osaamisen ajan tasalla.) Maven no more Ant or anything else like that. Good riddance once again. A Maven project file (POM) is actually even more than just a description of the build for the project: it is a standardized, technical model of the project, which can be used to create reports of the project, an HTML site for the project etc. Maven ei enää Antia tai muuta vastaavaa. Tervemenoa taas. Maven-projektin POM-tiedosto on itse asiassa jopa enemmän kuin vain kuvaus siitä kuinka projekti rakennetaan: se on standardoitu, tekninen malli projektille, jonka avulla voidaan luoda raportteja projektista, projektin HTML-sivuston jne.) Hobbies (Harrastukset) Golf (playing & teaching), music (progressive rock & jazz), movies, reading (fantasy & science fiction), computer games (real time strategy & role playing), snooker (Golf (pelaaminen & opettaminen), musiikki (progressiivinen rock & jazz), elokuvat, lukeminen (fantasia & science fiction), tietokonepelit (reaaliaikainen strategia & roolipelit), snooker)
Active Skills (Tekninen osaaminen) Technologies (Teknologiat) Experience (Kokemus) Last used (Käytössä) Skill level (Osaamistaso) Java J2SE 16 years (vuotta) Currently (tällä hetkellä) Expert J2EE 14 years (vuotta) Currently (tällä hetkellä) Expert Hibernate 11 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) Spring 11 years (vuotta) Currently (tällä hetkellä) Expert Wicket 3 years (vuotta) 2014 Good (Hyvä) JDave 8 years (vuotta) Currently (tällä hetkellä) Expert Software Platforms (Käyttöjärjestelmät) Windows 23 years (vuotta) Currently (tällä hetkellä) Expert Linux / Unix 14 years (vuotta) Currently (tällä hetkellä) Expert Application servers (Sovelluspalvelimet) JBoss 3 years (vuotta) 2004 Good (Hyvä) Weblogic 14 years (vuotta) Currently (tällä hetkellä) Expert Jetty 9 years (vuotta) Currently (tällä hetkellä) Moderate (Kohtalainen) Jakarta Tomcat 3 years (vuotta) 2007 Moderate (Kohtalainen) Expression (Ilmaisukielet) XML, XSD, XSL, XSLT 15 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) HTML 16 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) CSS 5 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) Network technologies (Verkkoteknologiat) TCP/IP, HTTP 16 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) SIP 4 months (kuukautta) 2006 Satisfactory (Tyydyttävä) XMPP 4 months (kuukautta) 2006 Satisfactory (Tyydyttävä) Databases (Tietokannat) SQL 16 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) Oracle 8 years (vuotta) Currently (tällä hetkellä) Moderate (Kohtalainen) MySQL 6 years (vuotta) Currently (tällä hetkellä) Moderate (Kohtalainen) PosgreSQL 1 year (vuotta) 2013 Satisfactory (Tyydyttävä) PL/SQL 1 year (vuotta) Currently (tällä hetkellä) Satisfactory (Tyydyttävä)) Sybase 6 years (vuotta) Currently (tällä hetkellä) Moderate (Kohtalainen) Version control & building & testing (Versionhallinta & kasaus & testaus) CVS 16 years (vuotta) Currently (tällä hetkellä) Good (Hyvä) SVN 3 years (vuotta) 2012 Good (Hyvä) Git 6 years (vuotta) Currently (tällä hetkellä) Expert Ant 4 years (vuotta) 2007 Moderate (Kohtalainen) Maven 3 years (vuotta) Currently (tällä hetkellä) Expert Hudson/Jenkins 8 years (vuotta) Currently (tällä hetkellä) Expert Selenium 6 years (vuotta) Currently (tällä hetkellä) Good (Hyvä)
Career History (Työhistoria) Project (Projekti): Analysis of an existing service oriented software architecture of a government agency and identifying areas for development. Redesigning the software architecture (including security aspects) and producing a reference implementation for it. Design and implementation of shared components that support the new architecture. Scrum master & architect & lead developer in 2 projects that were the first to use the new architecture. Reviewing and assisting about 20 other new projects to start using the new architecture. Design of the first public Web Service interface for the agency in question. Implementation of an example application for customers. Implementation of testing tools for the interface. Design, implementation and maintenance of the CI environment of the agency. Implementation and maintenance of a virtual machine that is used by approximately 40 software developers who code for the agency. (Valtion viraston olemassa olevan palvelukeskeisen ohjelmistoarkkitehtuurin analyysi ja kehittämiskohteiden tunnistaminen. Ohjelmistoarkkitehtuurin uudistaminen (turvallisuusnäkökohdat mukaan luettuina) ja referenssitoteutuksen tuottaminen. Uutta arkkitehtuuria tukevien yleiskäyttöisten komponenttien suunnittelu ja toteutus. Scrum Master & arkkitehti & johtava kehittäjä 2 hankkeessa, jotka ensimmäisenä käyttivät uutta arkkitehtuuria. N. 20 muun projektin katselmointi ja avustaminen, jotka ottivat käyttöön uuden arkkitehtuurin. Viraston ensimmäisen julkisen Web Service rajapinnan suunnittelu. Asiakkaille suunnatun esimerkkisovelluksen toteutus. Rajapinnan testaustyökalun toteutus. Viraston CI-ympäristön suunnittelu, toteutus ja ylläpito. Sovelluskehittäjille suunnatun virtuaalikoneen kehitys ja ylläpito. Virtuaalikonetta käyttää n. 40 kehittäjää koodatessaan ko. virastolle.) Time period (Ajanjakso): 14.1.2008- Roles (Roolit): Lead software architect, scrum master, lead developer, security expert (Johtava sovellusarkkitehti, scrum master, johtava kehittäjä, tietoturva-asiantuntija) Technologies (Teknologiat): Spring, JPA/Hibernate, Wicket, JDave, ESB, JMS, SOA, EJB, Maven, Spring Security, Axis, Hudson, Jenkins, VirtualBox
Project (Projekti): Design and implementation of a system that is used to control the machines that sort deliveries. The system is critical to the customer and the quality of the produced software was extremely important. SCRUM and BDD were used in this project. (Lähetysten lajittelukoneiden reittiohjaushallintajärjestelmän suunnittelu ja toteutus. Järjestelmä on kriittinen asiakkaalle ja järjestelmän laatu olikin erityisen tärkeä tässä projektissa. SCRUM- ja BDD-metodeja käytettiin tässä projektissa.) Time period (Ajanjakso): 7.9.2007-21.12.2007 Project (Projekti): Design and implementation of a system that tracks the entire life span of farm animals according to EU regulations. The system provides information via a web interface and also as a web service. SCRUM was used in this project. (Tuotantoeläinten koko elinkaarta EU-säädöksien mukaisesti seuraavan järjestelmän suunnittelu ja toteutus. Järjestelmä tarjoaa tietoa webkäyttöliittymän ja Web Service -rajapintojen kautta. SCRUM-metodia käytettiin tässä hankkeessa.) Time period (Ajanjakso): 5.2.2007-31.5.2007 Project (Projekti): Design and implementation of a system that relays presence data, i.e. information about the availability of users in a mobile VOIP environment. (Ns. presenssidataa, eli mm. tietoa käyttäjän saatavuudesta, välittävän sovelluksen suunnittelu ja toteutus mobiili-voip -ympäristössä) Time period (Ajanjakso): 11.9.2006-14.12.2006 Technologies (Teknologiat): Wicket, Hibernate, JDave, Spring, Maven Roles (Roolit): Scrum master, senior developer (scrum master, vanhempi sovelluskehittäjä) Technologies (Teknologiat): Java EE, SOA, Weblogic 9, Oracle 10, XML, Hibernate, Java Server Faces, Facelets, Spring, PL/SQL Technologies (Teknologiat): Java 5.0, MySQL, Hibernate, SIP, XMPP
Project (Projekti): Maintenance and development of a system that provides stock exchange information on the web pages of customers. (Järjestelmän, joka tarjoaa pörssitietoa asiakkailleen verkkosivuilla, ylläpito ja kehittäminen) Time period (Ajanjakso): 13.1.2006-31.5.2006 Project (Projekti): Modernization of a portal. (Portaalin modernisointi) Time period (Ajanjakso): 14.9.2005-15.12.2005 Project (Projekti): Integration of 2 business systems with a financial system. (Kahden liiketoimintajärjestelmän integrointi rahoitusjärjestelmään) Time period (Ajanjakso): 29.8.2005-15.11.2005 Company (Yritys): Endero Project (Projekti): Endero customer; Porting of an old application on new platform, modernization of the system architecture (conversion to J2EE). (Enderon asiakas; Vanhan ohjelmiston siirtäminen uuden ohjelmistoalustan päälle ja ohjelmistoarkkitehtuurin modernisointi (muuntaminen J2EE:hen)) Time period (Ajanjakso): 2.1.2005-27.5.2005 Technologies (Teknologiat): Java, Tomcat, Oracle, XML, XSL, XSLT, CSS Responsibilities (Vastuualueet): Taking care of the day-to-day operations required to keep the system running. Recreating the system in a new environment in another country. Customizing the service for new customers. (Järjestelmän päivittäinen ylläpito sekä järjestelmän siirtäminen uuteen ympäristöön toisessa maassa. Järjestelmän räätälöinti uusien asiakkaiden tarpeisiin.) Technologies (Teknologiat): Java 5.0, Tomcat 5.5, MySQL, XML, CSS Responsibilities (Vastuualueet): Implementation of functionality for HTML templates created by another company. (Toiminnallisuuden rakentaminen kolmannen osapuolen tuottamiin HTML-pohjiin) Roles (Roolit): Integration developer Technologies (Teknologiat): Java (J2SE), Tomcat, XML Responsibilities (Vastuualueet): Design and implementation of the integration. (Integraation suunnittelu ja toteutus) Technologies (Teknologiat): Java (J2EE), Weblogic 8.1, Oracle, LDAP, XML. Responsibilities (Vastuualueet): Design, development and testing of J2EE application. Accessing programs on AS/400 server with IBM s Toolbox. (JavaEE ohjelmiston suunnittelu, toteutus sekä testaus. Integraatio AS/400 palvelimeen IBM:n Toolboxilla.)
Company (Yritys): Regex/Endero Project (Projekti): A system that can be used in all tasks related to marketing and brand management, like planning, executing and analyzing marketing campaigns, distributing brand guidelines and other documents etc. (Järjestelmä jota voidaan käyttää kaikissa markkinointiin ja brändin hallintaan liittyvissä tehtävissä, kuten suunnittelussa, suorittamisessa ja markkinointikampanjoiden analysoinnissa, ohjeiden ja muiden asiakirjojen jakelussa jne.) Time period (Ajanjakso): 1.8.2001-14.12.2004 Company (Yritys): Regex Project (Projekti): A searching service (Hakupalvelu) Time period (Ajanjakso): 8.6.2001-31.6.2001 Company (Yritys): Regex Project (Projekti): A system that learns to predict user behaviour from previous behaviour (Järjestelmä joka oppii ennustamaan käyttäjän käyttäytymistä aiemman käyttäytymisen perusteella) Technologies (Teknologiat): Java (J2EE), JDBC, XML, JBoss, Oracle Responsibilities (Vastuualueet): Software design and development, database design and administration. (Ohjelmistosuunnittelu, -kehitys sekä tietokannan suunnittelu ja ylläpito) Technologies (Teknologiat): JSP, JDBC, XML Responsibilities (Vastuualueet): Fixing bugs as an emergency aid. (Bugien korjaaminen) Technologies (Teknologiat): Java, JDBC Responsibilities (Vastuualueet): Design and development of the mathematical aspects of the system. (Järjestelmän matemaattisten osioiden suunnittelu ja kehitys) Time period (Ajanjakso): 1.12.2000-31.3.2001 Language skills (kielitaito) Finnish (mother tongue) (suomi, äidinkieli) English (very good) (englanti, erittäin hyvä) Swedish (satisfactory) (ruotsi, tyydyttävä) German (satisfactory) (saksa, tyydyttävä)