Onko suunnittelijan hyvä osata koodata?

Välillä tulee vastaan artikkeleita ja keskusteluja, joissa nousee esille kysymys, onko suunnittelijan hyvä osata koodata? Vastaukset jakautuvat kahteen koulukuntaan: toisten mielestä ei missään nimessä tai korkeintaan kuriositeettimielessä. Suunnittelijan työ on olla luova ja mennä luovuus edellä: koodiin löytyy kyllä aina jokin ratkaisu. Toisten ja myös itseni mielestä koodaamisen ymmärtäminen on erittäin hyödyllistä ja antoisaa, jos ei sentään täysin välttämätöntä. Koodin ymmärtämisen avulla on mahdollista arvioida omia ratkaisuja sekä hahmottaa asioita paremmin. On myös helpompi miettiä sivustojen visuaalisuutta tai tehdä sivujen taittoa kun ymmärtää, miten esimerkiksi CSS toimii, vaikka sitä ei suoraan lasketakaan koodaamiseksi.

Suunnittelijan on tunnettava materiaalinsa

Aikoinaan kun opiskelin teollista muotoilua opinnot aloitettiin hyvin perusasioista, kuten kuvanveistämisestä ja piirtämisestä. Muotoilulinjalla myös kerrottiin, kuinka tekstiilisuunnittelijat käyttävät koko ensimmäisen vuoden kankaan valmistuksen opetteluun tai kuinka kalustesuunnittelijat tutustuvat puun ominaisuuksiin syvällisesti. Eikö täällä ollakaan tekemässä kauniita kuvioita kankaiden päälle tai suunnittelemassa hienoja huonekaluja? Viisaus piilee siinä, että suunnittelijan on tunnettava materiaali ennen kuin sitä voi soveltaa kunnolla. On tiedettävä mihin materiaali taipuu: Esimerkiksi puu ei taivu helposti puiden syitä vasten vaan katkeaa. Siksi puusta on vaivalloista tehdä kaksoiskaarevia muotoja, jotka taipuvat molempiin suuntiin. Materiaalilla on aina vahvuutensa ja fyysiset rajansa: lasista ei ole järkevää tehdä ohutta tuolia, vaikka se voisi olla kiinnostava idea.

Mielestäni sama pätee webiin ja digitaalisiin sovelluksiin: Suunnittelijan on tiedettävä mikä on helppoa kooditasolla ja mikä puolestaan vaatii paljon työtä tai on lähes mahdotonta.

Olen aiemminkin kirjoittanut, että koen olevani generalisti. Mielessäni kaikki liittyy kaikkeen ja haluan ymmärtää monesta asiasta edes hieman jotain. Kun ymmärrän, miten sisältötyyppejä luodaan WordPressissä tai miten sisältöjä järjestellään taksonomioilla, on helpompaa suunnitella esimerkiksi selkeä verkkokaupan tuotelistaus tai käyttöliittymä tapahtumien hakunäkymälle. Asioiden monimutkaisuus suoraviivaistuu omalla työpöydällä ja suunnitteluvaiheessa on edes alustava ajatus siitä, miten asian voisi toteuttaa. Näihin asioihin on helpompaa ottaa kantaa ja valinnat pystyy perustelemaan uskottavammin niin kehittäjille kuin myös asiakkaille.

Koodi takaisin suunnittelijan työkaluksi

Jos palataan ajassa taaksepäin, Web Designer -titteli tarkoitti aikoinaan henkilöä, joka paitsi suunnitteli myös kirjoitti sivuston HTML-koodin ja teki CSS-tyylittelyt eli teki ihan suoraan kehittäjän tontille nykyään kuuluvia hommia. Valta siitä, miltä asiat lopulta näyttivät oli suunnittelijalla. Mahdollisuus muokata asioita yhtä tiedostoa muokkaamalla oli myös helpompaa eikä muutosten tekemiseen tarvittu välikättä. Tämä oli mahdollista webin alkuaikoina, sillä tekniikka taustalla oli yksinkertaisempaa. Nykyään sivustojen kehitys on muuttunut ammattimaiseksi ja ennen varsinaisen koodaamisen aloittamista on ymmärrettävä kehitysympäristöistä paljon: Mikä on Node tai webpack ja miksi kaikki vaikuttaa olevan niin monimutkaista ja hankalaa. Kynnys aloittaa on korkeammalla ja tämä on vaatinut itseltänikin paljon opeteltavaa. Kehitys on johtanut siihen, että pahimmillaan suunnittelijat eivät välttämättä osaa koodata laisinkaan ja koodaus voi tuntua vieraalta.

Suosittelen aloittamaan koodiin tutustumisen pienistä asioista. Selainten Inspector-työkalulla on helppo tutkia sivuston rakennetta ja esimerkiksi muokata tyylejä väliaikaisesti. Näin pääsee nopeasti jyvälle siitä, mikä vaikuttaa mihin. Myös esimerkiksi palveluista, kuten Codepenistä, Codropsista tai CSS Tricks-sivustolta löytyy hyviä pieniä ja isompia tutoriaaleja aiheista, joita olen itsekin tutkinut. Suunnittelijana pidän siitä, että opiskeltavalla asialla on heti visuaalinen vaikutus. Ollaan siis tekemisissä suoraan sivuston frontendin kanssa. Esimerkiksi Codepenin kautta voi luoda pieniä testiprojekteja niin, että tekniikka taustalla on kunnossa ja käyttäjänä voi keskittyä vain frontend-koodin kirjoittamiseen. Käyttöliittymäpuolella esimerkiksi Reactin perusteiden opetteleminen on ollut erittäin hyödyllistä. Reactin komponenttiajattelua sovelletaan lähes aina ajatuksen tasolla suunnittelussa ja ahaa-elämykset ruokkivat toinen toisiaan. HTML, CSS ja Javascript ovat siis digitaalisen suunnittelijan kivijalka yhtä lailla kuin saven ominaisuudet keraamikolle. Vaikka opittavaa on paljon ja jatkuvasti tulee lisää uutta, pian sitä huomaa löytävänsä itsensä syvästä päästä ja huomaa ettei peruskoodaaminen ole sittenkään kovin vaikeaa tai mahdotonta.