Juha Komulainen

Olen harrastanut ohjelmointia lähes 30 vuotta, ja se on musiikin sekä matematiikan lisäksi yksi suurista intohimoistani. Yli kahdenkymmenen vuoden työurallani olen toiminut pääsuunnittelijana projekteissa, tehnyt arkkitehtuuriauditointeja sekä järjestänyt lukuisia koulutuksia.

Työkokemus

Evident Solutions Oy

Arkkitehti
2011–

Toimin projekteissa pääsuunnittelijana sekä ohjaan ja tutoroin muita kehittäjiä.

Kansalliskirjasto: Kuvatalkoot

Pääsuunnittelija

2013
Toteutimme Kansalliskirjaston digitaalisiin arkistoihin uusia joukkoistus-ominaisuuksia, joilla palvelun käyttäjät voivat merkata artikkeleita ja leikkeitä arkistoidusta materiaalista ja jakaa niitä sosiaalisessa mediassa.

HTML, Spring MVC, Java, Oracle, JPA, jQuery, AngularJS, Facebook-integraatio, Twitter-integraatio, Google-integraatio, OAuth

Tukes: VARO-rekisteri

Pääsuunnittelija

2012
Toteutimme Tukesille onnettomuuksien sekä vaaratilanteiden valvonta- ja seurantarekisterin. Toteutus sisälsi sekä Tukesin tarkastajien käyttämän sisäisen järjestelmän että julkisen, tapausten hakemiseen tarkoitetun internet-sivuston.

C#, ASP.NET MVC, SQL Server, jQuery

Evident Solutions Oy: CodeRemarks

Arkkitehti

2011
CodeRemarks on koodikatselmointia varten kehittämämme tuote.

Scala, jQuery, CSS, Google Appengine, SBT, Mercurial

Elisa: OmaElisa

Ohjelmistosuunnittelija

2011
Toimin tiimissä, joka kehittää Elisan yritysasiakkaille suunnattua palvelua.

Solita Oy

Ohjelmistosuunnittelija
2001–2004

Arkkitehti
2004–2011

Toimin yli kolmessakymmenessä projektissa pääasiallisesti arkkitehdin tai pääsuunnittelijan tehtävissä. Suunnittelin ja toteutin monia Solitan käyttämiä sovelluskehyksiä sekä sisäisiä sovelluksia.

Olin aktiivisesti mukana Solitan sisäisessä kehityksessä ja määrittelin Solitan projekteissa yleisesti käytettyjä referenssiarkkitehtuurimalleja. Järjestin lukuisia Solitan sisäisiä sekä asiakkaille tehtyjä arkkitehtuuri- ja koodikatselmointeja, joissa evaluoitiin järjestelmien ylläpidettävyyttä ja kehitettiin projektiryhmälle sopivia keinoja laadun parantamiseen.

Luennoin monissa Solitan sisäisissä koulutuksissa, Tampereen Teknillisen Yliopiston vierailuluennoilla sekä asiakkaan teknisille osaajille järjestetyissä koulutuksissa. Koulutusten aiheet ovat vaihdelleet yksittäisistä teknologioista (esim.Spring, Hibernate, Java, C#) yleisempiin aiheisiin kuten strateginen arkkitehtuurisuunnittelu tai testausmenetelmät.

Olen ollut keskeisessä roolissa esimerkiksi seuraavissa projekteissa:

Teollisuuden hajautetun tiedonhallinnan yhdistys: SEFRAM

Pääsuunnittelija

2005–2010

Teollisuuden hajautetun tiedonhallinnan yhdistykselle sekä useille teollisuuden toimijoille tehdyssä kunnianhimoisessa projektissa suunnittelimme ja toteutimme järjestelmän, joka hallitsee ja jakaa laitossuunnittelutietoa monitoimittajaympäristössä.

Jatkoprojekteissa on suunniteltu ja tehty integraatioita toimittajien suunnittelu- ja simulaatiojärjestelmiin sekä laajennettu järjestelmää vastaamaan paremmin myös kunnossapidon tarpeisiin.

Verkkolaitevalmistaja: Verkkoliikenteen reaaliaikainen analysointi

Pääsuunnittelija

2002–2003

Toteutimme suurelle mobiiliverkkovalmistajalle järjestelmän, jolla operaattorit voivat tarkkailla verkon tilaa. Operaattorit voivat muodostaa kyselyiden pohjalta erilaisia graafeja, joiden tulokset päivittyvät reaaliajassa verkon liikenteen perusteella.

Massiivisesti hajautettu järjestelmä jakaa kyselyihin liittyvät laskutoimitukset verkon eri koneille, niin että siirrettävän datan määrä pysyy mahdollisimman pienenä ja latenssit saadaan minimoitua.

Sanoma WSOY: Oma Maailma

Pääsuunnittelija

2009
Toteutimme Helsingin Sanomien Oma Maailma -matkailupalvelun (nykyään HS.fi Matka). Liferay-portaalin päälle toteutettu Oma Maailma integroitiin niin Microsoftin Bing-karttapalveluun kuin eri matkatoimistojen järjestelmiinkin.

Verkko-operaattori: Verkonhallinta

Ohjelmistosuunnittelija

2001
Toteutimme suomalaiselle verkko-operaattorille järjestelmän kaistan myyntiin ja priorisointiin. Järjestelmä tuki erilaisia sääntöjä, jotka tukivat liikenteen priorisointia protokollien ja verkkojen mukaan. Sovelluksella operaattorit pystyivät rakentamaan asiakaskohtaisia sääntöpaketteja helposti. Järjestelmä konfiguroi näiden sääntöjen pohjalta operaattorin edge-reitittimet automaattisesti.

STT: Mediapankki

Pääsuunnittelija

2007

Mediapankki on STT: n nettiportaali, jonka kautta STT:n uutis-, kalenteri- ja listapalvelut ovat asiakkaiden tavoitettavissa yhden ja saman käyttöliittymän kautta.

Oleellinen Mediapankin tuoma lisä aiempaan on käyttöliittymän personointi siten, että käyttäjä voi luoda ja tallentaa itselleen hakuja juuri häntä itseään kiinnostavista asioista ja aihepiireistä. Käyttäjän on mahdollista myös määritellä omaan henkilökohtaiseen näkymäänsä automaattisesti päivittyviä hakuikkunoita itseään kiinnostavista aihepiireistä.

Alma Media: Mikko.fi

Pääsuunnittelija

2007
Mikko.fi on Alma Median palvelu, jossa käyttäjät käyvät kauppaa keskenään. Netissä olevien ilmoitusten lisäksi Mikon kautta voi jättää ilmoituksia myös Alma Median sanomalehtiin.

Edutech: Edugate

Pääsuunnittelija

2003
Toteutimme järjestelmän, jolla Edutech hallinnoi tarjoamiaan koulutuksiaan. Edugate mahdollistaa erilaisten koulutusohjelmien suunnittelun ja sisältää myös materiaalipankin koulutusmateriaalin hallintaan. Toisaalta Edugate tarjoaa myös kaikki työvälineet yksittäisen koulutuksen läpivientiin: osallistujien ja kalenterin hallinnan, harjoitustöiden hallinnan, arvosanojen antamisen jne.

IT Optimo / Posti: Hintalaskuri

Pääsuunnittelija

2005
Hintalaskuri on kirjasto, jota Posti käyttää tuotteidensa hintojen laskentaan niin verkkosivuillaan kuin kassapäätteissäänkin. Projekti integroituu Postin SAP-järjestelmän kanssa ja toteuttaa eri hinnoittelumallien mukaiset laskentasäännöt.

Kesko: Useita EPiServer-sivustoja

Pääsuunnittelija

2009–2010
Olin pääsuunnittelijana toteuttamassa www.k-citymarker.fi, www.k-market.com ja www.yamaha-center.fi -sivustojen uudet versiot.Kaikki ratkaisut pohjautuivat EPiServer-alustaan.

Kesko: Reseptipankki

Pääsuunnittelija

2010
Toteutimme Keskolle järjestelmän reseptien tuottamiseen Keskon palveluihin (esim.Pirkka). Sovelluksella hallitaan reseptien koko elinkaarta aina raaka-aineiden hallinnasta ja koekeittiöstä julkaisuun asti.

Rautakirja Oy Lehtipiste: ELMO ERP-järjestelmä

Arkkitehtuurikonsultti

2007–2010
Toimin arkkitehtuurikonsulttina projektissa, joka toteutti Lehtipisteen toiminnanohjausjärjestelmän.

KMY: S-Laku

Pääsuunnittelija

2003
Toteutin järjestelmän telakkatyössä tehtyjen aloitteiden, niiden jatkoseuraamusten ja niistä maksettujen palkkioiden hallintaan.

ICL

Kesätyöntekijä
1999

Toimin kolmen hengen tiimissä, joka suunnitteli ja toteutti usean tuhannen koneen Y2K -ja tietoturvapäivitykset ICL:n asiakkaalle.

Osaaminen

Yleistä

Minulla on kokemusta muun muassa suurien käyttäjämäärien verkkopalveluista, tietoliikennejärjestelmistä, sisällönhallinnasta, prosessiteollisuudesta sekä sovelluskehysten toteutuksesta.

Seuraan aktiivisesti ohjelmointikielten sekä useiden sovelluskehysten ja kirjastojen kehitystä. Tutustun uusiin teknologioihin ja selvitän niiden soveltuvuutta eri käyttötarkoituksiin.

Vapaa-ajallani olen toteuttanut lukuisia kääntäjiä, virtuaalikoneita, pelejä, verkkopalveluita, sovelluskehyksiä, apuohjelmia ym.

Lähimpänä sydäntäni ovat ohjelmointikielet, meta- ohjelmointi sekä domain-spesifiset kielet; uskon, että alalla on vielä paljon opittavaa, jotta löydämme tehokkaampia ja turvallisempia tapoja toteuttaa järjestelmiä.

Ohjelmointikielet

Viime aikoina aktiivikäytössäni ovat Java, C#, JavaScript, Kotlin sekä Swift. Aiemmin aktiivisina kielinä ovat olleet lisäksi ainakin Haskell, Kotlin, Objective C, Scala, Python, Ruby, F#, Scheme, C, C++ ja Clojure. Yli tuhannen rivin ohjelmia olen toteuttanut näiden lisäksi ainakin kymmenellä eri kielellä ja pienempiä kenties viidelläkymmenellä.

Olen tutustunut useisiin eri paradigmoihin ja seuraan ohjelmointikielten tutkimusta, joten pystyn omaksumaan uudet kielet nopeasti.

Ympäristöt ja sovelluskehykset

Olen vuosien varrella käyttänyt kymmeniä erilaisia ympäristöjä ja sovelluskehyksiä, alla listattu muutamia jotka ovat relevantteja vielä nykyäänkin:

  • Web: AngularJS, Spring MVC, ASP.NET MVC, Wicket, EPiServer, Ruby on Rails, Django
  • Desktop: Swing, WPF, Cocoa
  • Mobiili: iOS, Android, HTML

Avainsanat

.NET, ASP.NET MVC, Agile, Angular, AngularJS, Ant, Apache Tomcat, BDD, C#, CORBA, CSS, CVS, Cocoa, Continuous Integration, DDD, EJB, EPiServer, Eclipse, FAST ESP, Facebook-integraatio, GIT, Google Appengine, Google-integraatio, Guice, HTML, Hibernate, Hudson, IoC, JDBC, JMX, JPA, JSP, JUnit, Java, JavaEE, Jetty, Liferay, Lucene, Maven, Mercurial, MySQL, NHibernate, OAuth, Open Source, OpenGL, Oracle, PostgreSQL, Relaatiotietokanta, Rest, Ruby on Rails, SBT, SOA, SOAP, SQL, SQL Server, SVN, Scala, Scrum, Sharepoint, Spring, Spring MVC, Struts, Swing, TDD, Twitter-integraatio, Wicket, XML, XP, XPath, XSD, XSLT, jQuery

Kielet

suomi äidinkieli
englanti erinomainen
ruotsi perusteet
saksa perusteet
portugali perusteet