Dove e come lavora
Il Programmatore (Sviluppatore, Developer) si inserisce nell’Area Tecnica e, nello specifico, nel Reparto Sviluppo di aziende informatiche che si occupano dello sviluppo di software. Opera sotto le direttive e la supervisione del Responsabile Tecnico, del Responsabile Sviluppo, se presente, e del Project Manager.
Cosa fa
Il Programmatore si occupa dello sviluppo dei software utilizzando specifici linguaggi di programmazione. È, quindi, la figura professionale che, a partire dalle specifiche fornite dell’Architetto Software e dell’Analista, si occupa della scrittura del codice necessario per realizzare software che a seconda dello specifico ambito in cui opera l’azienda può trattarsi di un gestionale, di un sito web, di una piattaforma di e-commerce, di applicazioni web e mobile e, più in generale, di qualsiasi prodotto software richiesto dai clienti. Si occupa, inoltre, del collaudo, della manutenzione e dell’aggiornamento dei software sviluppati in azienda, oltreché della risoluzione dei problemi tecnici più complessi segnalati dal cliente e di eventuali successive integrazioni o cambiamenti. Infine, si occupa della redazione di documenti e report descrittivi su ciò che viene fatto; stende, per la parte di sua competenza, la documentazione tecnica dei programmi realizzati e predispone istruzioni operative per gli utenti (manualistica utente).
Il Programmatore lavora in stretta collaborazione con tutte le altre figure che operano nell’Area Tecnica durante tutte le fasi di sviluppo dei progetti commissionati all’azienda e, in particolare, nella fase di progettazione ed analisi funzionale per valutarne la fattibilità tecnica. Si relaziona, inoltre, con l’Assistenza Tecnica per la risoluzione dei problemi tecnici più complessi ed eventualmente con la Consulenza Applicativa per supportare l’attività formativa rivolta al cliente.
Formazione
Questa figura è solitamente ricoperta da laureati in Informatica o in Ingegneria Informatica, ma anche da laureati in Ingegneria Elettronica, Ingegneria dell’Informazione, Ingegneria delle Telecomunicazioni, Matematica, Fisica, Statistica e, più in generale, in corsi di laurea ad indirizzo scientifico. Si tratta di laureati sia triennali che magistrali, in tal senso le aziende non fanno una grossa distinzione tra i due livelli di studi, tuttavia generalmente una laurea magistrale permette una maggiore crescita professionale. Spesso, comunque, questa figura è ricoperta anche da diplomati presso istituti tecnici o professionali con indirizzo in ambito informatico, telecomunicazioni ed elettronico.
Competenze tecniche
Il Programmatore deve essenzialmente conoscere uno o più dei linguaggi di programmazione più diffusi che, a seconda dell’ambito in cui opera, sono: Java, JavaScript, Dot. NET, Node.js, Angular, Perl, Ruby, Pyton, Swift, PHP, SQL, RPG, CSS, HTML, C, C++, C#. Deve, quindi, conoscere le metodologie/tecniche di sviluppo, configurazione, ottimizzazione e test di software. Deve, inoltre, conoscere i criteri di progettazione di sistemi di archiviazione ed elaborazione di dati, gli ambienti di rete e i servizi web, i principali sistemi operativi e le architetture hardware. Deve, infine, conoscere le basi della progettazione ed analisi funzionale di software.
Competenze digitali e linguistiche
Chiaramente per tale figura sono richieste competenze digitali da programmatore, oltreché la conoscenza della lingua inglese.
Competenze trasversali, caratteristiche personali e disponibilità
Completano e caratterizzano tale figura l’attitudine ad organizzare il proprio lavoro, al lavoro di gruppo e al problem solving. Deve, chiaramente, essere una persona molto precisa, con una mentalità analitica, ma comunque flessibile mentalmente. È inoltre fondamentale che sia una persona propensa all’innovazione e, vista la rapidità con cui si evolve il settore, propensa all’aggiornamento e alla formazione continua. Infine, in alcuni casi (nel rispetto delle tempistiche di consegna dei progetti) deve essere disponibile a lavorare fuori orario.
Note
La figura del Programmatore molto spesso può assumere specifiche denominazioni in base al linguaggio di programmazione in cui è specializzato o rispetto alla tipologia di applicazioni che sviluppa. Quindi, solo per fare alcuni esempi, da un lato è possibile trovare la figura del Programmatore Java piuttosto che quella del Programmatore php, dall’altro è possibile trovare la figura dell’E-commerce Developer che è il programmatore specializzato nello sviluppo di portali di e-commerce, piuttosto che la figura dell’IOT Developer (Internet of Things Developer) che è il programmatore specializzato nello sviluppo di software telemetrici, quindi software in grado di comunicare via internet le performance e lo stato di determinati oggetti (come per esempio un frigorifero, un forno e più in generale qualsiasi macchinario o oggetto).
Un’ulteriore distinzione, molto utilizzata in ambito web, è quella tra il Front-end Developer, il Back-end Developer e il Full-stack Developer. Il Front-end Developer è il programmatore specializzato nello sviluppo delle interfacce che permettono all’utente di vedere ed utilizzare le informazioni, mentre il Back-end Developer è specializzato nello sviluppo della parte applicativa non visibile all’utente che permette l’archiviazione e l’elaborazione delle informazioni. È, quindi, la figura che si occupa della progettazione del database e dello sviluppo delle funzioni che permettono il dialogo tra il database e l’interfaccia visiva (front-end). Infine, il Full-stack Developer che è il programmatore che si occupa dello sviluppo sia della parte di front-end che di back-end.
Indipendentemente dalle specifiche denominazioni, la figura del Programmatore viene sempre distinta tra junior e senior le cui differenze sono legate principalmente all’esperienza maturata nella posizione; di conseguenza, il Programmatore Junior si occupa dello sviluppo dei progetti più semplici, mentre il Programmatore Senior si occupa dei progetti più complessi. Il profilo junior, quindi, è quello d’accesso in azienda per i neolaureati e i neodiplomati, mentre il profilo senior lo si raggiunge dopo aver maturato un’adeguata esperienza.