Väärin kohdistettu näkymä: vertaisten priorisointi käyttäjiin nähden
Kuinka monta kertaa olet katsonut jonkun koodia ja sanonut:
En käytä tätä, koska se ei näytä hyvin kirjoitetulta.
Ja tässä tapauksessa "näyttää hyvin kirjoitetulta" voi joko korvata seuraavat sanat:
- "Katso kuinka kirjoittaisin sen"
- "näyttää minusta järkevältä."
Toki – joskus avoimen lähdekoodin käyttö on riskialtista. Tiedämme tämän useista ohjelmistoista ja palveluista, jotka sisältävät haavoittuvuuksia. Mutta ainakin tässä viestissä pidä niitä poikkeusina – ei sääntönä.
Tämä tarkoittaa, että meidän jää katsoa jotain, jota saatamme käyttää, mutta päätämme olla käyttämättä, koska se ei näytä olevan kirjoitettu tavalla, jota meidän mielestämme pitäisi kirjoittaa.
Vertaisten etusija käyttäjien sijaan
Kehittäminen on hankalaa, koska meidän – tai jonkun muun kehittäjän – on tehtävä useita kompromisseja, kun he rakentavat jotain.
Sisältä ulospäin katsominen
Meidän on harkittava:
- aika- ja budjettirajoitteet,
- mikä paradigma auttaa meitä toimittamaan vankan sanojen rajoitusten sisällä,
- ratkaiseeko lopullinen ratkaisu todella ydinongelman,
- liittyykö siihen, miten olemme koonneet jotain, ylläpitokustannuksia?
Ja listaa voisi jatkaa.
Kehityksen eri näkökohtien pohtiminen ja filosofioiden pohtiminen siitä, miten jotain pitäisi rakentaa, ei ole alallamme ollenkaan harvinaista
Mutta se on myös aikaa vievää, ja se voi osoittautua harjoitukseksi, joka tuottaa nollatuloksen, koska siitä ei tule mitään. (Kyllä, se voi usein olla oppimiskokemus, mutta ei aina.)
Kuva: José Alejandro Cuffa Unsplashissa
Katse ulos sisään
Käytännössä kuitenkin:
- Vaikuttaako paradigman käyttö ratkaisun rakentamiseen ohjelmiston käyttöön?
- Ratkaiseeko kyseinen ohjelmisto ongelman?
- Jos et pystyisi näkemään, miten projekti koottiin, minkä johtopäätöksen tekisit ohjelmistosta?
Ja viimeinen kohta saattaa olla kriittisin, koska se liittyy avoimen lähdekoodin ohjelmistoihin.
Olen työskennellyt alalla tarpeeksi kauan tietääkseni, että usein ihmiset haluavat toimivan ratkaisun, joka ratkaisee heidän ongelmansa, ja he olettavat sen olevan turvallisesti rakennettu.
Toisaalta kehittäjät tarkastelevat koodia enemmän kuin sen tarjoamaa ratkaisua ja sen ratkaisemaa ongelmaa.
Jos olet kehittäjä, molemmille on ehdottomasti aikansa ja paikkansa. Mutta jos annat jälkimmäisen estää sinua toimittamasta ensimmäistä, et ehkä koskaan saa jotain muiden käytettäväksi, koska olet liian huolissasi siitä, mitä kollegasi saattavat ajatella.
Ja kun ratkaiset ongelmia muiden ihmisten puolesta, heidän pitäisi olla se, joka on tärkeämpi kuin kollegasi.