Il valore della strategia

geralt / Pixabay

Strategia è una parola molto utilizzata quando si parla di crescita personale, di eccellenza e di realizzazione. Perché è così importante?
“Strategia” è una parola che viene dal greco στρατηγία ossia “comando dell’esercito” ed è sinonimo di piano, tattica, disegno, tecnica, sistema, metodo.
Nella guerra una buona strategia è fondamentale per ridurre al minimo perdite di vite umane. Anzi, secondo Sun Tzu, nel suo libro L’arte della guerra, la migliore strategia è quella che ti permette di vincere senza combattere.
Dobbiamo eliminare da questo concetto alcune ambiguità.

Vincere senza combattere non significa automaticamente arrendersi.

Troppe persone (e anche io sono stato tra questi per troppo tempo) si arrendono alla prima difficoltà. Famosa è la favola di Esopo sulla volpe e l’uva, dove si racconta che, poiché la volpe non riusciva a prendere l’uva alla fine rinuncia dicendo che l’uva non è buona.
Specialmente per chi vive una disabilità, è abbastanza facile autocompatirsi e scusare i propri fallimenti, o, più precisamente, le proprie rinunce, con la propria situazione.
Conosci qualcuno che, preso dall’entusiasmo, si butta in una nuova impresa e poi, dato che non ottiene risultati subito, rinuncia dopo poco? Si può trattare della dieta, la palestra, imparare una lingua, scrivere un libro o altro, poco importa. La maggior parte di noi fa cosi.
Piuttosto, vincere senza combattere significa ottenere il massimo risultato con il minimo sforzo. Ad esempio, dal punto di vista della salute fisica, questo è ben rappresentato dal Metodo Feldenkrais di cui parleremo in un altro post.
In generale, questo significa che abbiamo bisogno di buone strategie per ottenere i risultati voluti con il minimo sforzo.

Una cattiva strategia non è meglio di nessuna strategia.

Attenersi ad un piano che non funziona e non porta ai risultati sperati non aiuta il miglioramento personale. Anzi, è controproducente. Quindi, abbiamo bisogno di prestare attenzione ai continui feedback che riceviamo imparando ad analizzarli con spirito critico e abbiamo bisogno di flessibilità per modificare i nostri comportamenti e la nostra strategia.
Altrimenti ci comporteremmo come la mosca che continua a sbattere contro il vetro della finestra chiusa, mentre quella a fianco è aperta e potrebbe uscire facilmente.

La trappola delle troppe strategie.

Su Internet ci sono strategie per tutto. Potremmo passare la vita a studiarle. Ma se questa non è la tua professione, rischi di essere soffocato dai troppi consigli.

Bada di non perdere la sostanza quando cerchi di afferrare l’ombra. Esopo

Un buon modo per scegliere una strategia che si adatti al nostro obiettivo è quello indicato da Edward De Bono nel suo libro Sei cappelli per pensare.

Ricapitolando, qual è il valore della strategia?

  • Senza un piano d’azione non si va da nessuna parte.
  • L’obiettivo dovrebbe essere quello di ottenere il massimo risultato con il minimo sforzo cioè vincere senza combattere.
  • Trova persone che ti ispirano e cerca di capire le strategie che adottano nella loro vita
  • Persegui una strategia con costanza almeno per un mese prima di dire: “Con me non funziona”
  • Sii flessibile e ascolta i feedback per capire come adattarla alla tua situazione
  • Usa il metodo Sei cappelli per pensare per scegliere la tua strategia
  • Se non funziona, cambia
  • Mettila in pratica perché chi non pratica non radica!

The Developer’s Code

The Developer’s Code

Senza dubbio un bel testo che chi sviluppa codice dovrebbe leggere. Ma non troverete esempi di codice o dritte su questo o quel linguaggio di programmazione. È un libro pensato per aiutarci a sviluppare un comportamento sano nel nostro modo di lavorare.
Spesso chi sviluppa codice si butta sulla tastiera come se non ci fosse un domani, dominato da scadenze, stress del reparto, agitazione dei clienti e così via. Quante ore di debugging avete buttato via nella vostra esperienza di programmatori? Io molte. Presi dall’ansia, con l’idea di fare presto e bene, in realtà facciamo tardi e male.

Ecco un bel manuale scritto da “uno di noi”, Ka Wai Cheung, Founder & Director of Software di WeAreMammoth, che elenca una serie di ricette preziose che ha sperimentato nella sua esperienza.

È diviso in sette aree principali e non dovrebbe mancare nella nostra biblioteca. È scritto in inglese semplice e discorsivo.

Le aree sono:

  • Metafore. Come interpretare al meglio il proprio lavoro
  • Motivazioni. Quali trappole evitare e come migliorare la propria motivazione.
  • Produttività. Come vincoli, timeline, ambiente e buone abitudini ci aiutano. Esempi pratici.
  • Complessità. Come rimuovere la complessità del codice e, meglio, evitare di caderci.
  • Insegnare. Perché insegnare ad altri ci rende migliori e come farlo al meglio.
  • Clienti. Come migliorare i rapporti con i nostri clienti.
  • Codice. Perché scrivere codice dovrebbe essere l’ultima risorsa.

 

Leggi tutto “The Developer’s Code”

Quale editor è meglio usare per scrivere software?

Courtesy by Pexels

  • Cerchi l’editor che-fa-tutto-lui-e-devi-solo-premere-salva?
  • Sei un fanatico della linea di comando? Uno del tipo: O VIM o niente?
  • Cerchi una buona via di mezzo?

Capisci che, a seconda di come rispondi, l’editor che scegli può essere molto diverso. Potrei fare una lunga lista di app disponibili sul mercato (tra l’altro ci sono centinaia di articoli sull’argomento), ma non potrei mai darti una risposta che calzi a pennello al tuo stile di lavoro, alle necessità del team in cui lavori o agli altri strumenti con cui lo devi integrare. Quindi la risposta necessariamente è “Dipende“”. Da cosa? Da cosa ti aspetti e per cosa lo vuoi utilizzare.

Personalmente posso condividere la mia esperienza dopo aver provato negli anni Eclipse, Netbeans, Coda, Atom, Visual Studio Code, Notepad++ (ebbene si, anche quello!), Sublime Text, XCode, PhpStorm, WebStorm, ecc. ecc.

Il mio preferito è Sublime Text. È snello, corredato da centinaia di plugins, pulito, essenziale. Generalmente utilizzo questo editor per il mio lavoro quotidiano. In questo periodo lavoro principalmente con Python e Sublime Text 3 fa tutto quello che mi serve.  Il sito Package Control contiene tutta la lista dei più diffusi plugin con cui corredare il proprio editor come ci piace. L’unico consiglio che mi sento di dare è: non esagerare con le estensioni! Se non le utilizzi, provale pure, ma poi toglile che appesantiscono per niente.

Tuttavia, non sono un fanatico. A secondo del lavoro che devo fare posso utilizzare un editor diverso.

Per esempio, sto muovendo i miei primi passi con Swift e XCode di Apple mi sembra l’editor più efficace allo scopo.

Sebbene mi trovo molto bene a lavorare anche in PHP con il mio editor preferito, in agenzia usiamo PHPStorm e devo ammettere che, sebbene più pesante in termini di memoria utilizzata, ha una serie di funzionalità utili a velocizzare il lavoro con Drupal, i repositori Git e altre finezze. Una differenza da non sottovalutare è che Sublime Text è gratuito, mentre PHPStorm è a pagamento. Tuttavia, i prodotti JetBrain  sono molto ben fatti e da non trascurare.

Ho anche testato Visual Studio Code (gratuito), Atom (scritto in Node.js)  e WebStorm (a pagamento) per lavorare con Javascript, Typescript, AngularJS e Angular 5 ed tutti e tre hanno i loro punti di forza. Come Sublime Text, sono estensibili con centinaia di plugin che velocizzano il lavoro quotidiano. Il problema è sempre quello di capire cosa installare e quanto tempo si perde per capire cosa fa al caso nostro.

Scelta dei plugin

Come si fa a scegliere quale plugin è più adatto al nostro scopo? Le guidelines che ho imparato nel mio lavoro sono semplici ma penso siano anche molto utili:

  1. Il plugin/package è aggiornato regolarmente?
  2. Quanti lo stanno utilizzando?
  3. I commenti sono in maggioranza positivi?

Queste tre semplici regole possono aiutare ad orientarsi nella scelta delle estensioni del nostro editor. Infatti, se il plugin non è aggiornato da mesi o addirittura da anni io non mi fiderei neppure ad installarlo, anche se le promesse fanno venire l’acquolina in bocca. Mi è capitato di installare plugins che poi non riuscivo più a togliere (nonostante le dritte trovate su StackOverflow) e di essere costretto a disinstallare l’editor e a riconfigurare tutto da zero.

Anche la platea di utilizzatori è importante: se sono solo dieci o cento persone ad usarlo e ne trovate uno simile (anche se fa qualcosina di meno) installato da mille o diecimila persone, scegli il secondo. A meno che il tuo scopo non sia quello di sperimentare e non devi consegnare progetti in tempo zero come capita di solito agli sviluppatori. Se ti serve in produzione, forse è meglio la strada più sicura ed efficiente che l’esplorazione di foreste sconosciute.

Infine, leggi i commenti. Se la maggior parte si è trovata bene, allora puoi pensare ragionevolmente che anche tu ti troverai bene utilizzando quell’estensione.

Quindi, quale editor devo usare?

All’inizio devi sperimentare un po’, poi troverai quello che più si addice al tuo stile di lavoro e a quello che devi fare. Conosco sviluppatori che non molleranno mai VIM per niente al mondo. Sono così abili con la CLI (command line interface) che non hanno bisogno di altro. Tuttavia, sii flessibile. Se per un certo progetto è più adatto un editor diverso perché ti farà risparmiare un sacco di tempo, usalo. I programmatori di software sono simili ad artigiani. I bravi artigiani hanno l’attrezzo giusto per il lavoro giusto. Non hanno centinaia di attrezzi per lo stesso lavoro. Gli editor sono i nostri attrezzi. Usiamo quello giusto per il nostro lavoro, senza aspettarci che faccia il lavoro al nostro posto. Alla fine, quello che conta è la capacità dell’artigiano più dell’attrezzo che utilizzerà.