Pereiti prie turinio

Ar programavimas darosi absurdiškas?


Rekomenduojami pranešimai

Ar tenka lietuviškose įmonėse susidurti su fenomenu, kai vadovybė liepia mokintis naują frameworką/tech stack'ą, vien dėl to, jog kažkas kažkur perskaitė, jog tai yra madinga ir ant bangos? Pastebiu, jog ši vėžio tendencija apima vis platesnę field'o dalį, kur programuotojai savo kompetenciją matuojasi buzzwordais iš naujausių tech madų arba kompetencija yra maskuojama savo socialinį statusą rodant kaip mintinai išmoktas API procedūras, tačiau nesugebant be lib'o ar frameworko parašyti f(x) = x + x.

Problema yra tame, jog paprastam sprendimui, naudojamas sudėtingas tech stack'as, kurio kompleksiškumas ir suderinamumas su likusia kodo baze sukelia daugiau problemų, nei pats sprendimas. Ar pritariate trendui, jog dėl IT sektoriaus perkrovos mes turime daug nevykėlių 'pseudo programerių' , kurie teršia darbą prikišdami savo CV buzzwordų ir taip skatindami HR'us postinti absurdiškus skelbimus, bei likusius normalius darbo žmones priimti technologijos, kurios pasunkina darbą visiems, prailgindami darbo valandas. Na vienintelis pozityvus dalykas - jog gali apgaudinėti užsakovą, sakydamas, jog naudosi ReactJS Babel JavaSpring Beans tech stack'a ir už tai plėšti didesnius pinigus ,nei reikalauja situacija.

Redagavo Codegrinder
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip jau minejai sita problema yra didziausia web appsu kurime, is ten ir anekdotai kyla kad kol parasiau sita posta buvo sukurti 3 nauji js libai. Problema tame jog gen z programeriai liejasi i rinka, o jie nori visko cia, dabar ir greitai. Uztat ir prikepta tiek libu nes ju paklausa milziniska. Niekas nebenori gilintis ir mokytis programavimo pagrindu. Po to webai atrodo kaip frankensteinai, sulipdyti is kruvos libu ir ryjantys belekiek cpu ir ram. O kas del perdetu kainu uz paslaugas tai cia viskas priklauso nuo kliento. Jeigu klientas nusimanantis tai jis gali paspausti ir pasidereti, jeigu klientas neismano nieko apie stacka tai mokes didelius pinigus. Cia tapati gali taikyti betkurioje srityje. Pvz. as galiu nuplesti koki prancuza uz appso sukurima, bet nenusimanau nieko apie masinas tai poto servise mane nuplesia koks vietinis. Tokia rinka 🙂

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O taip tikrai. Tokį dalyką jau matau vos ne dešimt metų, nuo kada pats pradėjau rimčiau dirbti ties tam tikrais tech stack'ais.

Manau yra bent kelios priežastys kodėl taip nutinka:

  • Programuotojai nori pasirodyti kompetetingi
  • Darbo aplinka paremta tech stack'ais, nuo kurių nutrūkti nėra lengva, 'refactorinimas' kodo daug užtruktų, vadovybė dažnai nenori, kad laikas būtų praleistas perrašinėti kodą, kuris daro tą patį.
  • Yra vadinama tech stack'ų arba net tam tikros programavimo kalbos karkasų, bibliotekų 'fatique'.

 

Per tris darbus kuriuose dirbau, viename teko pramokti React.JS dar 2013 metais, vien dėl to, jog kažkas pagalvojo, kad įtraukiant naują JavaScript flow projekte bus kiečiau ir visi laikysis tam tikros struktūros, tačiau ten buvo CRUD puslapis su daugybe įrašų, kurie puikiai veikė ant vieno PHP, kadangi kažkas perdarė tą vieną puslapį ant React, kad krovimasis vyktų tik poto kai puslapis pilnai užsikrauna, su visokiais loader'iais bereikalingai buvo sukištas laikas mokytis tą React.JS įrankį, problema būtų buvusi išspręsta ir pamiršta, bet vietoj to kiekvienas kuris nemokėjo React.js vien dėl vieno puslapio sistemoje turėjo pramokti React, nemanau, kad tai buvo optimalus sprendimas laiko atžvilgiu.

 

Turėjau ir priešiškų kolegų, kurie kitus laikė žemesniais vien dėl to, jog jie nenorėjo ar pagal juos nesugebėjo išmokti tam tikro įrankio, nes projekte jo nauda nebuvo aiški, todėl jie pristatydami į projektą tam tikrą tech stack'ą jautėsi pranašesni ir arogantiški, vadovybės akyse jie atrodė gerai, tačiau tarp kolegų programuotojų kiekvienas žinojo, jog jie bandė gerinti tik savo įvaizdį per šią vietą. Komunikacijos trūkumas yra kone didžiausia problema kiek yra tekę dirbti su žmonėmis praktiškai prie bet kokio lygio projektų, čia manau ir vyksta nesusikalbėjimas, kažkas kažkokį įrankį pristato, ir niekas apie tai nekalba, kai paklausi argumentų, tai jų labai mažai arba argumentai visiškai abstraktūs ir tiksliai nėra aišku kodėl vienas sprendimas priimtas vietoj kito, čia manau visa komandos organizacija yra prasta, kai kažkas galvoja, kad vienas įrankis yra geras, o kitas galvoja kad blogas, tačiau visi už nugarų tai nutyli, nes niekam nerūpi. 

 

Didžioji dauguma kolegų kurie labai mėgo visokius naujausius trendinius įrankius, LinkedIn'e pasirašę perdaug gražiai apie save. Nemėgstu apkalbėti žmonių, su kuriais dirbu arba bendraunu, tačiau sakau, ką jaučiu ir ką mačiau. Sutinku, kad yra nemažai atvejų kur priimtas tech stack'as yra per sudėtingas esamai problemai spręsti. 

 

Pasižiūrėk per Google apie "JavaScript fatique" daugelis programuotojų taip jaučiasi, jog tai yra kaip vėžys, bet geriausia nepasikabinti ant visko ir mokytis tikrai tik tai ko reikia, o ne kas ant bangos, algoritminis mąstymas, design patterns, duomenų struktūrų žinojimas yra fundamentalios žinios, ir pastebiu, kad tie žmonės kurie turi tas žinias lengvai persiima bet kokius įrankius. Vienu momentu tapo juokinga kai darbo pokalbyje klausė ar moku jQuery? Tada iš atsitiktinumo paklausė ar moku dar kažkokį JavaScript library, tokie klausimai man pasirodė nepaskaičiuoti ir juokingi, jog kompetencija vertinama ar moki kažkokį įrankį, jei moku vieną tai tikėtina, kad ir kitą nesunkiai pramoksiu.

 

Nors mums nereikia šiais laikais išradinėti algoritmų ar duomenų struktūrų, tačiau kompanijos kaip Facebook, Google, Microsoft ieško programuotojų būtent su tomis fundamentaliomis žiniomis, nes jie puikiai supranta, kad tai  yra pamatas, o įrankis yra išvestinis dalykas, kuris ir yra premtas šiais pagrindais. Dažnai net įmonės pačios prirašo, kad ieško React ar VueJS ar dar kažkokio programuotojo, kad atrodytų programuotojui patrauklesnė darbo vieta, jog jie rūpinasi kaip rašomas kodas, tačiau nuėjus paaiškėja, kad jie su tuo net nieko nedirba, o aprašyme įdėta atsitiktiniai buzzword'ai tam kad tik protingesni atrodytų. Tokie principai galioja visur gyvenime ne tik programavime, tai tas pats kas važiuoti tam tikru keliu 40km/h ir tave nupypsės, kadangi tu nevažiuoji tokiu pačiu greičiu kaip visi, tai čia irgi yra spaudimas programuotojui būti tame pačiame lygyje arba geresniame, kad nebūtum neigiamai įvertintas.

 

Dauguma framework'ų yra bendros paskirties, tačiau niekas neturi labai abstrakčios ar bendros problemos, dauguma nori išspręsti tuo įrankiu tik labai specifinę problemą, kurią jie turi. Todėl manau, kiekvienas tech stack'as turėtų būti pamatuotas, reikėtų rinktis tech stack'ą pagal use case, o ne pagal jo daugiapusiškumą, užkulisiuose vyksta tiek daug nereikalingų dalykų, dėl ko kenčia performance ir maintenance cost, tačiau tai nevisada reikalinga.

 

Perdaug išsiplėčiau, tačiau ši banga, kažkada turėtų sulėtėti, tam tikri įrankiai apsišlifuos ir liks toliau gyventi, o didelė dalis liks apleistais, ir nenaudojamais, tas didelis įrankių kiekis yra kaip natūrali atranka, ant gyvenimo paleista labai daug gyvybės, tačiau tik keli sugebės patempti save kelis dešimtmečius, tai yra gėris ir blogis viename, nes taip gimsta geri įrankiai iš įvairių bandymų, nesėkmių ir pan, o blogis tai, jog paprastam programuotojai jie gali numušti produktyvumą ar motyvaciją, kadangi nemanau, jog kiekvienas norėtų, jog einant vis į kitą darbą reikėtų daug dalykų mokytis iš naujo,  žinoma niekada taip nebus, kad naujame darbe viskas bus taip pat, todėl natūralu kažką išmokti, esminės žinios apie programavimą visada bus stipriau už bet kokio įrankio žinojimą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Atrašyta (redaguota)

Ačiū, džiugu, kad ne vienas taip manau. O tie kolegos, kurie laiko save aukštesniais, nes mintinai moka API sąrašus galvoje.. Panašu į mokyklos vaikus, kurie laiko save protingais, nes atsimena šalių sostines. Noris juos nusodint, bet organizacijose ko gero įvaizdis yra svarbiau nei funkcionalumas ir prieš vėjo malūnus sunku kovot, belieka tik konkuruoti freelancinime, kur gali dalinai žaisti pagal savo taisykles.

Redagavo Codegrinder
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Prieš 9 minutes, Codegrinder parašė:

Ačiū, džiugu, kad ne vienas taip manau. O tie kolegos, kurie laiko save aukštesniais, nes mintinai moka API sąrašus galvoje.. Panašu į mokyklos vaikus, kurie laiko save protingais, nes atsimena šalių sostines. Noris juos nusodint, bet organizacijose ko gero įvaizdis yra svarbiau nei funkcionalumas ir prieš vėjo malūnus sunku kovot, belieka tik konkuruoti freelancinime, kur gali dalinai žaisti pagal savo taisykles.

Tik tiek galiu pasakyti, kad gyvenimas visur yra kaip išlikimo žaidimas bet kokiame aspekte.

 

O dėl visokių API, funkcijos argumentų skaičiaus ir pan, tai tu esi teisus, juos žinant protingesniu netampi, tai reiškia, kad tik atsimeni, tačiau tam ir yra sukurta dokumentacija ir reference book'ai.

 

Citata

“Never memorize something that you can look up.” - Albert Einstein

 

Redagavo mastereverything
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Sukurti naują...