Scrivere software è il mio passatempo preferito. Dal 1985 sono impegnato nel trovare soluzioni per l'automazione industriale e non solo....
Alcune soluzioni sviluppate
Lo sviluppatore software, si occupa della creazione di un programma informatico, partecipando a tutte le fasi del ciclo di vita del software.
Come prima cosa il Software Developer analizza e valuta le esigenze dei committenti, per progettare e implementare applicazioni software in base ai requisiti individuati.
Ad esempio, gli può essere richiesto di programmare un sistema gestionale, di sviluppare un software di automazione industriale,
un software per e-commerce, programmi per la visualizzazione/analisi di big data, applicazioni per dispositivi mobili, un firmware o un antivirus,
ma anche videogiochi e molto altro ancora.
Il Software Developer crea l'architettura del software e ne scrive il codice sorgente utilizzando diversi linguaggi di programmazione (Javascript, C ++ e Python sono tra quelli più diffusi),
con l'obiettivo di soddisfare i requisiti e le specifiche tecniche definite nel progetto.
Uno sviluppatore software esperto è in grado di curare sia il front end, ovvero la parte "visibile" di un programma, con cui l'utente interagisce (l'interfaccia utente),
sia del back end, che è tutto ciò che sta dietro al software e che è necessario al programma per funzionare (come database e sistemi operativi).
In gergo, questa figura esperta sia di backend che di frontend viene chiamata Full Stack Developer.
Non solo: una volta completato lo sviluppo del software, inizia la fase di testing seguendo protocolli e standard di qualità stabiliti,
per assicurarsi che il programma funzioni secondo le aspettative e non presenti errori (bug).
Corretti gli eventuali errori (debugging) e ottimizzato il codice, il Software Developer può procedere ad implementare e installare il programma (deployment),
verificandone il funzionamento effettivo.
Inoltre, si occupa di scrivere la documentazione tecnica e di curare il mantenimento e l'aggiornamento del software, nonché di formare gli utenti sulle modalità di utilizzo.
Personalmente conosco molti linguaggi di programmazione assemblerZ80, assembler68000, assembler80C51, php, html, HLS, basic, VHDL, visualBasic, DotNet, javascript, python, C++, C# ma quello che preferisco è il C