Perche-le-aziende-non-trovano-programmatori ?

Perche-le-aziende-non-trovano-programmatori ?

Perche-le-aziende-non-trovano-programmatori ?

 

Perche-le-aziende-non-trovano-programmatori ? La domanda con cui intitoliamo l’articolo è ricorrente per gli addetti ai lavori del settore informatico.

Ci si lamenta che l’Italia sia in crisi economica, che ci sia disoccupazione specialmente al sud . Tuttavia nel settore informatico c’è un fenomeno controverso. Perche-le-aziende-non-trovano-programmatori .

Probabilmente il settore Information Technology è l’unico settore al mondo dove la domanda di specialisti è maggiore dell’offerta. Significa che i posti vacanti sono maggiori di chi cerca lavoro.

La questione inoltre non riguarda solo il mercato del lavoro dell’Italia. Ma anche dell’Europa e se vogliamo di tutto il mondo.

Com’è possibile quindi che le aziende abbiamo difficoltà ad assumere programmatori?

Perche-le-aziende-non-trovano-programmatori ?

Proviamo a rispondere al quesito delineando la complessità della risposta.

Parliamo infatti di un settore altamente specialistico, un lavoro di concetto di alto livello.

La prima risposta che diamo è che fare il programmatore “non è affatto semplice”.

Oggi sono ricercatissimi i laureati in ingegneria informatica, informatica e i laureati nei percorsi legati all’ IT.

Tuttavia il numero dei laureati in queste discipline sono pochi. Specialmente rispetto alla domanda.

Studiare informatica non è per tutti. Svolgere il lavoro di sviluppatore software non lo è altrettanto.

Bisogna studiare anni, studiare discipline complesse come analisi matematica, fisica, algoritmi e strutture dati, ingegneria del software, matematica discreta, reti di calcolatori, probabilità e statistica ecc.

Si può studiare per una laurea triennale oppure proseguire per la magistrale. In totale possono passare 3, 4 ,5 o sei anni se si esce fuori corso.

Al termine degli studi però, non si è del tutto “autonomi” nel lavoro. E’ necessario un breve percorso di stage ed affiancamento. Il “mestiere” vero e proprio lo si apprende in azienda. Ma si continua a studiare.

Infatti le tecnologie sono in continua evoluzione. E’ un continuo mettersi alla prova e chi si ferma è perduto.

Negli ultimi anni sta aumentando l’interesse delle aziende verso i diplomati delle scuole superiori in ambito informatico. Perchè i laureati sono troppo pochi.

Tuttavia il livello di preparazione non è mai paragonabile ad un percorso universitario. Inoltre i ragazzi che si iscrivono agli istituti tecnici per “ragionerie programmatore” spesso non ha le idee chiare di cosa vorrà fare da grande. Molti non vorranno diventare sviluppatori. Forse perchè è un lavoro più complicato delle loro aspettative.

Oggi vediamo come l’informatica sia d’appertutto. E’ per questo che il mercato del lavoro è florido per chi lo cerca ma è diffcile per chi lo offre.

Nei prossimi 5-10 anni inoltre la diffusione del 5G, della robotica e dell’automazione industriale (industria 4.0) cancellerà lavori manuali che verranno sostituiti dalle macchine e dai software.

Chi dovrà progettare questi software? Gli sviluppatori.

Oggi, ogni attività, piccola o grande che sia, vede l’utilizzo di pc e di conseguenza di software.

Più complessa è l’attività, maggiore è il team di lavoro coinvolto in un’azienda. Più complesso sarà il software.

Dientro ad un programma software, ci sono i programmatori.

Se ci pensiamo, più passano gli anni, maggiore diventa la diffusione dei computer e dei software nella nostra vita quotidiana.

Gli smartphone hanno cambiato le nostre vite. Ma non dimentichiamo che tutte le famose “APP” sono dei software progettati da degli sviluppatori. (programmatori Android, iOS ecc.)

Aumentando la diffusione di questi strumenti, aumenta quindi la domanda di programmatori.

C’è poi negli ultimi anni un trend che riguarda le famose “start-up”. Le start-up sono aziende spesso a contenuto “innovativo” ma che praticamente nel 100% dei casi si basano su un software.

Quindi troviamo giovani neolaureati in materie che non centrano nulla con l’informatica, vincere un bando per avviare la loro “idea”. Un app che aiuta a fare questo o quest’altro. Un sistema web che stravolge il mercato o quel settore.

Tuttavia nel team di partenza mancano gli artefici principali. Gli sviluppatori.

Cosi i giovani imprenditori si mettono alla ricerca di programmatori, senza avere risorse da offrire e senza nemmeno conoscere il mercato. Si, perchè il programmatore oggi è merce ricercatissima.

Un altro caso, sono le aziende di consulenza di altro tipo (aziendale, marketing o ingegneristico) che dinanzi a richieste dei clienti, scoprono l’esistenza della consulenza informatica. Da qui si buttano su progetti ad alto rendimento economico senza avere al momento il personale competente. Cosa fanno? Si mettono in cerca di consulenti informatici. Ovviamente non ne trovano.

Ma cosa fanno allora le aziende per risolvere questo problema?

Due sono le soluzioni.

  1. Propongono contratti migliori a chi già lavora per cambiare azienda.
  2. Formano  da zero o quasi, giovani leve per poi assumere creando cosi le figure fin a quel momento “inesistenti”.

Pensate sia facile quindi?

Assolutamente no! No perchè è comunque molto difficile selezionare e trovare gente disposta a formarsi ad esempio su Java, o su SAP o sulla programmazione .Net (solo per citare alcuni esempi). Spesso si seleziona neolaureati da avviare ad una formazione. Ma sono pochi quelli “liberi” perchè la maggior parte ha già trovato impiego.

La scelta invece di fare offerte migliorative a gente che già lavora è comunque complesso.

Perchè infatti un programmatore dovrebbe cambiare azienda, o città se al momento si trova bene e non ha bisogno di cambiare? I soldi? Certo, ma non sempre sono sufficienti.

Le stesse aziende spesso non hanno il denaro necessario per convincere un programmatore a spostarsi.

Se ci soffermiamo poi sul fatto che tranquillamente uno sviluppatore potrebbe trovare ottimi stipendi all’estero…allora per le aziende italiane la competizione è già morta sul nascere. Si, perchè è risaputo che gli stidendi più alti per i programmatori sono fuori dall’Italia.

Restando su SAP, l’argomento aumenta di complessità perchè su questo ambito si ricercano figure verticali. Si intende non “puri informatici” ma spesso con una laurea in economia o in ingegneria per avviarli ad un lavoro prettamente da consulente informatico. E fidatevi che non è facile convincere un “economista” a convertirsi ad un mestiere nel settore IT. Spesso in contrasto con le sue aspettative di lavoro al momento di iscriversi all’Università.

Perche-le-aziende-non-trovano-programmatori ? Abbiamo provato a riassumere il nostro punto di vista.

Innovaformazione è una scuola nel campo dell’Information Technology.

Eroghiamo formazione per sviluppatori su varie tecnologie (Java, JEE, React, Android, Unity Data Science ecc.) e organizziamo corsi su SAP.

Potete visionare la nostra offerta formativa sul nostro sito www.innovaformazione.net e contattarci ad [email protected]

Per altre notizie o articoli sul mondo software potete visionare la sezione dedicata a questo LINK.

Se volete leggere articoli sul mondo SAP visionate questo secondo LINK.

 

Missione-Bari-la-app-del-sindaco-De-Caro

Missione-Bari-la-app-del-sindaco-De-Caro

Missione-Bari-la-app-del-sindaco-De-Caro

Missione-Bari-la-app-del-sindaco-De-Caro . Appena terminate le elezioni non potevamo non scrivere un articolo sull’argomento. Per il Comune di Bari il sindaco uscente Antonio De Caro si è candidato riproponendosi vincendo in maniera netta le votazioni.

Nell campagna elettorale è emersa una interessante azione di marketing. Tra gli altri canali, oltre ai social, è stata sviluppata un’ APP Missione-Bari-la-app-del-sindaco-De-Caro.

Si tratta di un videogame divertente e distribuito su Google Play ed Apple Store.

Missione-Bari-la-app-del-sindaco-De-Caro è una sorta di “arcade” come direbbero in gergo gli appasionati.

Il protagonista del gioco è il sindaco di Bari Antonio De Caro. L’obiettivo del videogame è aiutare i cittadini a risolvere i problemi della città rispondendo ad alcuni quiz.

La Missione-Bari-la-app-del-sindaco-De-Caro , oltre ad essere uno strumento di marketing elettorale, vuole trasmettere i valori di civiltà e di buona convivenza. Inoltre nella versione “a punti” il giocatore può gareggiare con gli altri partecipanti cercando di ottenere più punti possibili interagendo e risolvendo i quiz.

L’app è stata sviluppata con Unity 3D, game engine e ambiente di sviluppo diffusissimo oggi per lo sviluppo sofware in ambito gaming. Se non sapete cosa sia Unity 3D vi invitiamo a leggere QUESTO nostro articolo.

Abbiamo intervistato lo sviluppatore Michele Facecchia che ha lavorato al progetto. Le informazioni che trovate di seguito sono emerse proprio dalla breve intervista.

Il tempo a disposizione per lo sviluppo è stato poco, circa 3 settimane. Le potenzialità di Unity e la collaborazione con dei modellatori 3D hanno permesso di realizzare il tutto in poco tempo.

Le struttre grafiche del Petruzzelli e del Tetro Margherita sono state modellate con i software Rinoceros e Maya 3D.

E’ stato svolto anche un lavoro di audio editing con musiche e suoni utilizzando Adobe Audition. Illustrator e Photoshop sono stati utilizzati invece per i ritocchi delle immagini.

Al momento il gioco permette di “perlustrare” solo il centro di Bari e una zona circoscritta.

Durante l’intervista lo sviluppatore ha dichiarato di voler apportare miglioramenti grafici e di estendere il gioco ad altre zone della città di Bari. Con questa prospettiva l’idea sarebbe di creare dei livelli di gioco da sbloccare al raggiungimento di un punteggio. Ogni livello permeterrebbe di passare a quartieri diversi.

L’idea del videogames è molto simpatica e creativa. Anche il messaggio di “civiltà” è un vero e proprio invito alla cittadinanza.

Il Sindaco De Caro qui si rende protagonista di una vera e propria “Missione Bari” per amministrare la città.

Sotto riportiamo il video (fonte Repubblica.it) .

Oltre alla voce del Sindaco sono ritratte delle voci dei passanti. Queste voci sono di Dante Marmone e Tiziana Schiavarelli, attori comici del panorama Barese.

Come sottolineato dallo stesso sviluppatore, il videogame ritrare anche gli usi e i costumi dei baresi. Un esempio è un personaggio che “arriccia (sbatte) i polpi”.

A voi lasciamo i commenti “tecnici” e volendo sulla qualità del gioco. A noi in generale è piaciuto.

 

Innovaformazione, scuola informatica specialistica promuove la cultura digitale e lo sviluppo gaming con Unity 3D. Riportiamo il link al corso Sviluppatore Videogames con Unity 3D .

 

Rome Reborn: Roma Antica con la realtà virtuale

Rome Reborn: Roma Antica con la realtà virtuale

 

Rome Reborn: Roma Antica con la realtà virtuale

L’incontro tra Archeologia e Tecnologia determina un’applicazione (al momento solo desktop) che permette di rivivere gli ambienti di Roma Antica. Stiamo parlando di Rome Reborn.

Il progetto nasce nel lontano 1996 e vede al lavoro un team misto tra informatici e ricercatori universitari. Lo scopo è quello di ricreare la mappa di Roma Antica con una modalità tridimensionale della realtà virtuale.

Attraverso dei visori di VR (Oculus Microsoft o Htc VIVE) oppure attraverso le applicazioni desktop per Windows o Apple, è possibile “passeggiare” nell’Antica Roma” oppure sorvolare le ambientazioni come se fossimo a bordo di un drone.

L’applicativo è sviluppato con una serie di tecnologie. Parliamo di Unity 3D  ,3D Studio Max e Autocad. Il team non è molto vasto ma ci sono competenze tecniche di alto livello. In primis ci sono sviluppatori software (sviluppatori Unity 3d) e modellatori grafici.

Incuriositi, abbiamo intervistato il fondatore Bernie Frisher che ha riposto cosi ale nostre domande.

1) Avete  utilizzato per caso Unitu 3d per lo sviluppo del vostro prodotto?
RISPOSTA: Si, usiamo normalmente un workflow che va dall’Autocad a 3D Studio Max a Unity.
2)   Da quante persone è composto il vostro team tecnico e che skill hanno (quanti sviluppatori e quanti modellatori 3d)?
RISPOSTA: Il team tecnico e’ composto dei seguenti esperti:
–1 modellatore 3D per i palazzi
–2 modellatori 3D per i piccoli oggetti (ad esempio, statue)
–1 modellatore che si concentra sui textures
–2 programmatori Unity
3) Come mai  non  avete pensato alle versioni per Android e Mobile?
RISPOSTA: Ci abbiamo pensato e anche fatto alcuni tentativi da cui risulta che non e’ facile di convertire la piattaforma Unity da PC/VR ad Android o iOs. I nostri esperti lavoranno tutti a part-time e finora non hanno avuto disponibilita’ per risolvere i problemi presentati da Android e iOs. Pero’ e’ qualcosa che speriamo di risolvere nel 2019. Speriamo bene!
4) Quali sono i  vostri obiettivi futuri?
RISPOSTA: Innanzitutto, voremmo finire la presentazione della Roma antica, cioe’ creare altre 10-15 applicazioni per i monumenti principali ma anche per la vita quotidiana. Poi voremmo offrire nuovi elementi, incluso multi-player, free roaming per tutte le applicazioni (finora e’ offerto solo per l’app presentando la Basilica di Massenzio e Costantino), e dei NPC che rappresentano gi antichi romani con cui il nostro utente possa interagire. Ad esempio, l’utente potra’ imperare l’uso delli armi gladiatoriali e impegnarsi in una lotta contro sia il NPC sia un’altro utente in rete.  
Dopo aver finito la Roma antica (se si puo’ mai parlare di “finire la Roma antica” che e’ ovviamente una citta’ senza limiti), voremmo creare applicazioni analoghe per altre citta’ antiche molto importante ancora oggi tipo Atene e Gerusalemme.
Concludiamo il nostro articolo con questo video che fornisce solo un’idea della realtà virtuale realizzata da Rome Reborn. Rome Reborn: Roma Antica con la realtà virtuale

Innovaformazione. scuola informatica specialistica eroga formazione su Unity 3D.
Visitate:
Rome Reborn: Roma Antica con la realtà virtuale

Imparare-a-programmare

Imparare-a-programmare

 

Imparare-a-programmare: da quale linguaggio iniziare?

Il mondo IT consiste in una serie di “tecnologie”. A seconda del settore e dell’ambito in cui ci si vuol specializzare, troviamo linguaggi, prodotti e tecnologie.

E noi aggiungiamo: “da dove iniziare”?

Per prima cosa è importante scegliere in quale settore ci vogliamo posizionare. Ci interessa la programmazione front-end o programmazione back-end (quindi lato web)?

Ci interessa imparare-a-programmare APP mobile (Android, iOS)?

Siamo interessati a programmare software desktop o multipiattaforma.? Ci piace programmare videogames? Vogliamo specializzarci nei database e datawarehouse?

L’infografica di seguito (realizzata da “whoishostingthis“), illustra i “linguaggi di programmazione” con le loro applicazioni.

I linguaggi vanno inseriti in contesti più ampi.  Spesso relazionati fra di loro.

Ecco una sintesi dei linguaggi di programmazione in una carrellata.

 

PHP.

 

PHP è un linguaggio server-side interpretato. Non compilato. Può essere affiancato dall’HTML, CSS e a Javascript.

PHP è un linguaggio utilizzando nel mondo web.

Funzioni di PHP:

  • creare pagine dai contenuti dinamici
  • scrivere, leggere, chiudere ed aprire file sul server
  • salvare, modificare e aggiungere dati su di un database
  • creare utenze di accesso al proprio sito web

Perchè lavorare con PHP:

  • gira su varie piattaforme come windows, linux, Mac OS ecc.
  • open source e gratuito
  • supporta un buon range di database
  • è efficiente

 

Javascript

Javascript è un linguaggio client-side ed è inserito in quasi tutti i browser.

Viene usato nella creazione di siti web per la parte front-end (interfaccia utente). Di solitò viene usato assieme all HTML e al CSS per lo sviluppo web. Inoltre Javascript è ricco di librerie e framework che agevolano la programmazione (es. jQuery).

 

HTML

Non è un linguaggio di programmazione (come erroneamente i neofiti possono sostenere) ma è uno scripting di markup.

Viene utilizzato nello sviluppo front-end assieme ai già citati javascript e css. La versione più recente dell’ HTML è  l’ HTML5 per la creazione di applicazioni “responsive” (visionabili anche da smartphone e tablet).

 

SQL

SQL è la sigla di Structured Query Language. Consiste in uno standard per interagire con i database. MySQL è  il più comune database. Per chi si avvicina alla programmazione web My SQL è sicuramente il migliore per imparare a programmare.

 

Utilità:

  • creare database
  • modificare database ed insere tabelle e campi
  • creazione permessi e utenze di accesso
  • configurazione di salvataggio dati

 

Objective C e Swift

Si tratta di un linguaggio orientato agli oggetti, basato sul C ed utilizzato per lo sviluppo di APP per dispositivi iPhone e iPad.

Per programmare in Swift e Obiective C è indispensabile possedere l’hardware Apple: Mac e un dispositivo iPhone per le fasi di test.

 

C++ / C#

Sono  linguaggi ad oggetti di casa Microsoft. Sono utilizzati per lo sviluppo software, videogames e mobile APP.

C# è impiegato nella programmazione in Xamarin per lo sviluppo applicazioni per dispositivi mobili (cross-platform.

Unity 3D, videogames engine, utilizza C# per lo sviluppo di videogiochi e software tridimensionali.

 

 

Java

Linguaggio di programmazione ad oggetti. Server-side, interpretato e compilato. Utilizza una virtual machine.

Java è il principale linguaggio al mondo utilizzato per lo sviluppo software, mobile e applicazioni web complesse (vedi JEE).

Android si basa su Java per lo sviluppo APP native con Android Studio.

 

Python

E’ un linguaggio server-side, interpretato, open source e non compilato.

Python ha molteplici applicazioni:

  • creazione siti web
  • creazione di GUI (desktop Grafic User Interface)
  • sviluppo software
  • sviluppo videogames
  • interazioni database
  • sviluppo nel Data Science con alcuni framework

 

Ruby (on Rails)

Linguaggio di programmazione server-side interpretato, non compilato.

Diffusosi con l’utilizzo con il framework Rails. Permette di realizzare applicazioni web lato front-end e back-end complesse.

 

Vuoi imparare-a-programmare?

Allora visita il sito www.innovaformazione.net .

Scuola informatica specialistica, Innovaformazione promuove la cultura dello sviluppo software.

Vuoi consigli su quale corso è più indicato in realazione alle tue basi e ai tuoi obiettivi?

Contattaci! tel. 3471012275 – [email protected]

 

 

 

 

 

 

 

 

Videogame e Realtà Virtuale: Ghostbusters con Unity 3D

Videogame e Realtà Virtuale: Ghostbuster con Unity 3D

Il mondo dei videogiochi è affascinante vero?

I videogames hanno riempito i pomeriggi di milioni di ragazzi a partire dagli anni 90. E’ questo infatti il periodo in cui sono arrivate le prime console di videogiochi ma anche i primi computer.

Con il passare del tempo la tecnologia si è evoluta e continua a farlo. Assieme alla tecnologia anche i videogames hanno visto notevoli miglioramenti e modifiche.

Si è passati da qualche giochino “stupido” in due dimensioni, stile Tetris o Pacman, a viodeogiochi di una certa complessità e dalla grafica a dir poco strabiliante.

Ma non è tutto. La computer grafica e lo sviluppo software hanno trasformato i videogames sempre di più in ambientazioni di “realtà virtuale”.

Ormai ne si sente parlare spesso come “nuova tecnologia del futuro” e i videogames sono i primi prodotti che incarnano il concetto di Realtà Virtuale (VR).

La realtà virtuale altro non è che una riproduzione di ambientazioni attraverso l’uso di software e tecnologie. In particolare con la realtà virtuale si vuol catapulare l’individuo in un’ambiente che “sembra” reale. In realtà tutto è stato progettato al computer. La caratteristica importante della Realtà Virtuale è che l’utente può interagire con gli oggetti e l’ambiente creato (virtualmente) come se fosse tutto vero (reale). Nella realtà virtuale il comportamento degli oggetti nello spazio, le leggi della fisica, le proprietà di liquidi, solidi e corpi gassosi oppure della luce, viene riprodotta fedelmente. Anche la forza di gravità la ritroviamo quasi sempre nella realtà virtuale.

Vogliamo collegare il concettto di realtà virtuale al videogames perchè ormai la maggior parte dei videogiochi di successo non fanno altro che immegere il giocatore in ambientazioni di fantasia ma con un’esperienza vicinissima alla realtà.

E’ proprio questo quindi, ciò che fa la differenza tra i vecchi viodegiochi degli anni ’90 e quelli moderni.

L’interazione utente-ambiente virtuale nei videogames può avvenire attraverso il classico “joypad” oppure, tra le ultime tecnologie troviamo sensori appositamente costruiti e ideati a tale scopo: parliamo dei Visori VR e della Kinect Microsoft VR.

Come visori ormai ce ne sono di tutti i tipi, come quelli prodotti da Samsung o da Google. In sostanza si indossa una sorta di maschera che visualizza a 360° un’ambiente con cui possiamo interagire.

La Kinect invece, prodotta da Microsoft, è una periferica originariamente progettata per la console XBOX, che permette al giocatore di interagire con l’ambiente virtuale senza dover indossare o impugnare nulla. E’ basato su un sistema di sensori, raggi infrarossi e telecamere che permettono di far interagire il giocatore riconoscendo gli spostamenti del corpo umano.

E’ facile intuire un’esperienza di gioco completamente rivoluzionata rispetto ai vecchi format anni 90 o 2D.

Infatti la prerogativa di queste tecnologie è concentrata su interfacce tridimensionali ed una riproduzione sempre più fedele della realtà.

Un bel esempio di videogame con realtà virtuale è Ghostbuster: il gioco è prodotto dalla THE VOIDE  è disponibile attualmente solo su piattaforme VR. Di seguito inseriamo un video di presentazione del gioco.

Invece maggiori dettagli sul progetto gaming “Ghostbuster” lo trovate in questo LINK.

Probabilmente, sorgerà a questo punto la domanda: ma come si realizza un videogames? Ed in particolare come si realizza un videogames 3D?

La risposta è alquanto articolata.

Innanzitutto bisogna sapere che tutti questi prodotti “virtuali” non sono altro che dei software. Degli sviluppatori, di solito in team con degli “animatori e modellatori 3D”, realizzano (sviluppano) prodotti di tale fattura.

Parliamo quindi di programmazione software abbinata spesso alla “pura” computer grafica.

Il principale ambiente di sviluppo (definito in gergo “engine”) per lo sviluppo Videogames è Unity 3D.

Unity 3D è un game-engine molto potente. Si programma solitamente in linguaggio C# (ambito Microsoft .Net) e ha vastissime applicazioni.

Permette di realizzare veri e interi videogiochi esportabili su tutte le piattaforme (da desktop al mobile come Android e iOS fino alle console come PlayStation e Nintendo).

Unity è molto utilizzato nei progetti gaming e di realtà virtuale (come visto in questo articolo), nella riproduzione di ambientazioni come musei, spazi architettonici e simili. Unity è impiegato per la creazione di “short films”: veri e proprio cortometraggi tridimensionali.

Innovaformazione, scuola informatica specialistica, promuove la cultura informatica e organizza corsi di formazione su Unity 3D.

Potete visitare il nostro sito e in particolare la pagina dedicata al Corso Sviluppatore Unity 3D .