Vuoi
diventare programmatore? Bah vediamo se all'epoca dell'AI val ancora
la pena fare questo percorso o quantomeno l'AI potrebbe essere un
valido tutor ed ora faccio una considerazione sul mio percorso
fatto..
Ho
imparato cosa sia la programmazione con il basic
del
C64.
Ho passato veramente moltissimo tempo a copiare
listati di
programmi, cercare di capire come funzionavano sul Sinclaire dove
ogni tasto aveva diverse funzioni e quindi col mio primo PC(386)
e i primi approcci con il C.
Una
fortuna dell'epoca fu anche che linux
era
già nato e nel '96 sotituii MS-DOS
6.22 e
Windows 3.11
con
Slackware Linux
3.6.
E iniziai ad addentrarmi nella rete (all'epoca entrai in contatto con
tanta gente tramite le BBS).
Quando
poi mi feci il primo abbonamento per Internet (tin.it,
accesso tramite modem PSTN)
e vidi la prima pagina web - non ci misi molto ad abbozzare le prime
pagine pure io.
La
mia mente da programmatore è stata subito attratta dal backend
e
cercai in tutti i modi di fare il mio primo "sito
interattivo".
Il
problema era l'assenza di servizi gratuiti che offrissero GCI
(si
cercano sempre cose gratuite), ma alla fine ne trovai uno (leeento),
che funzionava in Perl.
Così
feci il mio primo
backend in Perl (si
trattava di un guestbook
-
c'era un semplice form d'inserimento, chi passava per il sito poteva
scrivere qualcosa e i dati venivano salvati in un file di testo.
Dall'altra
parte una pagina aveva uno script che faceva il parsing di tutti i
dati e li visualizzava).
All'epoca
quindi conoscevo questi linguaggi di programmazione: C,
Pascal, Perl ...
E basic (ma
ok, diciamo che in quei anni già lo snobbavo).
Con
un gruppo di amici mi inerri al poli di TO ma durai pochissimo, in
quanto al primo esame (C) presi solo 25 per aver usato un array
invece
di variabili nella
soluzione di un programma per l'esame.
La
prof. all'epoca disse che "non ho spiegato così a lezione".
E
ok, sono fatto cosi' - mi è sembrato intuile proseguire.
Poi
il caso volle di entrai in contatto con un'agenzia di servizi
informatici
e vidi cose che all'epoca mi affascinarono tanto: mainframe VMS e
unità esterne a nastro grandi come lavatrici.
Ma
vidi anche come in un'azienda
grande (in
questo caso pubblica), la competenza generale sia
veramente bassa.
Considera
solo che un giorno fra i miei colleghi si sparse il panico perchè su
uno dei server (Win NT) era sparito un programma che faceva delle
elaborazioni su
degli spool che gli venivano passati da una trentina di client (in
sostanza faceva un riepilogo).
Io
chiesi in cosa consistesse la cosa e -basandomi sugli output
precedente - feci un programmino in QuickBasic
che
generava il medesimo output.
Uno
dei miei big mi fece un cazziatone
stratosferico,
ma quel programma poi ha proseguito a girare per altri 5 anni alla
faccia dei coglioni saponi ho proseguito programmando in VB6,
facendo interfacce CRUD non usando ADO come altri facevano. E pensare
che l'ho fatto perchè, non avendo mai
usato VB6 (visto
che su Linux non
c’era),
non sapevo semplicemente che esistesse. Ma l'inventiva viene spesso
premiata, basta dimostrarsi in grado di risolvere i problemi (e le
cose si possono sempre imparare successivamente).
Purtroppo,
come spesso accade... Facevo il tipico lavoro da "one man band".
Alla
fine non solo programmavo "qualsiasi cosa", ma poi mi
occupavo anche dell'ammministrazione della rete, di controllare i PC
- e qualsiasi altro task possa venire in mente.
Quindi
feci un'esperienza effettivamente enorme, ma contemporaneamente
raggiunsi anche una saturazione e uno stress tali da non vedere altre
vie d'uscita che smettere la programmazione ma insegnare corsi di
base a ragazzi handycappati (parliamo
di VBA, ma ok, era un'epoca bizzarra).
E
da li ricominciai ad riamare il computer.
All'epoca
iniziarono i primi servizi di hosting che offrivano php
e
mysql,
per cui iniziai a studiare quello.
Ho
creato una mia interfaccia per blogging, ho iniziato a giochicchiare
con i primi CMS, studiato l'SQL...
Poi
capitò che un mio allievo mi propose di fargli un programma
gestionale.
In
un epoca in cui una richiesta del genere avrebbe portato a fare un
software per windows, io mi trovai a pensare che - tutto sommato -
avrei potuto installare apache,
php e mysql sulla macchina windows dell'allievo
e fare un gestionale
web.
Un
po' perchè - non possedendo macchine windows - avrei avuto oggettiva
difficoltà.
E
un pò perchè mi piaccino le idee un po' "folli" (ok, poi
di gestionali web ne furono fatti un sacco - ma vi parlo di anni in
cui pochi avrebbero scelto questa strada).
Parliamo
di un'epoca in cui esistevano PHP3
e
MySQL aveva
ancora problemi con le FK (ebbene si, "emulai"
tutte le FK tramite
il backend in php).
Non
c'erano framework da usare e quindi - finii per scriverne uno mio
(più tardi lo chiamai FP:
Function, Page).
Aprii
un mio percorso e feci molti gestionali custom con questo framework
(innovandolo di volta in volta) come togo29 inizialmente e proseguito
con togotuentinain (scritto all'italiana).
Ora
non mi occupo più tanto di programmazione, ma principalmente di
Business Analysis
e
Project Management.
Anche se ovviamente sono programmatore
nell'animo e
continuo a studiare anche avendo l'età dei datteri.
Il
lavoro di programmatore
non
è come me l’aspettavo, per rispondere alla domanda. Ma perchè
nella vita non esistono cosa che
vanno secondo i piani e
le aspettative. Ho trovato molto
di
più!
Le
sfide "tecnologiche"
alla fine si rivelano le più
semplici,
la grossa esperienza te la fai soprattuto nell'interazione
con gli esseri umani (sia
clienti che collaboratori).
E sicuramente una cosa che da "giovane"
ti immagini è quella di stare tanto
tempo a battere sui tasti della tastiera.
Invece no, passi più tempo a fare schemini
con
carta e penna (o
su lavagna quando hai fortuna)...