Le Opportunità di Lavoro come Programmatore di firmware

Quando si parla di programmatori si pensa sempre al tipico programmatore di software: siti web o applicazioni per cellulari, database, reti e gestionali. Il mondo della programmazione invece è molto più ampio e complesso e contiene una categoria di programmatori molto ricercata sul mercato del lavoro ma al tempo stesso molto rara: i programmatori di firmware.

Cosa è il firmware

Il firmware è un particolare tipo di software che consente a un sistema fisico (una scheda elettronica, un motore, un componente elettronico…) di funzionare correttamente. È in pratica l’intelligenza alla base dell’elettronica che usiamo ogni giorno. I programmatori di firmware sono molto ricercati perché, oltre ad essere pochi, lavorano molto a contatto soprattutto con la produzione. Il firmware mette in funzione le linee di produzione, le macchine da lavoro automatiche, schede che finiscono sul campo… e per questo motivo i linguaggi di programmazione usati dai firmwaristi nel mondo sono molto vari. Non ci soffermeremo sui software poiché si aggiornano continuamente, piuttosto abbiamo intenzione di fornire una panoramica sui possibili settori in cui un programmatore può specializzarsi.

Programmatore di PLC

I PLC sono dispositivi inseriti nelle linee di produzione e che comandano spesso le intere macchine o singoli motori delle macchine di produzione. I PLC sono il cuore di un impianto produttivo ed è per questo che c’è una continua corsa a migliorare le performance e le caratteristiche dei PLC. Siemens in particolare è leader mondiale del settore e sta guidando l’innovazione industriale verso la famosa Industria 4.0: ovvero la fabbricazione intelligente. “Il programmatore di PLC si occupa sia di programmare i PLC sulla macchina grazie a software proprietari (ad es Siemens), sia di interconnetterli con il il cloud al fine di poter controllare e modificare la produzione, anche senza essere fisicamente vicini al macchinario di produzione. I sistemi di produzione Industria 4.0, inoltre sono in grado di effettuare produzioni customizzate di massa ovvero di produrre migliaia di pezzi, ognuno con una diversa personalizzazione. Questa cosa era impensabile fino a qualche anno fa”: spiega Paolo Cignoli, titolare di un’azienda specializzata nella vendita di PLC Siemens.

Programmatore Arduino / Raspberry

Arduino, Raspberry, e tutti i sistemi embedded di sviluppo sono sistemi elettronici che al loro interno contengono centinaia di diverse funzionalità che possono essere programmate ed eventualmente espanse con apposito hardware. Una scheda Arduino o Raspberry potenzialmente può replicare il comportamento di un complesso sistema di domotica, guidare un’automobile in maniera autonoma o animare un robot, tutto questo grazie alla infinita modularità e alla presenza di risorse software e hardware sulla scheda. I programmatori Arduino sono quindi molto ricercati dalle aziende che si occupano di sviluppo prototipi poiché, con un sistema embedded, è facile testare un sistema prima di metterlo in produzione con elettronica realizzata su misura.

Programmatore FPGA

Figura molto più di nicchia, il programmatore FPGA è il sogno proibito di molte aziende di microelettronica, poiché l’FPGA rappresenta probabilmente lo stato dell’arte dell’elettronica configurabile via software. I programmatori FPGA usano sistemi di programmazione e sintesi hardware che scendono a bassissimo livello di rappresentazione, così da configurare enormi reti di porte logiche atte ad eseguire a velocità elevatissime calcoli ed elaborazioni impossibili a sistemi tradizionali basati su un hardware che elabora vari strati si software ed applicativi. Se Xilinx e Altera sono nomi poco noti al grande pubblico, fra gli ingegneri elettronici sono nomi che riscuotono rispetto ed ammirazione, anche perché un ingegnere programmatore di FPGA riesce a spuntare probabilmente il miglior salario fra tutti i programmatori di firmware in circolazione. Mentre tuttavia per essere impiegati come programmatore firmware PLC e Arduino è sufficiente seguire dei corsi monografici anche post diploma superiore, per essere assunti come programmatore FPGA è necessario conseguire una laurea in ingegneria (solitamente elettronica).