Programmare pensando da Sistemista

 

linux-python-logoUna domanda che mi faccio da quando lavoro come sistemista e’ : “quale linguaggio di programmazione dovrei imparare ??“; e’ una domanda facile da formulare, che dovrebbe presupporre un’altrettanto facile risposta, ma ahimè non é così semplice, perlomeno non nel mio caso. Certo, i linguaggi di programmazione non mancano ed in giro ci sono dozzine di fonti di ottima qualità, ma penso comunque che per poter fornire un consiglio si dovrebbe sempre poter conoscere bene chi pone la domanda, ossia:

 

  • il suo background è scientifico o umanistico?
  • conosci bene l’inglese? (poiche’ la maggior parte delle fonti che consiglierei sono in inglese)
  • qual’è la tua età? ecc…!

…..insomma sono tanti i fattori da considerare e tutti hanno il loro peso da non sottovalutare.
In tempi non troppo lontani programmare significava conoscere il funzionamento dei computer a basso livello, comprendere a fondo la loro teoria e la loro struttura. Ma oggi è molto diverso. La gran parte dei programmatori (web 3.0) sono orientati alle applicazioni web/cloud ed i vecchi linguaggi macchina, tipo Assembly, li ha solo sentiti nominare a scuola. Questo anche perche’ i linguaggi ad alto livello (Java, Python…) ci permettono di concentrarci sulla soluzione dei problemi (gli algoritmi) delegando al compilatore la creazione delle istruzioni di basso livello.

Certo questa e’ una buona notizia ma, partendo da me stesso, se non fai il programmatore ed un linguaggio di programmazione ti serve per crearti scripts di ottimizzazione dei sistemi , non e’ pensabile dover conoscere 5/6 linguaggi diversi ecco perche’ in campo sistemistico resistono gli ottimi script Bash oppure l’ardimentoso Perl.

Se mi avete seguito e siete almeno parzialmente d’accordo con l’analisi fatta vi ricompenso con lo stesso consiglio che mi sono dato qualche settimana fa: Python.

Non mi voglio dilungare nella presentazione di questo linguaggio di cui credo abbiate per lo meno sentito nominare, le cui caratteristiche principali di funzionalita’, operabilita’, performance ecc… lo rendono tra i migliori da imparare anche per usi che esulano dalla programmazione allo stato puro; per altri dettagli od info potete leggere l’articolo dal seguente URL “caratteristiche del linguaggio Python“.

Quello che voglio segnalare e’ che molto spesso nella grande, a volte troppa, quantita’ di materiale recuperabile, spesso non si trova qualcosa adatto davvero alle nostre esigenze e che renda l’avvicinamento e la comprensione di un nuovo linguaggio facile, senza annoiare.

Pensare da Informatico e’ un libro che svolge bene il suo compito avvicinando i nuovi utenti a questo ottimo linguaggio in modo guidato e lineare proprio perche’ frutto delle esigenze di un’insegnante che voleva spiegare ai propri alunni un nuovo modo di programmare. Il libro originale e’ in inglese ma ne esiste un’ottima versione PDF tradotta in Italiano, questo e’ il link per il download PDF , mentre questo e’ il link per la versione WEB .

La versione originale “How to Think a Computer Scientist ” sottotitolo (Learning with Python) 3rd edizione e’ scritta da [Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers ] .

Buona lettura !

Lavorare a Berlino

berlin-jobPerche’ Berlino ???

Iniziamo con il dire che Berlino offre a tutti coloro che si sentono in grado di lasciare l’Italia, ma soprattutto a tutti coloro che non amano la mentalita’ italiana del tipo “mammà mi stiri la camicia”, di trovare una citta’ difficile (non è il paese della cuccagna come molti stanno raccontando), ma affascinante e stimolante per tutti questi motivi:

  • Ottimo rapporto costo della vita / servizi (seppur gli affitti continuino a crescere costantemente)
  • Berlino ha un humus ed un approccio lavorativo perfetto per chi ha un’idea da Startup (tutto ciò implica naturalmente di doversi comunque tirare su le maniche per trovare la propria strada con le proprie forze)
  • Una scena musicale incredibile che spazia e si espande in tante direzioni. Talentuosissimi artisti di strada arricchiscono le vie e le piazze di questa città, intrattenendo e diffondendo arte spesso di grande valore.  Concerti di ogni tipo e genere  sono all’ordine del giorno, ed una vita notturna senza paragoni fanno di questa città un luogo incredibile per i giovani di tutte le età!
  • Una metropoli contemporanea ricca di natura alla portata di tutti nel quotidiano, fatta di parchi, laghi e fiumi balneabili.
  • Una Storia lunga, spesso dura, che ha creato una mentalità amichevole e di tolleranza.
    La storia qui si accavalla ad ogni angolo. A Berlino potremo ancora trovare edifici abbandonati oppure che pian piano trovano nuovi modi di essere vissuti.
  • L’ottima posizione geografica che permette di viaggiare ovunque con ottimi collegamenti ed in poco tempo (Olanda, Svezia, Inghilterra…)

Tornando al discorso lavorativo la prima cosa da segnalare e’ che l’alto numero di professionisti del settore informatico, arrivati da ogni parte del mondo (e’ il caso proprio di sottolinearlo) rende necessario un livello di conoscenza dell’inglese davvero alto; quindi fate bene i conti con questo primo possibile ostacolo.
Inoltre proprio dato l’alto numero e livello della concorrenza negli ultimi 2 anni inizia ad essere richiesto anche un buon livello di tedesco;  questo anche perche’ molte delle posizioni ricercate, che ruotano attorno alle aziende web 3.0, sono legate a ruoli quali

  • Marketing Manager
  • Country Marketing Manager
  • Advertising Sales Manager

…ecc , per i quali si presume una certa spiccata dote comunicativa ed una dialettica (inglese/tedesco/francese) di livello alto.

Ora per entrare piu’ addentro agli aspetti tecnologici va fatto notare che proprio per la quantita’ di start-up presenti ed il basso costo della vita, i ruoli piu’ ricercati a Berlino sono quelli inerenti il settore di sviluppo (programmazione) nei tanti e vari ambiti informatici, che siano essi di sviluppato in ambito Web (Php, Java, Javascript, Html5, Python, Ruby…) oppure , altrettanto richiesti, in ambiti Smartphone OS (Android, Apple ….).

Uno dei siti che mi sento di consigliare, perche’ puo’ darvi meglio il polso delle competenze piu’ richieste, e’ quello di BerlinStartupJobs.
Per coloro che preferiscono intraprendere sin da subito una carriera da freelencer consiglio anche la piattaforma Twago.

Per l’ambito sistemistico il discorso e’ leggermente diverso perche’ sappiamo già che percentualmente sono richiesti meno sistemisti rispetto agli sviluppatori, ed in piu’ ho osservato che molte startup o aziende già avviate usano avere i “sistemi” ( e di conseguenza i sistemisti) li dove hanno il loro “core” finanziario (Inghilterra, U.S.A., Canada ecc….. , oppure lì quando la scelta è quella di abbassare ulteriormente i costi di gestione in paesi quali per es.:  Filippine, Malesia, India ecc….)

Berlino è fantastica, ma anche selettiva. Se siete audaci e sapete cosa volete è la città che fa per voi.