Torstaina 29.2.2024

Näin Dudella kehitetään osaamista

Kovinta tasoa ei saavuta ilman jatkuvaa kehittymistä. Dudella kehittyminen on kiinteä osa yrityskulttuuria ja koko toiminnan elinehto. Rapatessa roiskuu ja se täytyy hyväksyä, jos haluaa päästä pitkälle. Lue lisää 12-henkisen Duden arjesta kehittymisen suhteen.

Dudella suhtaudutaan kehittymiseen intohimoisesti ja siksi se onkin yksi yrityksen ydinarvoista. Kukaan ei ole seppä syntyessään. Olemme kaikki täällä oppimassa.

12 henkilöä työllistävänä yrityksenä Dudelle kehitys on elinehto, sillä asiat eivät saa jämähtää paikalleen. Tämän kirjoituksen tarkoitus on hieman avata Duden osaamisen kehittymistä, johon panostamme päivittäin kollektiivina.

Kehitymme jatkuvasti. Koko tiimi seuraa aktiivisesti työkalujen, tekniikoiden ja toimintaympäristön kehitystä. Projekti ja tiimi hyötyy siitä, että jotain uutta kehitetään jopa projektin aikana. Tästä hyvä esimerkki on talon kruununjalokivi, avoimen lähdekoodin WordPress-kehittäjäteema Air-light, joka tiheimmillään päivittyy jopa päivittäin.

Tietoa yrityksestä

Kehittyvä yrityskulttuuri

Jatkuvaan kehitykseen viittaa yrityskulttuurissamme isoin ja pienin vihjein hämmästyttävän moni asia, kuten esimerkiksi DUDEKVLT OVROBOROS -vaatemallistossakin esiintyvä häntäänsä syövä kärmes, joka kuvastaa primääriä ikuista, loppumatonta tuhon ja uudelleensyntymisen kierrettä. Tämä kiertokulku on meidän maailmassa laajennettu myös kehittymisen käsitteeseen, joka alkaa alusta aina uudestaan ja uudestaan.

DUDE KVLT OVROBOROS -huppari. Tekstit sivussa: join the kvlt, omnia unus est, joka tarkoittaa "me olemme yhtä".

Kehitystä voi tapahtua ainoastaan, jos on itse valmis kehittymään. Ego on vihollinen (kirjasuositus), joka on yleensä kehityksen tiellä.

Dude kehittää avoimesti ja avoimia laatustandardeja noudattaen

Kehitys on meillä ennen kaikkea avoimuutta, joka tarkoittaa montaa asiaa. Koodipuolella avoimuus tarkoittaa esimerkiksi avointa lähdekoodia, jonka innoittamana julkaisemme kaiken minkä voimme GitHubissamme julkisesti. Koodin ulkopuolella se on avoimuutta ja rehellisyyttä toisillemme työkavereina, mutta myös asiakkaille. Läpinäkyvyydestä osoituksena löytyy muunmuassa virallinen operointimanuaalimme osoitteessa handbook.dude.fi ja kehittäjästandardit GitHub Wikien lisäksi osoitteessa dev.docs.dude.fi. Open sourcesta ja avoimesta koodaamisesta olen kirjoittanut Duden ensimmäisestä päivästä lähtien ja suhtaudun tähän intohimolla.

Hiottu aloituspiste

Kun kaikki tehdään räätälöidysti, aloitukseen on hyvä olla lentävä lähtö olemassa. Projektin ensimmäisessä vaiheessa, eli suunnitteluvaiheessa, Dudella on käytössä Dude Starter Kit, joka toimii suunnittelun pohjana Figmassa.

Figma-kuvankaaappaus DUDE Starter Kitistä.

Tekniikkapuolella on käytössä vuosia hiottu maailmallakin kehuttu avoimen lähdekoodin aloitusteema Air-light, joka säästää kymmeniä tunteja startista ja antaa täydellisen pohjan uuden luomiseen siten, ettei mukaan tartu mitään turhaa painolastia.

Sekä Starter Kitiä ja startteriteemaa kehitetään jatkuvasti eteenpäin. Starter Kit juoksee tällä hetkellä versiossa 4.0 ja Air-light versiossa 9.4.0.

Virheen tekemistä ei tarvitse pelätä – avoimuus auttaa

“Minä tein virheen, anteeksi!” on lausahdus, jota kuulee harvoin. Itse yritän kuitenkin kannustaa virheiden myöntämiseen, koska se auttaa kehittymään. Olen tehnyt verkkosivuja 26 vuotta ja teen silti virheitä. Kaikki tekevät niitä. Ammattilaisena uskallan sanoa sen ääneen.

Slack-keskustelu: Aaah no niinpä tietysti. Minä tein virheen, käsi pystyyn :hand: Kiitos korjauksesta @Elias :raised_hands: emoji
Katso uudemmat vastaukset

Roni vastasi ketjuun 17:54:
FastCGI sent in stderr: "PHP message: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''wp_air_cookie' WHERE visitor_id = 'f284009a-ace9-42e7-a5ef-42b065a9184c' AND...' at line 1 for query SELECT id FROM 'wp_air_cookie' WHERE visitor_id = 'f284009a-ace9-42e7-a5ef-42b065a9184c' AND cookie_revision = '2412150750' AND cookie_value = 'a:4:{i:0;s:9:\"necessary\";i:1;s:10:\"functional\";i:2;s:9:\"analytics\";i:3;s:6:\"embeds\";}' made by require('wp-blog-header.php'), wp, WP->main, WP->parse_request, do_action_ref_array('parse_request'), WP_Hook->do_action, WP_Hook->apply_filters, rest_api_loaded, WP_REST_Server->serve_request, WP_REST_Server->dispatch, WP_REST_Server->respond_to_request, Air_Cookie\record_consent" while reading response header from upstream
Release tehty :white_check_mark: emoji

Kukaan ei ole virheetön tai täydellinen kokemuksesta riippumatta. Virhe ei tarkoita laaduttomuutta tai epätäydellisyyttä, jos tekemiseen suhtautuu oikealla asenteella, sillä oikeassa lokerossa pienistä virheistä syntyy timanttia.

Jopa isot mokaavat.

Virheiden tekemistä ei siis tarvitse pelätä Dudella, se kuuluu asiaan. Kukaan ei tietenkään halua tehdä virheitä, mutta kylmä tosiasia kuitenkin on, että virheitä sattuu, se pitää vaan hyväksyä. Kokemalla ja mokaamalla oppii ja kehittyy, eli virheet voi kääntää voitoksi.

Työkaverin auttaminen ja kannustaminen kehittymisen motivaattorina

Avoimuus kehittymisessä ulottuu firman sisällä keskustelemiseen ja tekemiseen, joka painottuu erityisesti kun noin puolet porukasta on osan ajasta tai kokonaan etänä. Kaverin auttaminen motivoi tekemään hyvää ja vähentää kynnystä kysymiseen. On mukava tunne, kun apua saa helposti kirjoittamalla tai soittamalla.

Slack:

Tuomas 14 days ago
Kuulostais siltä, että gravity formsin oletustyylej ei olla
otettu pois päälta. Jos kyseessä ei oo legacyprojekti,
joka tukeutuu nihin oletustyleihin, nii ne pitäis ottaa
pois päälta hallinnasta. Eli hallinnasta forms -> settings
-> output default css pois päältä
Maria 14 days ago
i ilmeisesti tämä tukeutuu, koska asetuksissa ei ole tuota
vaihtoehtoa ollenkaan.
Arto 14 days ago @Maria Joo voidaan me tietty vilkasta että millainen
ongelma olis. Olisko nyt kohta sopiva hetki?
Maria 14 days ago
• Mulle käy ihan mikä aika vaan, sitten kun sulle sopii. Arto 14 days ago
jees, soita kun pystyt
Maria 14 days ago
Käyn keittämäss kaffetta ni soitan sit, noin 10min.

Automaattinen virheenkorjaus apuna

Dudella käytetään edistyneitä virheenkorjaustyökaluja apuna. Tämä tarkoittaa sitä, että taustalla työkalu valvoo mitä koodataan ja osoittaa heti punakynällä kohdat, jotka on menossa pieleen. Tällä tavoin opimme lennosta miten tehdään asioita oikein.

Kuvankaappaus VSCode-editorista, jossa on virheenkorjaus päällä (PHP_CodeSniffer).
Tässä esimerkissä on unohtunut välilyönti funktiokutsun sulun avaamisen jälkeen.

Projektien vanhetessa ja PHP-versioiden päivittyessä teknistä velkaa syntyy väistämättä. Kaikki tietävät isommat ohjelmistoprojektit, tekniikan liikkuessa eteenpäin kaikki tehty ei mitenkään voi pysyä perässä reaaliajassa. Hyvien virheenkorjaustyökalujen avulla tekninen velkakin on kuitenkin hallittavissa. Ilman faktatietoa ei synny kehitystä.

Virheilmoitus editorissa: Using ${var} in strings is deprecated since PHP 8.2, use {$var} instead. Found: ${filetype}
(PHPCompatibility.TextStrings.RemovedDollarBraceStringEmbeds.DeprecatedVariableSyntax)
PHP 8.3:n myötä asioita poistuu käytöstä. Pienet muutokset on kuitenkin helppo ruuvata paikalleen.
Virheenjorjaus CSS-puolella.
Sama homma tietysti SCSS-tyylipuolella ja JavaScript-maailmassa.

Virheenkorjauksesta lisää muunmuassa teknisessä handbookissamme dev.docs.dude.fi ja teksteissä kuten Verkkosivujen visuaalinen suunnittelu – Nykyaikainen front end, CSS ja käyttöliittymät, Avoin lähdekoodi osana web-kehitystä. Lisää Duden koodaamiseen liittyviä kirjoituksia löydät tägin koodaaminen alta.

En millään haluaisi mainita tekoälyä, mutta mainitaan nyt sitten hampaita kiristellen. Copilot on ihan kiva. ChatGPT:tä en voi suositella, se tekee epäsaavutettavaa fronttia ja tietoturvatonta bäkkiä. Ainakin vielä toistaiseksi.

Alan huipputyökalut auttavat kehittymään

Tylpällä veitsellä on hankala veistellä ja seinää ei saa maalattua kokonaan, jos ei ole tarpeeksi maalia. Huonot työkalut hidastavat kehitystä. Jos et saa valmista työkaluista johtuen, et näe virheitäsi. Pahimmillaan luot uusia ongelmia, kun tappelet joutavien työkaluongelmien kanssa. Siksi Dudella on ensimmäisestä päivästä lähtien keskitytty työkalujen parhaaseen mahdolliseen laatuun. Jos toimivia työkaluja ei löydy maailmalta, luomme itse omat työkalumme, jotka kehittyvät tekemisen mukana.

Hyvät työkalut pitävät sisällään uusimmat Applen Mac -tietokoneet, uusimmat palvelinkomponentit, uusimmat WordPress-lisäosat ja parhaimmat tekniset innovaatiot web-puolella. Vähempään ei voi tyytyä, sillä halpa maksaa liikaa.

Modernin verkkosivuston kehittäminen on laaja prosessi, jossa jokainen askel pitää olla kohdillaan. Prosessista lisää suhteellisen tuoreessa kirjoituksessani: Näin julkaistaan modernit verkkosivut.

Laaduntarkkailu osana arkea

Dudelle ensiluokkainen laatu on tärkeää, siksi myös laaduntarkkailun pitää olla hyvällä tasolla. Seuraamme toistemme tekemistä väistämättä, koska teemme projekteja yhdessä. Ilman puolueetonta tarkkailua ei synny kehitystä, koska omalle työlleen sokeutuu helposti. Siksi palautetta on tärkeää antaa lennosta.

Kommentti GitHubissa: ronilaukkarinen 2 days ago
@TytyHult Näissa jarkeämpãä on laittaa suoraan nain, ette tule turhia nestauksia: &: hover img,
&: focus img

Dokumentointi (erityisesti virheiden ja outouksien kirjaaminen ylös) on tärkeää

Projektien dokumentointi on tärkeää, koska emme tee hommia yksin. Yli kymmenen ihmisen puuhastellessa tieto ei voi jäädä yhden ihmisen päähän, sillä silloin pahimmillaan useampi jantteri tekee saman työn moneen kertaan. Sepä vasta hölmöläisen hommaa on.

Duden työkulttuuriin kuuluu, että räätälöidyistä ominaisuuksista, virheilmoituksista, työkaluista, työnkulusta ja kaikesta mitä tarvitsee muiden tietää, kirjataan ylös dokumentti tekemisen aikana. Viime aikoina olemme erityisesti panostaneet projektien dokumentointiin. Aiheesta voi lukea lisää artikkelista: Dokumentointiin panostaminen kannattaa.

GitBook-kuvankaappaus, jossa paljon dokumentointia aiheesta Internal Development Docs

Yhdessä tekeminen kehittää

Yhdessä tekemisen kauneutta ei voi tarpeeksi peräänkuuluttaa. Kukaan ei jää yksin, vaikka töitä tehtäisiinkin etänä. Kuten harkkariduuni-ilmoituksessamme sanotaan:

Meille on tärkeää tiedostaa, että olemme täällä kaikki oppimassa ja kehittyminen ei lopu koskaan. Kehittäjän työ on kirjaimellisesti kehittämistä, mutta myös kehittymistä, joka ei rajoitu pelkästään koodiin. Kehittyminen on myös firmamme yksi perusarvoista.

Siitä aasinsiltana: Meillä on harkkapaikka ja senioridevaajan paikka auki back end -puolelle! Hakisitko meille töihin?