Kokia programuotojų ateitis Lietuvoje ir pasaulyje? Kiek iš tikro uždirba programuotojai? (Video) (5)
Šiais laikais jeigu norite versle turėti bent kažkokį konkurencinį pranašumą arba tiesiog bandote suspėti su technologiniu tempu, jums reikės investuoti į informacines technologijas, kurios jau keletą dešimtmečių keičia žmonių gyvenimus iš esmės. Kad egzistuojantys ir naujai susikūrę verslai pilnavertiškai klestėtų, dažniausiai yra reikalingas vienas esminis dalykas – žmogaus sukurta programinė įranga. Dėl šios priežasties panašu, kad šių dienų programų kūrimo specialistai išgyvena aukso amžių, tačiau žvelgiant į naujausias programavimo tendencijas galima manyti, kad programinės įrangos kūrimas netolimoje ateityje stipriai pasikeis.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Programuoti darosi vis paprasčiau
Prieš septyniasdešimt metų programavimas buvo daugiau mokslas nei kasdienybė. Šios profesijos atstovai dažniausiai buvo akademikai - matematikai arba fizikai. Apie 1980 metus įvyko naujas proveržis kartu su ‘C++’, ‘Objective-C’ bei ‘Perl’ atsiradimu, tačiau programuoti vis dar buvo sudėtinga. Dar vėliau kartu su interneto amžiumi augo ir programinės įrangos poreikis, tačiau žmonių sugebančių verslo reikalavimus paversti į kompiuteriui suprantamą kalbą buvo vis dar sąlyginai nedaug.
Mūsų laikais užsiimti programavimu darosi vis paprasčiau, o sukurti kažką autentiško - sudėtingiau. Programavimo kalbos paprastėja, atsiranda vis daugiau įrankių, bibliotekų ir specializuotų sistemų, kurias šiek tiek adaptavus galima iš karto naudoti nesudėtingiems verslo poreikiams. Norintiems išmokti šios profesijos paslapčių internete galima rasti įvairiausių informacinių svetainių bei vaizdo pamokų. Taip pat, šiais laikais norint sukurti kažką autentiško ir įdomaus gali reikėti nemažai paplušėti kadangi jau yra daugiau kaip milijardas tinklalapių, o kiekvienai jūsų naujos mobilios programėlės įdėjai greičiausiai egzistuoja dvi ar trys panašios alternatyvos.
Pagal interneto verslų konsultanto Povilo Korop šiais metais darytą apklausą Lietuvoje programuotojai vidutiniškai uždirba apie 1480 eurų per mėnesį. Tai yra beveik du kartus didesnis nei vidutinis darbo užmokestis visoje Lietuvoje. Galėtumėme teigti, kad programuotojams išties šviesi ateitis, tačiau ar ši tendencija ir toliau išliks tokia pat kai programavimas darosi prieinamesnis vis didesniam žmonių ratui ir kai apie dirbtinį intelektą ir savaime besimokančias sistemas kalbama vis dažniau?
Dirbtinis intelektas, neuroniniai tinklai ir savaime besimokančios sistemos
Nemažai informacinių technologijų specialistų teigia, kad dirbtinis intelektas, neuroniniai tinklai, savaiminis sistemos mokymasis (machine learning) ir panašių automatizuoto kodo generavimo technologijų derinys taip ištobulės, kad mašinos, o ne žmonės kurs didžiąją dalį programinio kodo. Tai atrodytų mažai tikėtina, tačiau šių dienų investicijos į dirbtinį intelektą byloja visai ką kitą. Neseniai „Fortune“ paskelbė 100 įmonių sąrašą, kurios lyderiauja dirbtinio intelekto kūrime. Vien šių įmonių bendros investicijos į dirbtinio intelekto kūrimą sudaro daugiau kaip 12 milijardų dolerių. Kompanijos “Google” vadovas Sundar Pichai taip pat jau kuris laikas kalba apie programas, kurios „pačios save kuria ir mokosi“. Pastarosios ateities planai yra savo sprendimus fokusuoti apie dirbtinio intelekto ir neuroninių tinklų kūrimą bei panaudojimą.
Neuroniniai tinklai tai algoritmų rinkinys imituojantis žmogaus smegenų veiklą ir sprendžiantis specifines problemas atpažindamas tam tikrus bepasikartojančius veiksnius. Kompanijos “Microsoft” 2006 metais sukurtas neuroninis tinklas “DeepCoder” pats moka rašyti programas neturėdamas pirminio supratimo apie programavimą. Ši sistema veikia naudodama egzistuojantį kodą esantį gigantiško dydžio duomenų bazėje ir taip jį įvairiai maišydamą ir interpretuodama gauna naują rezultatą. Su kiekvienu nauju rezultatu šios sistemos efektyvumas gerėja. Beje, šis neuroninis tinklas kolkas pats sukuria tik nedidelius, keletos eilučių kodo gabaliukus, tad ir išspręsti gali tik pakankamai paprastas užduotis, tačiau „DeepCoder“ kūrėjai į savo kūrinį žiūri labai optimistiškai teigdami, jog ateityje jų neuroninio tinklo produktyvumas turėtų žymiai padidėti.
Programuotojai norėdami sukurti sistemas, kurios galėtų pačios save mokyti turės ne tik išmokti naujų įgūdžių, bet ir privalės sugebėti pereiti prie šiek tiek kitokio mąstymo kadangi linijinis algoritminis mąstymas, kuris tiko iki šiol nebetiks kuriant dirbtiniu intelektu bei neuroniniais tinklais paremtus sprendimus. Tradiciškai, programuotojai visą laiką rašė programinį kodą aprašydami aibę taisykių: jei nutiks “X”, tuomet daryk “Y”. Šiuo būdų programų sistemų inžinierius eilutė po eilutės nurodo kompiuteriui kaip elgtis vienu ar kitu atveju. Su savaime besimokančiomis sistemomis yra kiek kitaip. Įsivaizduokite, jog reikia, kad neuroninis tinklas pateiktose nuotraukose atpažintų katinus. Programuotojas kodo eilutėmis nenurodinės nuotraukose ieškoti ūsų, stačių ausų, apvalios nosies ir didelių akių. Šiuo atveju dirbtiniui intelektui būtų pateikiama tūkstančiai katinų nuotraukų po ko kiekvienas katinas jose galiausiai būtų atpažintas be klaidų. Kitaip sakant, užteks aprašyti įvesties duomenis ir kokį rezultatą norite gauti, o kaip tai bus įgyvendinta yra paliekama išsiaiškinti pačiai sistemai.
Ar tikrai greitai apsieisime be programuotojų?
Programinės įrangos kūrimas tampa vis labiau automatizuotas, ypač kai kalba eina apie pasikartojančių problemų sprendimą bei programuotojų produktyvumo gerinimą. Visgi dar daugybei organizacijų norinčioms didinti veiklos našumą bei gerinti konkurencinę aplinką yra reikalingi specializuoti ir inovatyvūs programavimo sprendimai. Štai keletas aspektų dėl ko tikėtina, kad programuotojai niekur nedings per artimiausius keliasdešimt metų:
- Specializuoti sprendimai – tai įvairios individualios funkcijos, integracijos, lankstesnės administravimo bei vartotojo aplinkos, pritaikytos tam tikroms pramonės šakoms bei kiti panašūs šių dienų verslui reikalingi specializuoti sprendimai.
- Greitaveika – ši problema gana dažna, kada sprendimai yra kompleksiški susidedantys iš keletos skirtingų įrankių ar net skirtingų produktų integracijų. Tokie sprendimai įtakoja visos platformos stabilumą ir greitaveiką.
- Saugumas – tai tema, kuri visada bus aktuali, o žinant, jog artimiausiu metu automatizacija, autonominiai automobiliai ir daiktų internetas vis labiau užkariaus žmonių gyvenimus, saugumo tema bus ypač svarbi.
- Paveldas – tai didžiųjų korporacijų palikimas. Gigantiškos korporacijos ir bankai yra suinvestavę milijonus į verslo optimizacijos sprendimus, todėl išliks poreikis šiuos sprendimus toliau palaikyti.
Tokie įrankiai kaip „DeepCoder“ turi potencialo automatizuoti didžiąją dalį programavimo, tačiau panašūs dirbtinio intelekto sprendimai neatims programuotojų darbų, bent jau ne greitu metu. Savaiminis sistemos mokymasis bei neuroniniai tinklai suteikia galimybę spręsti visai kitokio tipo įšūkius, kurių sprendimai anksčiau žmonėms buvo neprieinami, tačiau tai nereiškia, kad kiekviena problema turėtų būti sprendžiama remiantis neuroniniais tinklais. Dauguma problemų, kurios šiandien sprendžiamos su tradiciniu programavimu ir ateityje bus sprendžiamos šių dienų programavimo metodais.
Nėra neįprasta, kad programuotojai baiminasi ir su nerimu žiūri į tai kaip greitai vystosi dirbtinio intelekto pramonė, tačiau nerimauti nereikėtų. Užtruks nemažai laiko kol dirbtinis intelektas galės kurti naudingą kodą apimantį daugiau nei kelias eilutes. Svarbiausia šių dienų programų sistemų kūrėjams turėtų būti pastovus mokymasis, naujų programavimo kalbų ar įrankių naudojimas, ypač sprendžiant skirtingo tipo problemas. Taip pat, labiau rinktis įmones, kurios propaguoja modernius ir inovatyvius sprendimus bei duoda laisvės tobulėjimui.
Dirbtinis intelektas pirmiausia taps idealiu pagalbininku programų sistemų kūrėjams. Programuotojai pasinaudodami dirbtiniu intelektu programinį kodą rašys žymiai efektyviau ir kokybiškiau bei labiau orientuotą į vartotojų poreikius. Jau kuris laikas egzistuoja sprendimai palengvinatys programų kūrimo specialistų kasdienybę. Šių laikų kodo redaktoriai (IDE) turi aibes funkcijų tokių kaip automatinis kodo užbaigimas, automatinis kodo siūlymas, klaidų taisymo įrankiai, kurie gali identifikuoti kas blogai su programa ir panašūs programuotojo darbą palengvinantys triukai. Įsivaizduokite šiek tiek tobulesnį padėjėją, paremtą savaiminiu sistemos mokymųsi, kuris rašant programinį kodą galėtų nustatyti kokia funkcija yra rašoma ir likusius duomenis dirbtinis intelektas užpildytų pats savo nuožiūra. Tiesa sakant, panašios paslaugos jau prieinamos ir šiandien. Dirbtinis intelektas netolimoje ateityje atliks automatizuotas kodo peržiūras bei esant reikalui ir automatinius pataisymus, o žmogus bus reikalingas tik kaip papildoma akių pora patvirtinti atliktus pakeitimus.
Išvada
Dirbtinis intelektas nepakeis fakto, kad per artimiausius dešimtmečius pasaulyje vis dar trūks programinės įrangos inžinierių. Sunku nuspėti kas nutiks vėliau, tačiau viena yra aišku, kad programuotojai dėl savo darbo vietų turėtų baimintis mažiau nei kitų profesijų atstovai. Apskritai, labai tikėtina, kad programavimas bus paskutinė specialybė, kurią dirbtinis intelektas ir automatizacijos amžius atims iš žmonių.