Skip to content

Commit

Permalink
Merge branch 'main' into add/aziende-di-consulenza-vs-prodotto
Browse files Browse the repository at this point in the history
  • Loading branch information
fulgido authored Nov 2, 2023
2 parents 5ca65cf + 2751b22 commit 3595c11
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 9 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
open_collective: il-libro-open-source
9 changes: 7 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Tutti i file markdown devono essere formattati con [Prettier](https://prettier.i
Per formattare da linea di comando tutti i file è necessario avere [Node](https://nodejs.org/it) installato sul proprio computer e lanciare il seguente comando nella cartella del repository:

```bash
npm run format:write -- *.md
npm run format:write
```

Fortunatamente i principali IDE supportano Prettier tramite delle estensioni, di seguito alcuni esempi:
Expand All @@ -34,7 +34,7 @@ Per mantenere uno storico e poter costruire dei changelog è richiesto a tutti i
In pratica è necessario utilizzare dei prefissi per i commit che indicano il tipo di commit e il contesto, ad esempio:

```bash
git commit -m "feat: Aggiunta nuova pagina"
git commit -m "feat: aggiunta nuova pagina"
```

## Lingua e contenuti
Expand All @@ -43,6 +43,11 @@ Il libro è, in questo momento, orientato ad un pubblico italiano.
Volendo essere accessibile alla platea più ampia possibile, è necessario utilizzare un linguaggio semplice e chiaro, espresso in lingua italiana, per i contenuti, le cartelle, i commit, le Pull Requests, i commenti, ecc.
Seppur abituati a scrivere in inglese commit e Pull Requests, richiediamo a chi contribuisce di utilizzare la lingua italiana anche in questi casi, _al netto del `<type>` dei commit_ per seguire i [Conventional Commits](#conventional-commits), che resteranno in inglese.

Per quanto riguarda i capitoli del libro, è stata già predisposta una futura integrazione di ulteriori lingue (traduzioni) utilizzando un approccio `language driven` per la struttura delle cartelle. Si avrà quindi, ad esempio: `docs/it/nome-del-capitolo.md` per la lingua italiana, `docs/en/name-of-the-chapter.md` per l'inglese, e così via.

> [!NOTE]
> Il nome del file (`nome-del-capitolo.md`) rappresenta, a tutti gli effetti, lo `slug` dell' url. Cercando sempre di mantenere una nomenclatura efficace e concisa (esempio: ✅ `sviluppo-mobile` e non ❌ `capitolo-sulle-metodologie-di-sviluppo-per-applicazioni-mobile`), è necessario utilizzare la convenzione di nomenclatura `Kebab case` (quindi parole in minuscolo separate da un `-`).
## Linee Guida

Prima di stendere contenuti o proporre delle Pull Request si suggerisce di dare una lettura alle [Linee Guida](https://github.com/Il-Libro-Open-Source/book/blob/main/GUIDELINES.md) (E relativo [Cheatsheet](https://github.com/Il-Libro-Open-Source/book/blob/main/GUIDELINES-CHEATSHEET.md)) da rispettare quando si interagisce con il repository.
Empty file added docs/en/.gitkeep
Empty file.
3 changes: 1 addition & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
## Indice del libro

- [Capitolo di esempio](index.md)
- [Paragrafo di esempio](index.md)
- [Introduzione](./it/introduzione.md)
95 changes: 95 additions & 0 deletions docs/it/cosa-significa-essere-dev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
_Cosa significa "essere dev"?_

La domanda, di per sé, è piuttosto semplice.

Non si può dire però altrettanto per la risposta... o, per meglio dire, le risposte.

Ebbene sì, essere dev va oltre una singola e banale definizione: a tale domanda si potrebbe rispondere "_Essere dev significa svolgere una professione dedita alla stesura del codice e con il fine ultimo di creare prodotti digitali_"... ma sarebbe riduttivo.

Oppure si potrebbe dire che "_Essere dev significa essere persone altamente competenti nel campo informatico; figure prettamente tecniche e verticalizzate in uno o più linguaggi di programmazione_"...ma anche qui, **sarebbe come indossare un maglione troppo stretto**: dopo un po' pizzica.

Potremmo continuare dicendo che "_Essere dev significa essere artigiani del mondo digital: un professionista in grado di trovare la soluzione ad uno specifico problema ed essere in grado di applicarla in un contesto digitale_".

O ancora, volendola vedere sotto un punto di vista più etico: "_Essere dev significa abbracciare il movimento Open Source, apportando il proprio contributo senza pretendere nulla in cambio e contribuendo così a far crescere la community stessa, oltre che il proprio know-how_".

La verità, caro lettore, è che essere dev significa essere tante cose contemporaneamente.

Tante _definizioni_, se così vogliamo chiamarle, che però affondano le loro radici su dei principi solidi e genuini: [**passione**](#la-passione-il-combustibile-per-eccellenza), [**curiosità**](#la-curiosità-il-potere-della-scoperta), [**empatia**](#lempatia-la-capacità-di-impersonare-il-prossimo) e [**contaminazione**](#la-contaminazione-fare-squadra-nel-modo-giusto); principi su cui, peraltro, nasce questo libro.

Caratteristiche che nulla hanno a che fare con la scrittura del codice, né presentano alcun tipo di legame diretto con specifiche competenze tecniche; nonostante ciò, risultano essere caratteristiche **fondamentali** per intraprendere questa carriera al meglio, lasciarsi coinvolgere da essa e riuscire a portare valore in questo settore.

## La passione: il combustibile per eccellenza

Decidere di "diventare dev" significa scegliere di "sacrificare" parte del proprio tempo al fine di raggiungere un obiettivo; non sarà un percorso facile, tantomeno breve; ci saranno momenti di eccitazione, ma anche di sconforto; ci saranno giorni in cui tutto sembrerà andare per il verso giusto, ed altri in cui ogni nostra singola attività verrà minata dalle difficoltà che ci si pareranno davanti; ci saranno concetti che domeremo con estrema facilità, ed altri in cui ne usciremo sconfitti e con la coda tra le gambe.

Fa tutto parte del gioco: _abbraccialo, comprendilo, e fallo tuo_; magari non oggi e forse nemmeno domani, ma arriverà il momento in cui riuscirai dove prima hai fallito.

Solitamente, quando ci appassioniamo a qualcosa tendiamo a dedicare molto del nostro tempo a quella specifica attività; la coltiviamo negli anni prendendocene cura, approfondendo ogni aspetto e cercando di scoprire ogni singola caratteristica che possiede...in buona sostanza: _la rendiamo nostra_.

Forti di questa consapevolezza possiamo quindi affermare che ciò che farà la differenza tra il nostro successo e la nostra sconfitta sarà la passione che metteremo in ciò che facciamo; se non avremo passione, difficilmente riusciremo ad accettare una sconfitta e a rialzarci più forti di prima; senza passione non riusciremo a trovare la forza di studiare, magari dopo una giornata di lavoro.

Se però avremo passione, avremo dalla nostra una risorsa sorprendente: il dono della _Perseveranza_.

Non importerà quindi quante volte proveremo, senza successo, a completare un esercizio o ad imparare una tecnologia: avremo sempre la forza necessaria per incassare il colpo, prendere fiato, e provare a superare noi stessi.

Il mio consiglio per te che leggi, è quello di tenere a mente, per l'intera durata di questo manoscritto, il ruolo che ricopre la passione riguardo al percorso che hai scelto di intraprendere: se avrai passione, avrai la forza di perseverare.

_Persevera con passione: a quel punto l'unico limite che avrai, sarai tu._

## La curiosità: il potere della scoperta

Qualità caratteristica dell'essere umano, la curiosità è l'impulso a scoprire, ricercare e comprendere ciò che ancora non conosciamo. Se cerchiamo la definizione di "curiosità" su Wikipedia infatti, scopriamo che:

> _La curiosità è un aspetto emozionale che descrive un numero di meccanismi e comportamenti che hanno come fine il placare l'impulso degli esseri viventi a trarre informazioni ed interagire con l'ambiente._
Il percorso che hai deciso di intraprendere pullula di informazioni che non aspettano altro che essere scoperte, studiate e messe in pratica; ci teniamo però a prepararti: alcune nozioni potranno risultarti piuttosto semplici, altre dannatamente complesse.

Nonostante ciò, non scoraggiarti; la nostra intenzione non è quella di spaventarti, ma di consigliarti e guidarti nel migliore dei modi; proprio per questo, ti inviatiamo a riflettere su un aspetto tanto scontato quanto potente: il potere dell'informazione libera.

Proprio come questo libro, in rete esistono miliardi di informazioni a cui puoi avere accesso: aspettano solo di essere ricercate! Queste pagine che stai leggendo sono presenti sul web, e molto probabilmente ne sei a conoscenza perché è stato semplice imbattersi in esse navigando per la rete, o magari perché chi ti ha consigliato questo libro lo ha cercato a sua volta. Poco importa, quello che è davvero importante è che tu prenda consapevolezza del fatto che il web pullula di informazioni a cui puoi accedere, e che l'unica cosa che ti separa da esse, indovina un po', _sei tu_!

Le informazioni presenti in rete però, per quanto siano molteplici e liberamente fruibili, da sole non hanno alcun effetto sulla tua formazione; analogamente a quanto avviene con un esplosivo, la polvere da sparo, per quanto potente possa essere, da sola non basta; serve un innesco o, per meglio dire, serve **una scintilla che sia in grado di innescare la miccia**.

A questo punto, a te che leggi, avrai capito dove vogliamo andare a parare: ciò che non deve mai mancare in te è la curiosità!

Essa sarà la scintilla in grado di innescare in te una forma mentis vincente, prona all'apprendimento e alla crescita professionale; fintanto che questa scintilla continuerà a scattare, non avrai limiti nell'apprendimento: anche qui, l'unico limite che avrai, _sarai tu_.

## L'empatia: la capacità di impersonare il prossimo

Forse ti starai chiedendo cosa c'entri una qualità come l'empatia in un percorso di apprendimento e crescita professionale in un settore come quello della programmazione.

Se ad un primo impatto potrebbe sembrare un dubbio legittimo, la verità è che l'empatia in questo caso gioca un ruolo fondamentale.

Durante il tuo percorso, presto o tardi ti capiterà di imbatterti in un problema a cui non saprai far fronte; a quel punto, molto probabilmente il tuo primo impulso sarà quello di cercare in rete una soluzione e, pensa un po', la troverai!

Penserai "_Che fortuna che ho avuto!_", ed è qui che potresti sbagliarti...**sbaglieresti di grosso**.

Quella soluzione, che molto probabilmente ti aiuterà a risolvere il tuo problema, è lì per un motivo ben preciso: qualcuno, prima di te, ha avuto il tuo stesso problema; al contrario di te però, quel qualcuno non è stato "_così fortunato_" da trovare una soluzione online, ma è stato abbastanza empatico da mettersi nei panni di chi, come te, quel problema prima o poi lo avrebbe avuto; una volta trovata la soluzione quindi, si è adoperato per metterla a disposizione di tutti, **gratuitamente** e in maniera del tutto spontanea.

Questo, a te che leggi, è uno dei principi fondamentali su cui verte questo libro: **la condivisione libera del sapere (in questo caso collettivo) con chiunque ne abbia bisogno**.

Ed è proprio per questo che ti parlo di empatia: durante il tuo percorso, che sia grazie a questo libro o ad altro, apprenderai un'enorme quantità di informazioni; mentre lo farai, rifletti sul perché ti è possibile farlo, e domandati se le nozioni da te apprese potranno in futuro essere utili a chi muoverà i primi passi in questo settore, proprio come stai facendo tu ora grazie al manoscritto che stai leggendo.

Forte di questa consapevolezza, prendi coraggio e sii empatico: pubblica, ovunque tu voglia e in qualsiasi formato tu preferisca, ciò che hai imparato: per te sarà un notevole esercizio di ripasso e pratica sul campo; chiunque fruirà dei tuoi contenuti te ne sarà grato e sarà propenso a diventare un membro della tua community, ma sopra ogni cosa sarà ispirato a condividere a sua volta le nozioni che imparerà lungo il suo percorso...proprio come hai fatto tu prima di lui.

Ciò che vogliamo trasmetterti è la propensione ad adottare uno spirito di condivisione: oltre ad essere il cuore pulsante del movimento Open Source, e quindi del libro che stai leggendo, è anche un principio nobile e al contempo stesso utile; qualora non ne comprenderai subito il senso ed il potenziale, o magari ti sembrerà una perdita di tempo, tieni a mente quanto segue: arriverà il giorno in cui ringrazierai chi, prima di te, ha seguito il nostro consiglio.

Fidati di chi, prima di te, è stato aiutato e che oggi è qui a condividere il suo sapere.

## La contaminazione: fare squadra nel modo giusto

"Indossare i panni di dev", tra le tante altre cose, significa _essere parte di una comunità_.

Una comunità composta da altri professionisti, persone che come te hanno scelto di lavorare in questo settore.

Con il tempo, magari collaborando ad un progetto Open Source o lavorando in qualche azienda, ti troverai a dover collaborare a stretto contatto (che sia esso virtuale o fisico) con altri sviluppatori.

Scenario ben diverso da ciò che magari sei stato abituato a fare fino a quel momento; d'altro canto, un conto è scrivere codice in solitudine per un progetto a cui stiamo lavorando, e un conto è scrivere codice collaborativo con un numero indefinito di altre persone, tutte con lo stesso obiettivo.

In queste circostanze, ciò che solitamente fa la differenza è lo spirito con cui si affrontano queste situazioni; partire prevenuti non serve a niente, e anzi il più delle volte potrebbe addirittura risultare controproducente; ha molto più senso invece partire dall'assunto che **ognuno di noi può insegnarci qualcosa**, e dunque, **possiamo sempre imparare qualcosa, anche da chi è meno esperto di noi**.

Adottare un atteggiamento del genere significa abbracciare l'idea di poter apprendere sempre qualcosa, indipendentemente dal nostro grado di conoscenza o da chi abbiamo davanti...significa **lasciarsi contaminare**.

La contaminazione, in un gruppo di persone aventi lo stesso obiettivo, è un'atteggiamento prono al successo, è inclusivo e privo di qualsiasi pregiudizio di genere: è un modo sano di fare gruppo, contribuendo alla sua crescita e apprendendo da esso.

In fondo, come abbiamo già detto qualche riga fa, Open Source significa anche questo: contribuire condividendo il proprio sapere, ed apprendere da chi a sua volta condivide il suo sapere con noi.
2 changes: 0 additions & 2 deletions docs/introduzione/README.md → docs/it/introduzione.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Il Libro Open Source

## Benvenuto

Chiunque tu sia, da qualunque posto tu provenga, benvenuto in un viaggio incredibile nel mondo dello sviluppo software.
Expand Down
2 changes: 1 addition & 1 deletion lefthook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ pre-commit:
commands:
prettier:
glob: "*.md"
run: npm run format:write {staged_files}
run: npm run format:write:automation {staged_files}
commit-msg:
scripts:
"commitlint.sh":
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"scripts": {
"format:check": "npx prettier --check \"**/*.md\"",
"format:write": "prettier --write"
"format:check": "npx prettier --check '**/*.md'",
"format:write": "prettier --write '**/*.md'",
"format:write:automation": "prettier --write"
},
"devDependencies": {
"@commitlint/cli": "^17.7.1",
Expand Down

0 comments on commit 3595c11

Please sign in to comment.