Testata Italia Oggi Sette
Titolo Nuovi professionisti per la rete
Mobile developer, fullstack developer, internet of things developer, blockchain developer: sono queste le figure It emergenti, secondo un' analisi di Wyser, società internazionale di Gi Group che si occupa di ricerca e selezione di profili manageriali. Il mobile developer è uno sviluppatore di App per il mondo dei devices mobili. Si occupa di sviluppare in linguaggio nativo (app sviluppate utilizzando il linguaggio di programmazione stabilito dal produttore del sistema operativo: Android, iOS, Microsoft) oppure su applicazioni ibride (sviluppo attraverso framework che permettono di interagire con i diversi sistemi nativi). E un profilo che deve avere una conoscenza dello sviluppo di applicazioni per iPhone e iPad utilizzando Objective-C/C++ con Cocoa. Deve avere esperienza nello sviluppo di sistemi multithreading, nella progettazione di Api Restful e nella implementazione di moduli client dedicati in linguaggio Objective-C. Infine, occorre una conoscenza dei principali meccanismi di distribuzione e fruizione di notifiche push, degli strumenti e delle tecniche per l' ottimizzazione delle performance di applicazioni in ambiente iOS/Android. I Full Stack developers sono sviluppatori di software che hanno una conoscenza a tutto tondo di sviluppo sia lato frontend, ossia la parte visibile dagli utenti e quella con cui essi interagiscono, che lato backend, ossia del funzionamento lato server e di interventi che non hanno impatti sull' interfaccia grafica, quindi su ciò che gli utenti vedono visitando il sito. Per essere un buon fullstack developer invece è richiesta esperienza di sviluppo software e conoscenza di: Node.js e Javascript lato server; framework per lo sviluppo di applicazioni web e strumenti come React Js, progettazione e coding di servizi web con Rest e Json, framework di test Javascript come Mocha, conoscenza di dbase non relazionali quali ad esempio MongoDB, conoscenza di C, C++, python, java. Occorre inoltre saper sviluppare le applicazioni mobili (Android e Ios), i servizi cloud computing Amazon AWS, Google Cloud, Microsoft Azure, Microsoft Cognitive Service. Il blockchain developer è uno sviluppatore richiesto prevalentemente in ambito banking, che sviluppa sulla «blockchain», ossia una nuova tecnologia che, per sua natura, garantisce un elevato livello di sicurezza. Nata e legata alla storia del Bitcoin, attualmente, soprattutto le banche stanno adottando oggi questo tipo di tecnologia. Il blockchain developer deve essere laureato in triennale/specialistica in Informatica, Ingegneria informatica o corsi di laurea dal contenuto tecnico/scientifico affine; conoscenza di database relazionali e di quelli non relazionali, quali ad esempio NoSQL; conoscenza delle principali Blockchain open source e non, basi di crittografia e sistemi peer to peer; spiccata attitudine all' innovazione, ottima e diretta esperienza di disegno ed implementazione di metodologie DevOps di Continuous Integration e Deployment (CD) in ambienti di test e produzione, ottima esperienza di uno o più strumenti di Configuration Management e definizione di «Infrastructure as a code»: Terraform, Ansible, Chef, Salt, Puppet, AWS CloudFormation. Deve avere esperienza nel setup e nella gestione di uno o più CI/CD servers: Jenkins, Hudson, Travis CI;- Esperienza nell' utilizzo di SO Linux in ambito di produzione (Debian, Ubuntu, CentOS, Redhat,...); esperienza di setup ed ottimizzazione di Web Servers (Apache, Nginx,..); di setup ed ottimizzazione di stack LAMP. Occorre avere conoscenza ed esperienza di tecniche e sistemi di Caching HTTP (Varnish, Memcached, CDN) e di strumenti di Load Balancing (ELB, HAproxy, F5,....). Infine, deve avere conoscenza ed utilizzo di Database NoSQL (Redis, MongoDB, DynamoDB, ElasticSearch); conoscenza dei principali Database Relazionali: MySQL, Aurora, MariaDB, PostgreSQL, SQL Server,...) e della lingua Inglese. L' Internet of things developers, infine, sono sviluppatori che mettono in relazione software, sensori, macchine, cose, persone e molto altro. L' Internet of things developer deve avere esperienza nell' utilizzo di moderni ambienti di sviluppo, ottima conoscenza della programmazione Java e della programmazione JavaScript/TypeScript: Angular, ottima conoscenza della programmazione HTML5 e CSS, conoscenza dei protocolli IoT quali MQTT. Deve avere dimestichezza con le piattaforme/tecnologie IoT quali Arduino, Raspberry, Beacon, Bluetooth, WiFi; con framework Spring: Spring Boot, Spring Data, Spring Rest; con le architetture cloud e della containerizzazione di micro-servizi: AWS, Docker, Docker Swarm; con lo sviluppo di applicazioni mobile: Android, iOS. Deve avere esperienza nell' uso di sistemi di versionamento quali Git e con metodologia Scrum o Agil. Nella IoT («internet of things») ogni cosa è connessa a Internet e questo permette di monitorare e raccogliere e scambiare dati in tempo reale. I settori di applicazione sono nell' ambito smart cities, smart home, automotive, sport, trasporti, telecomunicazioni, salute, industria. Internet delle cose è un network di sensori, applicati su dispositivi di uso comune perfettamente integrati e continuamente connessi fra loro, che possono monitorare e gestire lo stato e le azioni di macchine e oggetti, ma anche il mondo naturale e le persone. Dotare di sensori gli oggetti è infatti una cosa che può essere fatta in ogni campo: negli edifici e nelle piazze delle nostre città, negli elettrodomestici, nei dispositivi medici o sportivi indossabili, nelle autovetture e nei mezzi di trasporto in generale, negli impianti e negli stabilimenti produttivi. Internet delle cose porta cambiamenti radicali nel modo in cui le imprese gestiscono i propri asset fisici, i consumatori curano la loro salute ed il loro benessere o come le città immaginano il loro futuro. Con l' introduzione e lo sviluppo di soluzioni Internet of things le aziende saranno in grado di sfruttare nuove opportunità di business e aumentare la quota di mercato. Infatti, la digitalizzazione agisce in modo da sfumare le differenze tra i fornitori di tecnologia e le stesse imprese clienti. Per esempio, coloro che costruiscono macchine, grazie a queste nuove soluzioni, possono creare nuovi modelli di business e trasformarsi a loro volta in fornitori di servizi in una miriade di combinazioni diverse. Intorno a questo tema si va creando una nuova e dinamica industry, sia di operatori tradizionali, sia di nuovi entranti.