Il 1° Corso di NON programmazione: non solo le basi della scrittura del codice, ma soprattutto le Best-Practises, gli errori più comuni, la scelta della piattaforma, la gestione del real-time e dell’embedded e tutti gli altri aspetti più critici
Programmazione per:
- Sistemi Embedded
- Real-Time
- Microcontrollori
- IoT (internet of Things)
- App mobili
Per chi è questo corso?
Un corso quindi intensivo ed essenzialmente per:
- PROGRAMMATORI E ARCHITETTI SOFTWARE o aspiranti tali: può essere tranquillamente il tuo primo corso di programmazione, senza saperne nulla prima. Magari fosse stato il mio primo corso! Quante notti insonni, quante incazzature, quante problematiche avrei evitato… Ma contiene così tanti concetti avanzati e poco insegnati, frutto della mia esperienza personale che oramai supera e di molto i 30 anni (sì, ho iniziato a programmare il BASIC e il PASCAL tipo a… 12-13 anni!) in centinaia di progetti e di clienti in tutto il mondo, dal gestionale all’aerospaziale, che tutto quel che ho appreso e concentrato in questo può essere di grandissima utilità anche a chi ha magari un sacco di anni di esperienza…. perché ti potrebbe evitare le testate contro il muro prese da me e dai miei colleghi e partner in questi anni in ambienti estremamente severi e critici
- E’ anche un corso per MANAGER: al di là degli aspetti tecnici di dettaglio, è un compendio di best practises, consigli strategici, impostazioni iniziali corrette ed errori da evitare. Come capirai continuando a leggere, grazie al distillato di esperienza personale nelle aziende e progetti in cui ho lavorato da dipendente, consulente e formatore, non è solamente un classico corso di programmazione, è una vera e propria guida strategica alla progettazione e scrittura di Software Sicuro. Per cui è fondamentale che siano concetti che padroneggi anche tu, per poterli implementare con il tuo team.
Perché un altro corso?
Ma se già programmi da tempo, perché mai dovresti rifare un corso di programmazione dopo anni dall’ultima volta che ne hai fatto uno?
Semplice: perché questo è il corso che avrei voluto fare io all’inizio della mia carriera ma non esisteva (e non esisteva fino ad ora!), invece di quello che “passava il convento”:
– manuali strettamente tecnici e didascalici
– corsi strutturati come un mero elenco di costrutti, strutture e dichiarazioni…
– prove su prove su prove, errori inspiegabili, crash disastrosi
– rifacimento di intere applicazioni e architetture per colli di bottiglia e problemi strutturali
– notti insonni, straordinari al lavoro, ritardi, problemi col cliente…
Oltre ad essere un corso tecnico, molto intenso e fitto di informazioni, è fondamentalmente un corso strategico: ti insegna il mindset corretto, l’impostazione iniziale, le scelte chiave, l’approccio necessario ad evitare grossi guai futuri.
Non sto a ripetere la frase del grandissimo Michael Jordan, di cui è uscito di recente il film a puntate “The Last Dance” su fatto che lui stesso, per diventare il più grande, ha imparato dai propri errori.
Quello che otterrai in questo corso senza respiro è proprio l’elenco delle cazzate meravigliose che ho commesso io (o visto commettere), delle scelte in apparenza intelligenti e poi rivelatesi disastrose, di tutti i “mai più!” che ho dovuto esclamare nella mia carriera e di conseguenza tutto quello che avrei dovuto fare (ed è il caso che cominci almeno a fare TU).
Cos’ha di diverso questo corso?
La differenza di questo rispetto ad altri N-mila corso esistenti al mondo, è proprio il fatto che è PREVENTIVO: non ti spiega all’inizio una serie di tecniche in fila, tra cui alcune estremamente pericolose e inefficienti, per poi scoprire solo dopo mesi o anni (se va bene in un corso avanzato, più spesso sulle tue spalle le conseguenze disastrose di certe scelte).
Ci sono cose nei linguaggi storici e moderni che sono estremamente rischiose e vanno usate con estrema cautela: perché allora insegnarle? Perché imparare a fare la nitroglicerina in casa, quando rischi di saltare in aria te, la tua casa, la tua famiglia e tutto il vicinato?
Fin da primo giorno, scoprirai non solo i dettagli tecnici, ma anche e soprattutto:
– Le scelte strategiche che devi fare prima di scrivere la prima linea di codice (linguaggio, sistema operativo, microprocessore, architettura, …)
– I compromessi e le conseguenze di certe decisioni di base che si ripercuoteranno in futuro
– Quali tecniche, costrutti, metodi sono sicuri e affidabili e quali invece richiedono cautela e pianificazione, o sono da evitare del tutto
– Quali sono le Best-Practises, le linee guida, gli standard internazionali per lo sviluppo di Software più sicuri e affidabile
– Come evitare le sirene del marketing di tool e altre diavolerie che ti fanno andare fuori strada promettendo risultati irraggiungibili
– Gli errori più comuni, i trabocchetti, gli effetti collaterali da evitare a tutti i costi
Senza tutte queste informazioni fondamentali a completamento delle nozioni tecniche, sarebbe come insegnarti a cosa serve ogni singolo bottone, leva e manovella di un jet di linea, senza avere comunque la minima idea di cosa voglia dire pilotare un aereo.
Che tipo di applicazioni potrai sviluppare?
- Che tipo di applicazioni potrai sviluppare dopo un corso del genere?
- Serve per fare app per telefonino o un software aeronautico questione di vita o di morte?
- Meglio per programmare un gestionale oppure un delicatissimo dispositivo medicale?
Questo è un modulo formativo ESSENTIALS: quindi pur essendo ad altissima densità di informazioni rimane comunque un corso base, non è dedicato a un dominio specifico, un linguaggio preciso, un’architettura particolare. Non fa moltissima differenza se sviluppi app per telefonini, dispositivi embedded, sistemi gestionali.
I principi di base dello Sviluppo di Software Sicuro sono ESATTAMENTE GLI STESSI e vanno solo calati nella realtà tecnica in cui operi.
Per questo motivo, si tratta di un corso che ti potrebbe rendere già autonomo ed essere in grado di programmare quello che vuoi, ma richiede poi degli approfondimenti specifici, più tecnici e di dettaglio, che sarò lieto di suggerirti.
Detto questo, posso consigliarti questo corso se ricadi in uno di questi casi:
– Se sviluppi applicazioni che devono avere un alto grado di affidabilità e sicurezza (es. che trattano dati sensibili, transazioni economiche, oppure con tantissimi utenti)
– Se lavori in un settore Safety-Critical dove la sicurezza non è un optional (aerospazio, medicale, automotive, …)
– Se vuoi in generale incrementare l’Affidabilità e l’Efficienza del tuo processo di Sviluppo Software
– Infine, se lavori in maniera totalmente dedicata al Cliente per cui vuoi fornire un Software che massimizzi la Customer Satisfaction
Con questo bagaglio culturale immenso, condensato fitto fitto in una manciata di moduli di formazione, ti renderà già un programmatore evoluto e con un livello di esperienza e di padronanza della programmazione software che nessun altro corso “teorico” potrebbe mai darti.
Partecipa alla prima lezione gratuita
Oggi Giovedì 27/08/2020 ore 14:00
Potrai seguire tranquillamente la lezione dal tuo PC o dal tuo telefonino o tablet, ovunque tu sia.