Mācieties vienmēr kaut ko jaunu – vai varbūt tomēr nē?!

Šis raksts būs mazliet atšķirīgs no pārējiem ar to, ka tas nedemonstrēs nekādas tehnikas un piemērus, bet saturēs pārdomas par programmēšanas “mūžīgo dzinēju”.
Es vienmēr (vai precīzāk kopš tā laika, kad vispār par to esmu sācis domāt 🙂 esmu uzskatījis, ka, lai būtu konkurētspējīgs un zinošs IT nozarē, ir nepārtraukti jāmācās kaut kas jauns. Jo IT noteikti nav tā nozare, kur var vienreiz iemācīties un tad ar iegūto zināšanu bagāžu dzīvot un strādāt atlikušo darba mūžu. Vismaz tad, ja Tu vēllies palikt moderni izsakoties topā.

Taču jo es nāku vecāks (OK es vēl sevi nenorakstu, neceriet 🙂 ), jo man ir mazāka vēlme mācīties kaut ko principiāli jaunu un pavisam atšķirīgu. Teiksim tā, kā tas labi redzams manos iepriekšējos rakstos, es aktīvi interesējos par (vismaz man) jaunām DBVS, to piedāvātām iespējām, par jaunām kādas konkrētas DBVS versijām, kā arī citām lietām, kas saistītas ar datubāzēm. Bet es justos ļoti nepatīkami, ja man tagad nāktos pārcelties uz kādu pilnīgi citu jomu, piemēram, kaut ko sīki zināt par OOP.

Arī tās DBVS, ko es papildus pētu, ir jau ilgāku laiku bijušas tirgū un sevi vairāk vai mazāk pierādījušas. Lūk no šāda viedokļa mani nebeidz pārsteigt un mazliet šausmināt nepārtrauktais vāveres ritenis, kurā ir iekļuvuši daudzi priekšgala/fasādes (fron-end) programmētāji, kas ik dažus gadus atrod arvien jaunas programmēšanas valodas un vides, kurās izpausties un programmēt. Ik pa laikam uzpeld arvien jaunas un jaunas programmēšanas valodas, vides un pieejas, kas dod maģisko apsolījumu atrisināt, ja ne gluži visas Jūsu problēmas, tad noteikti lielāko daļu no tām revolucionārā un nesalīdzināmi labākā veidā, kā līdz šim. Diemžēl, kā līdzšinējā pieredze liecina, nekas līdz šim šo apsolījumu ta arī līdz galam nav izpildījis, ne Java, ne C++, ne .NET (pēdējam laikam norieta brīdis vēl īsti nav pienācis), ne vesels bars daudz sīkāku gariņu. Nesen pa Discovery dzirdēju jauku izteikumu par ģeoloģiskajiem procesiem “Ja kaut kas līdzīgs jau vienreiz ir noticis (zemestrīce, vulkāna izvirdums, postoša vētra), tad tā notiks vēlreiz. Ja nekas nav noticis jau sen, tad notiks drīz.” Tas man fantastiski atgādināja procesus IT sfērā – bariem cilvēku uzķeras uz kārtējā āķa par kārtējo apsolīto programmēšanas valodu/vidi un cer, ka tā būs revolucionārais piegājiens, kas visu atrisinās, aizmirstot, ka nupat visticamāk tādu ir pametuši, kam līdzīgi apsolījumi bija pirms n gadiem. Šai ziņā nesen nācās uzdurties dažiem līdzīgiem emuāru ierakstiem angliski, no kuriem gribētu arī šo to pacitēt (brīvs tulkojums) par mūzīgo vāveres riteni:

  1. Izstrādātāju elite saprot, ka viņu pašreizējā izmantotajā programmēšanas valodā pārāk daudz šādi tādi taisa muļķības un sāk meklēt kaut ko, kas viņus labāk atšķirs no pārējām viduvējībām un pelēkās masas.
  2. Izstrādātāju elite izvēlas jaunu mazzināmu programmēšanas valodu, kam ir pēc iespējas mazāk to nepatīkamo īpašību, kas piemita nupat pamestajai.
  3. Izstrādātāju elite sāk virzīt un bīdīt jaunās valodas izstrādi, to papildinot, rakstot bibliotēkas utt. un tad sāk to popularizēt.
  4. Vecākie un gudrākie izstrādātāji seko elitei un veido augsni grāmatām, kursiem, kā arī veicina jaunās programmēšans valodas izstrādi un testēšanu.
  5. Vecākie un gudrākie izstrādātāji, kuriem ir liela ietekme darba vietās (elites izstrādātāji strādā izolētāk un vairāk izpētes projektos), sāk reklamēt un izplatīt jauno programmēšanas valodu.
  6. Lielākā izstrādātāju daļa saprot, ka ir pienācis laiks pirkt grāmatas un apmeklēt kursus, lai iemācītos jauno valodu.
  7. Izstrādātāju elite saprot, ka viņu pašreizējā izmantotajā programmēšanas valodā pārāk daudz šādi tādi taisa muļķības un sāk meklēt kaut ko, kas viņus labāk atšķirs no pārējām viduvējībām un pelēkās masas.

Es, protams, neesmu pilnīgi pret jaunām valodām, esošo attīstību utml, nekādā ziņā nē. Taču šķiet, ka Rietumu cilvēka mūžīgā tieksme pēc modernizācijas un skaistiem karuļiem daudz izstrādātājus ir pārvērtusi par tādām, kā žagatām, kas bieži meklē spīdīgas lietas, kaut gan nemaz nezin kā īsti ar tām apieties un ko ar tām darīt. Ideja nāk no šī Coding Horror raksta. Visām jaunajām lietām ir vairāki ļoti nopietni riski, kas var pārvērsties reālos mīnusos:

  • Ir jāpatērē laiks mācībai. Tas ir OK, ja gala rezultātā ieguvums ir lielāks nekā patērētais laiks, taču pastāv risks, ka nekas no tā neiznāks.
  • Tām ir maz gatavu risinājumu un daudzkārt nākas izgudrot (vai vismaz radīt) divriteni no jauna, kas prasa laiku.
  • Pēc pārejas uz kārtējo nākamo revolucionāro programmēšanas valodu izstrādātās programmatūras zvērudārzs iegūs kārtējo unikālo iemītnieku, ko visdrīzāk nāksies kādu laiku uzturēt.

Tātad, pirms ķerties pie kaut kā jauna, būtu vērts atbildēt uz jautājumu – ar ko tas patiesi ir labāks nekā vecais? Vai izstrādājamo sistēmu mēs veidosim jaunajā vidē tāpēc, ka tā tajā labāk atbildīs lietotāju prasībām, ātrāk tiks izstrādāta, vieglāk uzturēta, vai arī patiesībā tikai tāpēc, lai būtu krutāki savās un kolēģu acīs? Pie tam ar kolēģiem šeit es nedomāju tikai fiziskus indivīdus, bet veselas organizācijas.

Varbūt ir vērts ieguldīt laiku nevis jaunās lietās, bet beidzot pamatīgi apgūt to pašu veco, jau daļēji zināmo? Varbūt tādā veidā ieguldītais laiks nopietni izzinot vienu lietu atmaksāsies daudz vairāk nekā apgrābstot 10 jaunas? Izmaiņas ir labas un nepieciešamas, taču dzīties pēc kaut kā tikai pašu izmaiņu dēļ, man personīgi šķiet visai muļķīgi pie tam IT sfērā, arī dažādās lietojumporogrammās tas ir kļuvis vienkārši apnicīgi.

Tiesa gan tādas dīvainības šķiet notiek ne tikai ar programmēšanas valodām un pat ne tikai IT sfērā. Jau no vairākiem avotiem (tai skaitā šī) nākas lasīt tādu domu, ka tiklīdz kā kaut kas ir kļuvis patiesi lietojams, drošs, uzticams un pilnīgs, tā to pārstāj lietot un pievēršas kaut kam sīkam, nepilnīgam un daudz haotiskākam. Paradoksāli, bet tā tas notiek. Vai vaina ir pārāk lielā sarežģītībā, vai tā ir cena/izmaksas, kas atbaida, vai vienkārši cilvēku mūžīgā tieksme pēc kaut kā jauna, nezināma?

Tālākā lasāmviela

9 Responses to Mācieties vienmēr kaut ko jaunu – vai varbūt tomēr nē?!

  1. narkomanC saka:

    Noteikti tieksme pēc jaunā un vēl nezināmā + vienmēr varēs būt vēl labāk.
    Piemēram ir vecā valoda un jaunā. Un abas ir identiskas, bet jaunājā ir papildus bibliotēkas, kas atvieglo mācīšanos un programmas koda pieraksti, tad es ņemu otro. Kaut gan abas ir pamatkodā identiskas.
    Vispār kaut kā jāmāk filtrēt, kas labs un kas tikai atgremojums. Tā liekas būtu galvenā kļūda, jo tad, kad atšķirsi to, tad jau nekādu problēmu nevajadzētu būt:
    ir labāks – mācies, sliktāks – nemācies.
    Un vēl liels (tiešām, manuprāt, liels) pluss ir arī tad, ja tu mācies jauno valodu un tā izrādās nav laba. Tad tev tiek attīstīta “mācīšanāš prasme” jeb cik viegli tu spēj pieņemt jauno un to izmantot. Domāju tie, kas vispār neko nemeklē jaunu paliek savu lietu fanāti (šoreiz gan lietots ne pārāk pozitīvā nozīmē)

  2. Grrr saka:

    Es teiktu, ka tā ir pārāk vienkāršota pieeja programmēšanai.

    Programmēšanas valoda ir ne tikai datorlīdzeklis, tā ir pēc zināmiem parametriem tiešām valoda — izteiksmes veids.

    Man škiet, ka līdzīgi kā parastas valodas, programmēšanas valodas attīstās, lai dotu iespēju labāk izteikt to, ko (programmētāji) vēlas pateikt. Taču, tā kā programmēšanas valoda atšķirībā no parastās ir pēc definīcijas ar gana fiksētu sintaksi, tad evolūcija faktiski formējas kā jaunas valodas izveide.

  3. Gints Plivna saka:

    @narkomanC
    Hmm, te ir drusku cita lieta. Protams, man kā izstrādātājam būtu jāapskata programmēšanas valodas/vides piedāvātā funkcionalitāte un jāņem tā, kas vislabāk atbilst maniem mērķiem. Taču šeit runa vairāk bija par to, ka itin bieži tiek startēta jaunas valodas/vides izstrāde un daudzi pārlec uz to, kaut gan tā patiesībā ir jauna/svaiga līdz ar to visdrīzāk, tur nekas vairāk nebūs. Pie tam šķiet bieži nebūt nav tā ka jaunajā ir papildus bibliotēkas, bieži ir tā, ka jaunajā viss ir jāsāk no sākuma 🙂
    Un piekrītu tam, ka arī “aplauzieni” palīdz, tas kā Padomju laikā bija izteiciens, ka vērtīgs ir tas kadrs, kas nolaidis uz leju vismaz vienu vai pat vairākus kolhozus 🙂 Jautājums, protams, vai konkrētais kadrs vienkārši nav absolūti bezcerīgs un ir spējīgs no savām kļūdām mācīties.
    @Grrr
    Skaidrs, ka programmēšanas valodas attīstās. Taču problēma jau nav sintaksē, jo jaunas konstrukcijas pielikt klāt nav nekas ārkārtējs. Problēmas parādās jau 1kārt ar savietojamību ar iepriekšējām versijām (parasti to cenšas nodrošināt, kas ir labi, taču tas neapšaubāmi ir ļoti ierobežojošs faktors) 2kārt ideja par to, ka tiek izgudrota kaut kāda revolucionāra pieeja, kas patiesībā ir kāda no neskaitāmajām iepriekšējām, ar labākā gadījumā minorīgām izmaiņām. un šķiet ir arī 3šā lieta – ne visi cilvēki ir gatavi pieslēgties kaut kam jau esošam (tai skaitā tā saucamā izstrādātāju elite) un uzlabot to, viņiem šķiet, ka viss jāsāk no jauna un, ka viņi to paveiks labāk. Tas laikam ir kā revolucionārs vs evolucionārs ceļš 🙂

  4. Ivars saka:

    Sāku lasīt un likās, ka domas ir kaut kur dzirdētas, līdz ieraudzīju atsauci uz Džefu Atvudu. 🙂 Pielikšu arī savus divus centus.

    Jaunu valodu / tehnoloģiju apguve ir vērtīga un vajadzīga, kaut vai tādēļ, lai paskatītos uz lietām no savādāka skatu punkta. Savukārt, pirms jaunu tehnoloģiju izmantošanas komercproduktu realizācijā vienmēr ir kritiski jāapsver, kādu ieguvumu tas pirmām kārtām dos klientam (vai to vispār var pārdot), un cik izdevīgi ir uzņemties izstrādi ar šīm tehnoloģijām.
    Pietiekami bieži ir gadījies saskarties ar sistēmām (vai to daļām), kuras ir rakstītas ar “super-puper-mega-duper-tehnoloģijām” tikai tādēļ, lai izmantotu tehnoloģijas. Bieži gadās, ka tehnoloģijas vairs neskaitās tik super un ir gandrīz aizmirstas, līdz ar to uzturēšana pārvēršas par pilnīgu elli.

  5. Gints Plivna saka:

    Aga dzirdētas gan, es parasti necenšo pasniegt citu idejas kā savējās, ja vien ir iespējams atcerēties, kur tās esmu ņēmis 😉
    Jā un piekrītu, ka uzturēšana visu tehnoloģiju maiņā ir viens no nepatīkamākajiem posmiem. No otras puses tas mūs nodrošina ar mūžīgu darbu, varbūt tāpēc tās daži maina kā cimdus? 🙂

  6. moo saka:

    Ar katru jauno apgūto lietu tu pats kaut ko saproti un sāc domāt ārpus kubika. FTW jaunu lietu skatīšanai.
    Tas attiecas uz visām svērām, ne tikai uz db vai programēšanas valodām.

    Cits jautājums, vai tev pašam gribas domāt ārpus kubika, jeb labak būt vienam no mainstrīma un dzīvot bēdu nezinot. Nezināšana ir svētlaime!

  7. Gints Plivna saka:

    Mhhh ir drusku citādi, vismaz man tā liekas. Ja tu nespēj pieiet ar kritisku aci jaunajai lietai un katru reizi paļaujies uz to, ka kāds to reklamē, tad būs tā kā Saeimas vēlēšanās, katru reizi balso par jauno buldozera projektu (kas nosaukts it kā citādi), bet uzraujies uz to pašu veco bugu 😉
    Un patiesībā neko ārpus kubika vairāk nedomā, jo nosaukums/reklāma ir tev aizmalējusi acis.
    Galvenais – spēja novērtēt, vai tas patiesi ir kas jauns un palīdzēs reāli darbā (jo mūsu darbs patiesībā ir pēc iespējas vienkāršāk panākt vēlāmo rezultātu ar minimālām uzturēšanas izmaksām tālāk) vai arī tikai kārtējais sasaluša ūdens klucis, kas kā komēta nāk, traki spīd, sadeg un iztvaiko…

  8. moo saka:

    Arī slikta pieredze ir vajadzīga.
    Noderīgi ir pašam pieņemt lēmumu ka šis ir labi/slikti, nevis klausīties ko guru, apkārtējie vai kāda [i]komūna[/i] par šo saka.
    Dzīvot pēc cita vērtību skalas ir pē-pingvīna kaka 😀

  9. Gints Plivna saka:

    Ir visādi. Skaidrs, ka slikta pieredze ir noderīga, bet kā dzīve rāda un sakāmvārds saka muļķis nemācās arī no savām kļūdām.

    Savukārt, kas attiecas uz “Dzīvot pēc cita vērtību skalas ir pē-pingvīna kaka”, tad ir 2 pieejas:
    1) solisti aka Pavaroti vai Karūzo, lai miers viņu pīšļiem, kuri dzied pēc savas vērtību skalas un viņos ir nenoliedzams skaistums.
    2) kori aka Kamēr vai lielkoris Dziesmu svētkos, kuros galvenais ir tas, ka ikviens dziedātājs iekļaujas kopējā masā un neviens nelec ārā un arī tajā ir nenoliedzams skaistums. Viņi dzied pēc diriģenta vērtību skalas.
    Programmizstrāde tā ir gan solisti, gan vēl vairāk koris, kas dzied (izstrādā, programmē) saskaņoti. Viens solists ir OK un vajadzīgs. Daudz solisti korī ir bardaks un neklausāms troksnis.

Atbildēt

Fill in your details below or click an icon to log in:

WordPress.com logotips

You are commenting using your WordPress.com account. Log Out /  Mainīt )

Twitter picture

You are commenting using your Twitter account. Log Out /  Mainīt )

Facebook photo

You are commenting using your Facebook account. Log Out /  Mainīt )

Connecting to %s

%d bloggers like this: