Je li Internet of Things san programera ili milijun novih glavobolja?

  • Oct 20, 2023

S Internetom stvari razvoj softvera ulazi u potpuno novu dimenziju.

Dok IT svijet eksplodira u milijune kontaktnih točaka zahvaljujući Internetu stvari, to je stvaranje novih prilika i izazova za ljude koji će graditi rješenja prema tome. Pitanje je hoće li to biti veća prilika ili veći izazov?

building-with-lights-windows-cropped-photo-by-joe-mckendrick.jpg
Fotografija: Joe McKendrick

Broj programera koji trenutno rade na IoT aplikacijama porastao je 34% od prošle godine na nešto više od 6,2 milijuna, prema procjene iz Evans Data. Analitičarska tvrtka dodaje da je uz to povećanje razvoja mobilnih uređaja, za 14% više od prošle godine, dovelo do toga da su pametni telefoni najčešće povezana IoT platforma.

Dakle, pitanje je hoće li više od šest milijuna programera uopće biti dovoljno da se nosi s radnim opterećenjem koje će donijeti eksplozivni IoT?

Nedavni članak objavljen na Ozyju upozorava da hiperpovezana budućnost -- s 20 milijardi uređaja i više -- "mogao bi predstavljati zapanjujući nedostatak programera s vještinama potrebnim za izradu aplikacija i sastanke zahtijevajte. Do 2020. mogao bi postojati deficit od pet do deset milijuna programera."

"Ogromna su očekivanja da softver ide tamo gdje nitko prije nije", rekao je Sam Ramji, izvršni direktor Cloud Foundry Foundationa, citiran u članku Ozyja. U članku se dalje citira Doug Bellin iz Cisca, koji objašnjava priliku/izazov:

"Iskopavat ćemo i analizirati podatke na nečuvene načine, dodajući potpuno novi sloj inteligencije koji će transformirati poslovanje. Budući da će inženjeri s do tri puta većim brojem povezanih uređaja na dohvat ruke raditi u 'stvarnom vremenu' nego kroz retrovizor' -- drugim riječima, na licu mjesta ili proaktivno računanje umjesto reaktivnog računalstvo. To bi moglo dovesti do sofisticiranijih strojeva koji napreduju već otmjeni razvoj s pametnim turbinama, koji sada za optimizaciju koriste podatke koji objašnjavaju interakciju strojeva s krajolikom i vjetrom učinkovitost. Ili bi to moglo dovesti do toga da inženjeri pišu kod za usmjeravanje terabajta podataka iz mlaznih motora u oblak, gdje se analizira i prevodi u smislene uvide za smanjenje troškova u područjima kao što su gorivo ili održavanje. "

Ne radi se samo o nedostatku tradicionalnih razvojnih vještina, već i o ponovnom usklađivanju i preoblikovanju samog razvoja kako bi se zadovoljile te nove mogućnosti. Na primjer, programeri su možda morali prilagoditi ritam svog rada višestrukim slojevima unosa zajednice. Nedavno sam se čuo s Manceom Harmonom, šefom arhitekture u Ping identitet, koji je raspravljao o implikacijama IoT-a na razvojni svijet. Za izgradnju i upravljanje IoT mrežama omogućenim blockchainom potrebne su određene vještine,

'Distribuirani algoritmi konsenzusa, kao blockchain i hashgraph, zahtijevaju od programera da drugačije razmišljaju o procesu razvoja", kaže Harmon. "Redoslijed transakcija koje teku kroz mrežu nije utvrđen dok se zajednica kolektivno ne dogovori o redoslijedu. Aplikacija može primiti transakciju, ali može odlučiti da neće djelovati u skladu s informacijama dok se zajednica ne dogovori o redoslijedu transakcija u odnosu na druge transakcije."

Alternativno, nastavlja Harmon, "u nekim primjenama može biti prikladno odmah djelovati na informacije, a zatim napravite potrebne ispravke ako se zajednica složi oko drugačijeg konsenzusa narudžba. U nekim slučajevima programer bi mogao htjeti upotrijebiti transakciju prije postizanja konsenzusa zajednice."

Harmon daje primjer razvoja IoT igrice, verzije Pokemon Go koja je u interakciji sa senzorima i stvarima razbacanim po cijelom okruženju. "Transakcije primljene s mreže mogu se odmah odraziti na ono što se prikazuje na zaslonu pametnog telefona ili VR naočala", objašnjava. "Ako zajednica odluči da se redoslijed transakcija treba promijeniti, tada se ažuriranja vrše prema onome što je prikazano na ekranu. S druge strane, na distribuiranom tržištu dionica, podudaranja između kupaca i prodavača ne bi se odrazila na traci sve dok zajednica ne postigne konsenzus. To nisu dizajnerska razmatranja s kojima se većina programera prije susrela."

Više od moje rasprave s Harmonom je objavljeno na RTInsights, u kojem je govorio o razlikama između otvorenih i "dopuštenih" mreža.