07 luglio 2021

L'universo del coding e dello sviluppo software

Parlare di coding è come parlare di medicina. Al suo interno ci sono tantissime branche, aree e specializzazioni. Anche con il coding funziona così.

L'universo del coding e dello sviluppo software
Voxel Community Trento

Il mondo del coding: un universo

Parlare di coding è come parlare di medicina. Al suo interno ci sono tantissime branche, aree e specializzazioni. Una dottoressa non ti dirà mai “Faccio medicina”, ma ti dirà di cosa si occupa nello specifico.

Anche con il coding funziona così.

Fare coding” vuol dire tutto e niente. Ogni sviluppatrice e ogni sviluppatore ha infatti una sua specialità, un’area dove ha deciso di concentrare i suoi sforzi professionali, espandendo le sue conoscenze e approfondendo le tecniche e le pratiche. Sentirai infatti sviluppatrici che si occupano di “Frontend development”, di “Data Science” oppure ancora di “Data Visualization” e “iOS development”.

Molte aree spesso non sono nettamente definite, perché alcune incorporano approcci e tecniche di altri ambiti.

Qui a Voxel abbiamo individuato delle macro-aree (che di sicuro non sono tutte e non sono definitive) e abbiamo deciso di raccontartele, per dare un punto di partenza al tuo personalissimo viaggio come Voxel e come persona all’interno del grande universo che è lo sviluppo software.

Le aree del coding che abbiamo individuato sono:

  • Sviluppo web,

  • Sviluppo piattaforme mobile,

  • Data Science,

  • Gaming e Videogames,

  • Sviluppo frameworks e librerie,

  • Sviluppo firmware e micro-controller.

🖥Sviluppo web

Lo sviluppo software per il web si occupa di creare tutti i software, le applicazioni e le pagine che possono essere visualizzate e utilizzate su un browser. Che sia il sito web di Voxel, oppure il tuo profilo Twitter o l’app per accedere alla tua banca online, se ci stai accedendo da un browser su una connessione internet, allora ci sono state delle sviluppatrici web che hanno creato il software che stai usando.

All’interno dello sviluppo web trovi diverse figure che, lavorando e collaborando assieme, si occupano di produrre i siti e le web app che poi utilizzerai.

Principalmente, le figure sono:

  • le Frontend Developer - sono le sviluppatrici che si occupano di creare le interfacce che useranno le utenti e fanno uso di tecnologie come ReactJS e VueJS, per creare le app e le loro funzionalità, ma anche di strumenti quali TailwindCSS e Bootstrap per aggiungere un tocco di stile a bottoni e form

  • le Backend Developer - sono sviluppatrici che si occupano di gestire i dati che vengono salvati o richiesti dalle web app, le chiamate ai database e di costruire le API, ovvero pacchetti di funzionalità che le app richiedono dal browser ogni volta che una utente esegue una operazione. Alcuni linguaggi sono GoLang oppure SQL.

Ovviamente, le figure professionali non si fermano qui. Alcune si mescolano tra loro, altre provengono dalle altre aree del coding, come chi si occupa di machine learning o cyber-security.

A Voxel ci occupiamo molto di sviluppo web e di tecnologie web per diversi motivi, ma principalmente perché il web development permette di sviluppare e pubblicare software in maniera molto accessibile, con costi ridotti o nulli. Numerosi progetti web ti permettono di ottenere tanto davvero con poco. Ci sono anche tante risorse open e gratuite da usare e inserire nei tuoi progetti

Le altre aree

📱Sviluppo per piattaforme mobile

Questa area dello sviluppo software include tutte le professioniste che si occupano di creare applicazioni per le principali piattaforme mobile, ovvero iOS (il sistema operativo di Apple) e Android (il sistema operativo di Google).

Come con lo sviluppo web, anche in questo ambito si trovano sviluppatrici che si occupano delle interfacce e della interazione con gli utenti e sviluppatrici che si occupano di sviluppare API, gestire le operazioni sui database e raccogliere i dati.

Esistono tecnologie specifiche, come Flutter, Swift, Xamarin, Native Scripts e React Native. Questi ultimi hanno molti punti in comune con lo sviluppo web dato che fanno uso delle stesse tecnologie (rispettivamente, VueJS e ReactJS).

📊Data Science

Le professioniste del coding che si occupano di gestire, pulire e analizzare grandi quantità di dati si occupano di Data Science. Ci sono molti legami con la statistica e la matematica e spesso la data science viene impiegata per analizzare i comportamenti degli utenti in ottica predittiva.

Se hai sentito parlare di Machine Learning o Intelligenza Artificiale, allora sei già entrata in contatto con due tipologie di Data Science. TensorFlow di Google e PyTorch sono due librerie utilizzate per lavorare nell’ambito del Machine Learning.

🕹Gaming e Videogames

Le sviluppatrici che creano i videogiochi sono coders che si sono specializzate nella creazione di algoritmi di scripting e di dinamiche di gioco avanzati, nonché nel rendering grafico d’alto livello.

I giochi a loro volta possono essere sviluppati per specifiche piattaforme di gioco, come XBox o Playstation e Nintendo, ma possono essere anche realizzati per essere giocati sul web, sui telefoni o sui computer.

Dunque, molte branche dello sviluppo entrano in gioco per produrre un videogioco.

🗂Sviluppo frameworks e librerie

Per fare software, servono software. Esistono coders che si occupano di costruire strumenti, librerie, frameworks e sistemi operativi che le aaltre sviluppatrici possono utilizzare per sviluppare altro software a loro volta.

Le librerie che abbiamo già citato prima (come PyTorch e VueJS a esempio) ma anche i sistemi operativi (macOS, Window, Ubuntu, Raspberry) sono tutti stati sviluppati da coders che si occupano di questa particolare branca del coding.

È un settore molto ampio che spazia su tantissimi ambiti, come la cyber-security, l’autenticazione, i sistemi di sicurezza, l caricamento delle immagini, la conversione dei files, e molti altri. Al contempo, è un settore con un alto potenziale di poter andare molto nello specifico su uno di questi ambiti.

🎛Sviluppo firmware e micro-controller

Infine, l’ultima area dello sviluppo software include le sviluppatrici che si occupano di creare programmi per computer con cui controllare circuiti elettronici e altri tipi di hardware. Se hai mai fatto volare un drone o in casa hai una macchinetta del caffè smart o un termostato Nest, allora ci sono state sviluppatrici che hanno creato i firmware che si occupano di orchestrare tutti i circuiti.

Alla portata di tutti, Arduino è un kit composto da tante componenti hardware, quali schede madre, LED o microfoni, e da un software con cui puoi li puoi programmare