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.

 

Grasshopper: l’APP per imparare a programmare

Grasshopper: l’APP per imparare a programmare

 

Grasshopper: l’APP per imparare a programmare

Imparare a programmare: una necessità per molti ed una richiesta del mercato.

La programmazione informatica oggi ha scenari lavorativi interessanti. Qualunque azienda utilizza del software per gestire le proprie attività lavorative. Qualunque azienda ha bisogno di personale competente e spesso dei programmatori.

Programmare non è semplice e ha bisogno di anni di studio per essere realmente capaci.

Detto cosi, “programmare” è un termine generico. Esistono infatti una moltitudine di linguaggi di programmazione ed una serie di tecnologie.

Approcciarsi alla programmazione non è banale. Google, è intervenuta con un progetto interno realizzando un’APP per dispositivi mobili che aiuta ad avvicinarsi ai concetti della programmazione software.

Con il progetto “Area 120”, Google ha permesso ad un team di suoi dipendenti di dedicare del tempo a progetti personali nell’ambito software. In questo caso si inserisce l’app Grasshopper.

Scopo dell’applicazione è insegnare i rudimenti della programmazione ai neofiti, in particolare del linguaggio Javascript.

QUI troviamo i link all’APP Grasshopper per Android e QUI per iPhone.

In realtà non si può pretendere di diventare programmatori semplicemente utilizzando un’APP. Tuttavia lo scopo del progetto è quello di inculcare le logiche della programmazione (in particolare ad oggetti) ed avvicinare il completo “ignorante” a Javascript.

Javascript è il principale linguaggio di programmazione per lo sviluppo web (in particolare per il front-end, ovvero ciò che l’utente finale vede).

Oggi Javascript sta prendendo piede in maniera considerevole tanto da essere utilizzato con numerosi framework per progetti di sviluppo software complessi. Pensiamo ad esempio a React, React Native o Nodejs (solo per citare le ultime librerie/tecnologie javascript più recenti).

Grasshopper l’APP per imparare a programmare, aiuta ad entrare nel mondo della programmazione. L’interfaccia è accattivante e moderna. L’app ha una struttura scalare e verticale, utile proprio per l’utilizzo tramite smartphone.

L’applicazione presenta le caratteristiche classiche della “gamification”. Si tratta di un’approccio all’apprendimento che prevede punti, premi, classifiche e ricompense. Inoltre Grasshopper è costruito a “puntate”.

Passo passo, la struttura delle lezioni aiuta ad apprendere i concetti di variabili, stringhe, classi. Tramite dei riquadri lo studente può intervenire “scrivendo” piccole righe di codice in maniera schematica.

In caso di errori l’app cerca di suggerire il motivo e permette di correggere e di riscrivere il codice in modo da imparare anche dagli errori.

Di seguito troviamo degli screenshot di Grasshopper l’APP per imparare a programmare.

 

 

 

 

Come possiamo notare dalle immagini, l’applicazione ha user experience moderna ed una organizzazione schematica. Risolvendo di volta in volta i quesiti, si affrontano tematiche e capitoli diversi. Si va ad aggiungere tassello su tassello, concetti chiave per imparare a programmare.

Ogni paragrafo termina con un “quiz time” e se le risposte fornite saranno corrette, l’applicazione Grasshopper ci farà procedere allo step successivo. In alto troveremo il nostro punteggio.

Visualizzando invece il menu dell’app, avremo una finestra che mostra 4 macro aree di argomenti:  What is code,  Animations e Animations II. La sezione subito dopo riguarda le aree di pratica di codice.

I lucchetti presenti in alcune sezioni, intendono che l’accessibilità a questi dipenda dal superamento dei livelli precedenti.

Il concetto che deve passare però non deve essere “imparare a programmare” scaricando un’app. Non possiamo illure i lettori che ignorano completamente il settore del’Information Technology.

Tuttavia siamo favorevoli all’iniziativa e suggeriamo a tutti di provare l’app e cimentarsi nei concetti della programmazione.

Innovaformazione, scuola informatica specialistica, promuove la cultura della programmazione software ed informatica. Eroghiamo corsi di formazione altamente tecnici per sviluppatori.

Potete visitare www.innovaformazione.net e contattarci ad [email protected] .

Se volete leggere altri articoli sul mondo delle APP e della programmazione, consigliamo di visionare la sezione apposita del nostro blog tramite questo LINK.

 

 

Grasshopper: l’APP per imparare a programmare

 

 

Cos-è-il-Knowledge-Transfer?

Cos-è-il-Knowledge-Transfer?

Cos-è-il-Knowledge-Transfer?

Cos-è-il-Knowledge-Transfer?

Nel business moderno, la conoscenza è considerata un valore chiave per lavorare e per competere sul mercato.

Il “knowledge” ovvero la conoscenza deve essere trasferita al team di lavoro. Solo se questo è ben preparato potrà svolgere al meglio i compiti e raggiungere gli obiettivi prefissati.

Per “Knowledge-Transfer” si intende quindi il “trasferimento della conoscenza” che passa di solito dai “senior” ai “junior” e/o direttamente dal cliente.

Nel settore dell’information technology il concetto di “Knowledge-Transfer” è molto attuale e diffuso nei progetti software. E’ da considerarsi una cultura assodata che si allinea alla formazione del personale.

Il Knowledge-Transfer consiste in un periodo più o meno lungo in cui gli esperti conferiscono le competenze chiave per l’inserimento dei “nuovi” nel progetto. Si intende il trasferimento sia del “dominio”, sia degli aspetti tecnici/tecnologici.

Per “dominio” si intende l’ecosistema di business in cui si opera. Se ad esempio un’azienda opera nel settore bancario, il Knowledge-Transfer comporterà nell’apprendere:

  • l’organizzazione (come si lavora all’interno di una filiale e quali sono i processi e normative)
  • i servizi presenti (ad esempio: software per l’home-banking o per i processi amministrativi)
  • i bisogni e necessità non ancora soddisfatti nell’organizzazione (ad esempio: necessità di avere un’APP per la banca)

Se un’azienda lavora nel settore farmaceutico il Knowledge-Transfer comporterà temi del business di riferimento come tipi di farmaci, azioni o malattie di intervento, princi attivi, attività di laboratorio ecc. Nello stesso tempo si trasferiranno i processi aziendali su cui il software interviene.

Il Knowledge-Transfer inizia con una metodologia impostata dalle figure che hanno già fatto esperienza su un progetto già implementato. Rischi, errori, procedimenti e soluzioni vengono documentate in manuali tecnici il cui livello di dettaglio è solitamente alto.

Tuttavia la formazione del team novizio non avviene in maniera passiva. E’ necessario coinvolgere tutto il team di lavoro in quello che spesso si chiama “training on the job“. I senior affiancano i nuovi consulenti fino a renderli indipendenti proseguendo “la catena” del valore.

Il processo di Knowledge-Transfer in azienda è delicato. Questo perchè il trasferimento è problematico per i seguenti motivi:

  • la conoscenza è distribuita: le competenze non vanno rivolte ad un individuo bensi ad un team che a sua volta è complesso e coordinato
  • la conoscenza è ambigua: spesso nel software ci sono concetti astratti non semplici da trasferire e facilmente confondibili. E’ importante che chi fornisce il trasferimento di conoscenza abbia l’effettiva esperienza sul progetto
  • la conoscenza è “disruptive”: le nuove tecnologie digitali possono stravolgere le logiche di business precedentemente conosciute. Questo comporta un importante sforzo di ri-definizione dei settori e dei processi

 

L’ esplorazione è sicuramente un punto cruciale con cui il team si appropria delle conoscenze e le trasforma in competenze. La capacità di diventare autonomi sul progetto è l’obiettivo cruciale per ogni compagine lavorativa. L’accettazione della conoscenza consiste nel farle proprie e nell’applicazione nel contesto di business.

 

In questi casi si parla di Learning Cycle, ovvero di un ciclo di formazione che è costretto a superare anche la cultura dello stesso team, dipeso da “visioni” diverse. Questo ostacolo dipende dalla concezione di alcuni individui della conoscenza in sè. Se ad esempio del knowledge non viene considerato “utile”, il team la subirà passivamente senza utilizzarla. Rendendo quindi vano lo sforzo del Knowledge Transfert.

 

Queste difficoltà nel “ciclo formativo” si risolvono solo con una grande esperienza dei coach responsabili del Knowledge Transfert assieme ad una metodologia di “learning by doing” e/o “training on the job”.

 

Queste filosofie di formazione devono essere applicate oggi in tutti i progetti IT moderni e ad alto contenuto tecnologico.

Innovaformazione, scuola di formazione specializzata nel settore IT, promuove la cultura informatica e dell’approccio del Knowledge Transfert autentico.

Potete visionare l’offerta formativa e il catalogo corsi su www.innovaformazione.net .

Contatti: [email protected] .

 

 

Linguaggi di programmazione

Linguaggi di Programmazione

Come orientarsi tra i linguaggi di programmazione nell’ informatica? Il mondo IT è immenso e in continua evoluzione.

Con questa infografica vogliamo dare una panoramica delle potenzialità di ciascun linguaggio di programmazione (“coding language”) e delle possibilità lavorative che ricordiamo sono internazionali.

Per chi è agli inizi nel mondo dello sviluppo web o dello sviluppo software, l’infografica cerca di indirizzare meglio rispetto alle proprie prospettive e in realazione alle proprie attitudini.

Ricordate sempre che il settore lavorativo nell’informatica non ha mai visto in crisi e che la domanda di sviluppatori è sempre maggiore dell’offerta nel mercato del lavoro.

Basterà cercare nei motori di ricerca per il lavoro per trovare numerosissimi annunci di ricerca per programmatori Java, JEE, programmatori web nell’ambito html, css e javascript, programmatori mobile APP per Android, iOS e cross-platform, sviluppatori software per Microsoft .Net e Python.

Il linguaggio in ascesa è probabilmente Python tuttavia in Italia ed in Europa la maggiore tecnologia richiesta resta Java e JEE (Java Enterprice Edition) che segnala anche gli stipendi più alti come retribuzione.

In forte crescita la richiesta di sviluppatori mobile quindi per l’ambito Android e iOS. Ormai ogni software ha bisogno di essere accessibile anche dai dispositivi mobili e quasi ogni piattaforma web possiede un’APP (principalmente Android e iOS).

L’infografica seguente (redatta da websitehub.com) mette il Python in cima alla lista dei linguaggi programmazione, perchè negli Stati Uniti attualmente è il linguaggio più richiesto. Come accennato già sopra, a nostro avviso le piattaforme Oracle Java risulta il primo in Europa, per non parlare dello sviluppo database (Oracle PL-SQL).

La programmazione database è anche un’altro ambito che viene sottovalutato in questa infografica. In particolare esistono una serie di profili professionali che lavorano su tecnologie come SQL Server, MySQL e PL-SQL.

Innovaformazione si occupa di formazione informatica specialistica, erogando corsi di formazione su Java, JEE,  C#, C++ Javascript ecc. Visitate www.innovaformazione.net

linguaggi di programmazione-infographic