Palvelut

Onko osaajapulaa? Isompi projekti tiedossa ja tiimistä puuttuu devaaja? Hyvä! Tai siis ei hyvä, mutta tässäpä saattaisi olla käypä ratkaisu siihen. Todennäköisesti jo tiedättekin kuvion: vuokraa koodari ja säästy aikaa ja rahaa vievältä rekrytointiprosessilta! Me (minä) täällä yhden hengen fullstack -asiantuntijaorganisaatiossamme tarjoamme yhtä (1) omistautunutta ja innovatiivista vuokrakoodaria kiinteällä tuntiveloituksella teidänkin kehityshankkeisiinne!


Koko läjä

Fullstack-kehittäjä sotkemaan teidänkin koodipohjanne! Ja viisastelemaan ja ryystämään kaikki kahvinne! Niin ja joskus tekemään töitäkin.


Devaajatiimiä kasaava projektinvetäjä todennäköisesti jo miettii, mitähän se tämäkin henkilö oikeasti osaa. Mietin sitä usein itsekin. Tiedän ja todennäköisesti osaan myös piirtää valkotaululle, kuinka kuplalajittelualgoritmi toimii. Kai se riittää?

Full Stack

Vitsi vitsi! En minä oikeasti tiedä miten kuplalajittelualgoritmi toimii, olen insinööri enkä maisteri. Sen sijaan, että keskittyisin itse ohjelmointikieliin kaikkine hienouksineen, olen perehtynyt enemmänkin siihen, mihin niitä voi käyttää. Esimerkiksi Javascript. Tämäkin sivu on tehty Reactilla, tarkemmin ottaen Gatsbylla, joka on omien kokeilujeni perusteella osoittautunut melko hyväksi NodeJS -pohjaiseksi SSG :ksi webpackeineen ja kuvien optimointeineen. Blogi-osiossa käytetään Gatsby-MDX:ää, joka osaa muuttaa markdown-tiedostot HTML-sivuiksi sivuston pakkausvaiheessa monen mutkan ja useamman graphql -kyselyn kautta. Muotoilusta ja responsiivisuudesta vastaa Bootstrap 5 ja perinteinen CSS.

Fullstackin toinen puolisko koostuu tämän sivun tapauksessa AWS :n Lightsail -palveluun toteutetusta Linux-serveristä, Dockerista ja Nginx-proxy -kontista, joka ohjaa web-kutsut VIRTUAL_HOST -ympäristömuuttujan perusteella toiseen konttiin, josta itse sivusto tarjoillaan niin ikään Nginx-pohjaisen palvelimen avulla. Nginx-proxyyn on myös yhdistetty acme-companion -kontti, jonka avulla eri osoitteiden SSL-sertifikaattien (Let's Encrypt) hallinta onnistuu automaagisesti ja keskitetysti. Tämä sivu ei sitä kuitenkaan käytä, koska tämä on piilossa Cloudflaren takana. Cloudflare hoitaa tietoturvaominaisuuksiensa lisäksi sertifikaatit sekä staattisen sisällön välimuistittamisen. Ja koska sivu on tehty serverless-tyyliin staattisena, yhteydenottolomake käyttää AWS:n Lambda -pilvifunktiota (ja SES:iä).

DevOps

Entäs sitten se modernin devaajan suosikkiaihe, DevOps? Ketterät menetelmät ja muut kyttyrät ovat olennainen osa tämän päivän ohjelmistokehitystä, ja jokaisen devaajan tulisi tietää ainakin jotain näistä. Niinpä me (minä) täällä yhden hengen Agile-DevSecOps-asiantuntija-astronauttirallitallissamme olemme ottaneet DevOps-kulttuurin osaksi jokapäiväistä toimintaamme. Esimerkiksi tämän sivuston tapauksessa CI/CD-putkena toimii GitLabin ratkaisu. Git-repon juureen on tehty .gitlab-ci.yml -tiedosto, joka sisältää noin kymmenen riviä bash-komentoja. Nämä komennot yhdessä Gitlabiin tallennettujen projektikohtaisten ympäristömuuttujien kanssa suorittavat koodin testauksen ja pakkaamisen sekä sivuston siirtämisen tuotantopalvelimelle (SSH) käyttäen toiselle palvelimelle sijoitettua Gitlab Runner -konttia. Lopputulos on se, että aina kun sivustoa päivitetään, muutokset näkyvät tuotannossa heti sen jälkeen, kun main-branchiin tehdään git push.*

Mutta että miksi moinen hässäkkä yhden sivuston kanssa, kun on olemassa Wordpressit ja muut? No tietenkin siksi, koska se on mielenkiintoista, hauskaa ja ennen kaikkea opettavaista. Eikä devaajablogi olisi devaajablogi ensinkään, ellei postauksia voisi tehdä suoraan Vimistä.

*Oikeastaan tämä sivu on nyt Cloudflare Pages -palvelussa. Tuo edellä mainittu rakennelma oli kuin olikin turhan monimutkainen vaikka toimikin mainiosti. Idea toki pysyy edelleen samana, mutta omia build-virityksiä ei enää tarvita.

Jatkuva oppiminen

Nykypäivänä koodarilta odotetaan automaattisesti kykyä ja halua oppia uusia asioita. Ja sehän on ihan perusteltua, kun markkinoille tulee jatkuvasti uusia teknologioita ja hipstereitä mullistamaan eli disruptoimaan globaalia liiketoimintaympäristöä. Niinpä me (minä) olemme täällä yhden hengen asiantuntija-akateemikko-opiskelijakollektiivissamme ottaneet. Niin ja ottaneet yhdeksi ydintehtäväksemme pysyä kärryillä uusista, hienoista ja kiiltävistä muotisanoista. Tämä ei kuitenkaan tarkoita sitä, että ikivanhoja kuuden tuuman rautanauloja pitäisi yhtäkkiä alkaa naputtelemaan uusimmalla ja hienoimmalla kvanttitekoäly-katalysaattorikatiskalla joka kulloinkin sattuu olemaan pinnalla, kun vanha kunnon vasarakin toimii.

Devaajatiimiä kasaava projektinvetäjä todennäköisesti jossakin vaiheessa miettii, pitääkö tällekin henkilölle opettaa kädestä pitäen kaikki. Ei sentään! Töitähän tehdään nykyään enenevissä määrin etänä. Ja toisaalta olen aina ollut hyvinkin nopea oppimaan ja sisäistämään uusia asioita sekä lukemalla että erityisesti tekemällä. Ja ihan ite!

Lopetan tämän mini-CV:ni tähän. Mutta eipä siinä vielä kaikki! Lisätietoa saa aina kysymällä.