Arvot ja Missio

PHZ Full Stack Oy on konsultointiyritys, joka keskittyy suuriin merkityksellisiin projekteihin.

Kaikki työmme tehdään asiakkaiden tiloissa kommunikaation ja projektien onnistumisen maksimoimiseksi. Emme keskity mihinkään yksittäiseen teknologiaan tai tuotteeseen, vaikka enemmistön koodaajistamme muodostavat Full Stack Java, AWS, Node.js, Frontend, PHP, Python, C#, Scala ja Clojure -Devops-ohjelmoijat, vaan pyrimme ratkaisemaan kunkin ongelman sille parhaiten sopivalla teknologialla olkoon se funktionaalinen ohjelmointikieli serverless-ympäristössä tai WordPress.

Yhtiön omistaa yhtiön henkilökunta, eikä meillä ole ulkopuolisia omistajia. Lue lisää yrityskulttuuristamme. Silloin kun emme ole tuomassa miljoonien säästöjä asiakkaillemme kestävän kehityksen menetelmillä, kehitämme omia tuotteitamme.

ARVOT

Laatu

Laatu

PHZ laatuleima syntyy äärimäisen laadukkaasta koodista, joka perustuu kestävään elinkaareen ja ketterään kehitykseen. Laadukas työ on koodareillemme ylpeys ja intohimo, ylpeys syntyy koodista, joka on helposti ylläpidettävää ja läpi testattua.

Taito

Taito

Meillä taito ei vanhene vaan uudistuu jatkuvan kehityksen myötä. Kehittäjämme ovat aktiivisesti mukana henkilökohtaisessa ammatillisessa kehityksessään ja jakavat vuorovaikutteisesti omaa osaamistaan tiimityön kautta. Jatkuvat koulutusmahdollisuudet sekä taidon kehitys takaa osaamisemme parhaan kilpailukyvyn ja yksilöllisen ammatillisen kasvun jokaiselle työntekijällemme.

Tiimityö

Tiimityö

Työntekijät luovat meillä yhteishengen, joka kannustaa intohimoiseen työntekoon. Parhaat oppimiskokemukset syntyvät vuorovaikutuksen kautta, siksi suosimme tiimityötä ja parikoodausta toimistollamme. Aktiivinen tiimityö takaa projekteillemme laadukkaan ja tehokkaan tuloksen.

palaute

Palaute

Yrityksessämme vallitsee keskustelukulttuuri, jossa mielipiteitä ja kehitysideoita halutaan jakaa aktiivisesti. Mahdollistamme korkean laadun ja kestävän koodin välittömän palautteen myötä. Virheiden korjaus on siis välitöntä palautteen myötä ja oikean suunnan löytäminen on ketterää.

MISSIO

PHZ Full Stack on perustettu kehittämään kestävän kehityksen ohjelmistoja.

Mielestämme ohjelmistotuotannon suurin hukka (waste) syntyy siitä, että toimivaa koodia heitetään pois ja kirjoitetaan uudestaan (rewrite) turhan takia. Jos asiakas on käyttänyt juuri esim. satoja tuhansia tai miljoonia euroja järjestelmän uusimiseen, ei kulu kuin n. keskimäärin 18kk, kun ohjelmoijat kertovat asiakkaalle, että järjestelmä tulisi kirjoittaa uudestaan uudemmalla hienolla teknologialla X (joka vaihtuu myös 18kk välein). Tämä valtava hukkainvestointi tunnetaan parhaiten nimellä versio 2.0, mutta todellisuudessa se tarkoittaa koko projektin investointikustannuksen sijoittamista projektiin uudestaan. Tämä on valtavan kallista, mutta valitettavan tavallista. Asiakkaiden rahat valuvat hukkaan, kun tehdyt investoinnit joudutaan heittämään ikkunasta ulos ja investoimaan uudestaan olemassaoleviin järjestelmiin sen sijaan että ne käytettäisin tuottavammin uuden liiketoiminnan kehittämiseen.

Pääsyynä versio 2.0 -hukkasykliin on ns. pimeän puolen ohjelmistotuotantokäytännöt, jotka ovat houkuttelevia ja nopeita, mutta johtavat aina asiakkaan näkökulmasta erittäin kalliiseen kärsimykseen, kun investointivarat joudutaan hukkaamaan. Koodaajien näkökulmasta perinteiset pimeän puolen käytännöt aiheuttavat pelkoa muutoksen tekemiseen olemassa olevaan koodiin. Kaikki ohjelmoijat tietävät, että yhdenkin merkin muuttaminen olemassaolevasta koodista todennäköisesti hajoittaa sen puolella tusinalla erilaisella tuntemattomalla tavalla. Tilanteessa, jossa projektipäällikkö hiillostaa selän takana ja työn alla olevan ominaisuuden olisi pitänyt olla jo eilen valmis, useimmat ohjelmoijat kiertävät pelottavan koodikohdan tekemällä sen ympärille pelottavan kohdan kiertävän “virityksen”, sen sijaan että korjaisivat koodin oikeaoppisesti. Tämä kuitenkin lisää teknistä velkaa ja parin kuukauden kuluttua kun samaa koodia katsotaan uudestaan, se on vieläkin pelottavamman näköistä.

Keskimäärin noin 18 kuukaudessa spagetin määrä on kasvanut niin suureksi, ettei projektiin enää pystytä tekemään käytännössä muutoksia ilman että ne aiheuttavat tusinan verran uusia bugeja (regressio). Projektin muutoksentekemisen kustannukset kasvavat eksponentiaalisesti ja asiakastyytyväisyys on pohjamudissa. Pimeän puolen käytäntöjen vallitessa myös jatkoprojektissa, sama sykli toistuu seuraavan 18kk aikana ja pian on syntynyt tarve tehdä versio 3.0, joka sekään ei ole yhtään sen parempi kuin edeltäjänsä, usein päin vastoin.

Ratkaisuna jokaista ohjelmoijaa jäytävän muutoksen tekemisen pelon voittamiseksi olemme onnistuneesti jo 15 vuoden ajan käyttäneet Extreme Programming -käytäntöjä ja testiautomaatiota. Automaattisten yksikkötestien avulla ohjelmiston vaatimukset pystytään tarkastamaan muutamassa sekunnissa tai minuutissa, jonka jälkeen ohjelmoijat joko testien ollessa vihreällä tietävät että voivat nukkua yönsä hyvin, tai testien mennessä punaiselle näkevät heti mitkä asiat hajosivat ja voivat korjata ne.

Vaikka käytämme aina uusinta teknologiaa uusien ominaisuuksien tekemiseen, toimiva koodi on mielestämme pyhää, eikä sitä tule heittää pois ilman hyvää syytä. Kuitenkin jos koodissa ei ole automaattitestejä, se usein aiheuttaa niin paljon ongelmia että uudelleenkirjoituskin on siinä tapauksessa mahdollinen. Olemme kuitenkin onnistuneet pelastamaan lukuisia projekteja ja asiakkaiden miljoonia euroja hukkatyöltä ja turhista investoinneista, kiitos testiautomaation ja korkean laadun.

Periaatteet

Arvojen lisäksi toimintaamme ohjaa seuraavat periaatteet: Laillisuus ja tasapuolinen kohtelu, rokotemyönteisyys sekä poliittinen neutraalius.

Laillisuus ja tasapuolinen kohtelu

Hallintotiimimme osoittaa Osaamistaan (Skill) tuntemalla kunkin maan lain, työehto- ja muiden sopimusten jokaisen pykälän ja noudattamalla sitä pilkulleen. Jos huomaamme parannettavaa, korjaamme palkkalaskelmat ja laskutuksen jälkikäteen vastaamaan säännösten mukaista oikeaa tulkintaa. Vältämme asiakkaiden tai työntekijöiden kohtelua tapauskohtaisesti, mielivaltaisesti tai epätasa-arvoisesti, sillä tuntemalla hyvin verohallinnon ohjeet seäk KKO:n ratkaisut, jokaiseen tilanteeseen on löydettävissä oikea ™ käsittelytapa.

Työntekijän näkökulmasta tämä tarkoittaa kaikkien työntekijöiden tasapuolista ja oikeudenmukaista kohtelua. Toisaalta meiltä on turha odottaa erityiskohtelua tai henkilökohtaisia etuja, joita ei myös muilla työntekijöillä ole saatavilla.

Rokotemyönteisyys

PHZ työterveyspakettiin kuuluu kaikki rokotukset myös vapaa-ajalle. Suosittelemme työntekijöitämme hankkimaan kattavat rokotukset. Rokotuksissa käyminen on palkallista työaikaa.

Poliittinen neutraalius

PHZ ei ota kantaa, tue tai edistä minkään poliittisen puolueen, valtion tai suuntauksen kanssa. Elämme kieli keskellä suuta olemalla kommentoimatta, tuomitsematta, sponsoroimatta tai kannattamatta mitään aatetta, poislukien Kestävän Koodin ™ tuottaminen.

Kestävä Koodi ™ ei ole suoranaisesti ympäristöystävällistä koodia, vaan ensisijaisesti Lean -ideologian mukaisesti tuotettua. Sen sivuvaikutuksena säästämme myös ympäristöä, mutta ensisijaisesti asiakkaamme tuotekehitysbudjettia sekä koodaajien työpanosta seuraaville sukupolville.

Teknologiapreferenssit

PHZ Full Stack:n teknologiastrategia on käyttää kaikkia mahdollisia teknologioita. Emme koskaan tiedä mitä kaikkea asiakasprojektin pellin alta löytyy, joten on parempi tuntea ne kaikki. Parinkymmenen ohjelmointikielen ja puolen sadan frameworkin jälkeen ne kaikki alkavat näyttää samalta pienillä syntaksieroilla.

Full Stack -kehittäjä on moniosaaja, minkä takia meillä on microservice-arkkitehtuurissa yleensä suurin osa yleisimmin käytetyistä ohjelmointikielistä. Yhden teknologian sijasta lähes joka projektista löytyy sekä tuttu ja turvallinen ympäristö uusille kehittäjille, että oppimishaasteita vielä uusista teknologioista.

Editoreissa PHZ Full Stack kannustaa kaikkia käyttämään ammattilaisten suosimaa Jetbrains-tuotteita, joihin on hankittu full product pack -lisenssit kaikille ohjelmointikielille. VSCode ja muut editoritkin on hyviä, mutta tiimityössä on tärkeää coding convention:n ylläpitämiseksi yhtenäistää myös kehitystyökaluja.

PHZ Full Stack:lla kaikki kehitysympäristöt on virtualisoitu joko Vagrant:lla että Docker:lla. Pyrimme välttämään kehittämistä omalla koneella, sillä vaikka on yleensä mahdollista saada yksi microservice ja yksi projekti toimimaan tietyllä ohjelmointikielen versiolla, ongelmia tulee kun projekteja on kymmeniä ja microservicejä satoja. Virtuaaliympäristöjen käyttö on enemmän nykypäivää matkalla kohti serverless:iä.