Scegliere tra due programmatori: esperienza vs. passione [chiuso]


82

Sono in una posizione in cui devo assumere un programmatore e avere l'opzione di 2 candidati, il primo ha esperienza ma non ha la passione per la programmazione e lo dice mentre il secondo non ha l'esperienza ma ha la passione, ha fatto bene nell'intervista ed è certificato.

Abbiamo le risorse per addestrare qualcuno, ma non voglio davvero far saltare questo processo e assumere qualcuno che sarà deludente. Qualcuno può aiutarmi su come affrontare questa situazione?


6
Vorrei che fosse "abile vs passione"
iamgopal

32
-1 all'intervistato che ammette di non avere la passione per il lavoro per il quale sta intervistando.
Wonko the Sane,

1
Per favore, elabora. Passione è una parola carica in questo uso. Inoltre non è chiaro se la passione per la codifica significhi strettamente per la fase di codifica dello sviluppo o stenografia per lo sviluppo del software. Di che cosa hai bisogno? Il raggiungimento degli obiettivi a breve termine è la cosa più importante?
McTlr

4
E se mentisse sulla passione o semplicemente recitasse?
Lukasz Madon,

8
+1 per l'intervistato che ammette di non avere la passione per il lavoro per il quale sta intervistando, almeno è abbastanza onesto.
Sarawut Positwinyu,

Risposte:


156

Assumi il programmatore inesperto con la passione per il mestiere. Un programmatore appassionato imparerà rapidamente, si preoccuperà del suo lavoro e si divertirà a farlo. Ho lavorato con entrambi i tipi di programmatori e assumerei sempre il tipo appassionato rispetto all'esperto.

Le persone che non si preoccupano del proprio lavoro alla fine portano a problemi di qualità e di rispetto delle scadenze.

Dal momento che dichiari esplicitamente di avere le risorse per addestrare qualcuno, questo è un gioco da ragazzi. Assumi il programmatore appassionato.


6
+1 ... almeno l'appassionato non ha motivo di andarsene ... a meno che non sia troppo appassionato.
Giobbe

10
+1 C'è un detto ... "quel ragazzo ha 1 anni di esperienza 7 volte". Un caso chiaro in cui l'esperienza (di sorta) non funziona davvero per te.
quick_now

14
Inoltre, molti programmatori "esperti" sono solo persone che sono in circolazione da molto tempo, non che siano bravi: p
Philippe

3
+1 ogni volta. È molto più semplice fare esperienza che ripristinare la passione e non c'è bisogno di un "pozzo della passione" in nessuna squadra.
John Parker,

5
Vero, con un avvertimento. Un programmatore appassionato può imparare rapidamente. A volte, sfortunatamente, alcune persone "semplicemente non capiscono".
Wonko the Sane,

117

Anche se nessuno postare qui è in grado di dirti quale assumere, vorrei offrire un piccolo contrappunto al procedimento ...

Uno dei nostri nuovi principianti più recenti è l'immagine assoluta dell'esperienza professionale .

Alle 9, alle 5, un'ora a pranzo. Nessun ritardo, nessun fine settimana.

Il che probabilmente sembra terribile per la maggior parte delle persone che hanno risposto finora.

Tuttavia, non solo il suo codice è migliore (pulito, conciso, modellato, comprensibile, gestibile, testabile, in tempo! ) Rispetto a quasi tutti gli altri membri del team, ma è anche una cassa di risonanza eccellente per gli appassionati appassionati quando pensano che stiano per risolvere tutti i nostri guai è un singolo dispiegamento, una fonte di conoscenza e una sanità mentale che ci salva da noi stessi.

Sa come respingere la gestione invadente. Riesce a individuare l'oscillazione di un miglio lungo la strada. Scrive più unit test di chiunque altro. Non si lamenta e geme quando viene ammaccato da un compito noioso, e probabilmente sarà ancora qui tra 5 anni.

( Per aggiungere alla mia prima risposta )

Come fai a sapere che il tipo appassionato è appassionato oltre al fatto che ti ha detto?

Potrebbe fare la sua migliore faccia acuta perché ha un disperato bisogno del lavoro, la gente dirà di tutto per ottenere un lavoro in questo momento

Potrebbe pensare di essere appassionato di programmazione, ma la lucentezza inizierà a offuscarsi quando si rende conto che il 99% di noi non scrive codice sexy .

L'esperienza è quantificabile e dimostrabile.

L'esperienza sa che giorno per giorno, la maggior parte di noi lavora su sistemi non sexy e codice legacy sporco. E l'esperienza mostra che possono ancora trascinarsi fuori dal letto la mattina per affrontarlo.

Vorrei ribadire che non sto dicendo a nessuno di chi assumere. Non credo che l'esperienza sia migliore della passione o viceversa. Non sono un grande oppositore delle persone appassionate di programmazione, ma trovo un po 'preoccupato vedere la mancanza di equilibrio presentata qui. Tutte le altre risposte più votate qui fanno ottimi validi argomenti (Matthew Kubicina, Utente 9094, Otávio Décio, Bernard Dy) e li ho votati come tali anche se ho delle riserve su alcune delle loro opinioni.


7
+1 Detto questo, sembra che la persona in questione sia piuttosto dannatamente appassionata di programmazione. (Non credo che ci sia una divisione professionale / appassionata, in questo senso.)
John Parker,

9
Non passa il tempo libero a scrivere codice. Non partecipa alle discussioni sull'opinione di diversi blogger sull'ultima moda di programmazione. Dice sempre alle persone di smettere di provare a renderlo così complicato. Non è un secchione e il lavoro non è la sua priorità nella vita. Quindi come vedi un "somewhat" passionate programmer? Scegliere una laurea e una carriera nella programmazione non suggerisce una certa dose di passione? Solo perché il candidato non si identifica come un fanatico ninja-nerd-nerd che si lancia su StackOverflow, questo non significa solo che non è un geek totale che ha una vita fuori dall'ufficio e? ...
Gingerbreadboy,

4
Ho citato però la cattura In at 9, out at 5, one hour for lunch. No lates, no weekends.. Inoltre, qualcuno che scrive clean, concise, patterned, understandable, maintainable, testable, on timecodice è davvero troppo bello per essere vero? O semplicemente esperto e professionale?
Gingerbreadboy,

15
Il 9-5 può anche essere esperienza nel parlare. Stabilendo la legge, costringe il management a pianificare di conseguenza e non cercare di riempire troppo il tempo. Lo straordinario ha un modo di diventare un'abitudine.
MIA,

32
+1 per il ragazzo 9-5! Non sottovalutare il programmatore che inizia tranquillamente con il lavoro e produce grandi risultati. Sfortunatamente i dirigenti hanno la tendenza a trascurare queste persone per coloro che gridano più forte. Al nostro posto, andare in ritardo una settimana e poi proclamare quanto duramente hai lavorato per finirlo tende ad essere notato più che semplicemente farlo in tempo, in primo luogo.
Qwerky,

50

Direi che dipende dal resto della squadra :

  • se hai già molti programmatori esperti, scegli gli appassionati

  • se, d'altra parte, hai solo uno o due programmatori esperti più molti studenti / lavoro-economico-con-poca-esperienza-ma-che-non-costa-molto, allora quello con esperienza sarà più utile.


13
A meno che Mr Experienced non sia annoiato, disposto a modo suo o distruttivo. Nel qual caso hai un disastro tra le mani. Ho visto casi di esperienza di persone che hanno così tanta esperienza che la loro strada è l'unica e vera MODO GIUSTO, quindi si rifiutano di lavorare secondo gli standard aziendali, non sono d'accordo con la strategia, si lamentano della gestione ... e diventano corrosivi. La passione può essere distrutta ma è anche (se sfruttata) una forza potente per l'entusiasmo e il taglio della merda.
quick_now

2
Sono completamente d'accordo. In realtà stavo per scrivere un post su quanto sia importante l'esperienza. Un gruppo di formazione istantanea non può sostituire 5-10 anni (o più) di esperienza. Dipende solo dal programmatore esperto che riesce a vedere subito tutte le insidie. Inoltre, vedo che i programmatori inesperti hanno una maggiore tendenza a creare soluzioni molto più complesse. Quindi, se non hai già quel livello di esperienza nel team di sviluppo, prendilo!
Pete,

1
+1 QUESTO. Come puoi vedere dalle altre risposte, ci sono ragioni per scegliere in entrambi i modi. Quindi scegli quello che meglio complimenta il tuo team esistente e fornisca qualcosa di cui non hai molto.
BlairHippo il

20

"Esperto" non significa necessariamente "bloccato nei suoi modi"

Come sviluppatore esperto di medio livello (non ho ancora 40 anni), sono un po 'allarmato dal fatto che la stragrande maggioranza delle risposte qui sembrano implicare che qualcuno che è stato "lì, lo ha fatto" non sa come tenere il passo con i giovani. È un presupposto ingiusto e pericoloso da fare.

Sarei interessato a sapere cosa ha effettivamente detto il ragazzo esperto. Se dicesse "Non ho alcuna passione per la programmazione", allora sì, probabilmente non lo prenderei in considerazione, allo stesso modo in cui probabilmente non considero un vegetariano un macellaio. Se, tuttavia, le sue risposte a "cosa fai nel tuo tempo libero" non riguardavano la codifica e l'intervistatore implicava che ciò significava che non aveva passione per la codifica, è qualcos'altro.

Nota che non sto dicendo che dovrebbe assumere il ragazzo esperto o il ragazzo appassionato. Non ho intervistato nessuno dei due e non ho idea della cultura della sua compagnia.

Da Dictionary.com:
ex · pe · ri · enced / ɪkˈspɪəriənst / Show Spelt [ik-speer-ee-uhnst] – aggettivo

  1. saggio o abile in un particolare campo attraverso l'esperienza: un insegnante esperto.
  2. aver imparato attraverso l'esperienza; insegnata dall'esperienza: vissuta attraverso le avversità.
  3. sopportato; subito; sofferto: disgrazie vissute.
    Origine: 1560–70; esperienza + -ed2

—Modalità correlate non · ex · pe · ri · forzate, aggettivo qua · si-ex · pe · ri · forzato, aggettivo non · ex · pe · ri · forzato, aggettivo benestante · pe · ri · forzato, aggettivo

—Sintomi 1. esperto, esperto, esperto, veterano, esperto, esperto, esperto, qualificato.


7
Come un veterinario del settore vicino ai 40 che raramente scherza con il codice nel suo tempo libero a meno che non abbia un problema molto specifico da risolvere, grazie. Non devi portare questo lavoro a casa con te per essere bravo.
BlairHippo il

C'è una differenza tra il lavoro in equilibrio e la vita domestica e l'essere apatici, a bassa energia e soffocati. Non penso che nessuno abbia insinuato che l'esperienza è stata negativa, proprio quell'esperienza senza guida è fondamentalmente come una muscle car superveloce senza distributore di benzina.
jmort253,

12

In alternativa, scegli quello con il punteggio StackOverflow più alto: D


11

Dovresti assumere quello che ritieni più interessato ad affrontare le esigenze della tua azienda sopra ogni altra cosa. Ho visto casi in cui uno sviluppatore molto bravo e appassionato è stato assunto solo per finire rapidamente tutto ciò che doveva fare per il datore di lavoro pagante e correre per prendersi cura della propria attività.


Elaborate per favore - cosa intendevi con "occupati dei tuoi affari"?
Giobbe

1
@Job: Suppongo che lavorerebbe sulla sua agenda e farebbe un lavoro "in zona grigia", cioè non esplicitamente raccomandato né proibito. Questo potrebbe essere un buon vantaggio per un progetto con molti buchi e parti marce, ma di solito interrompe il programma / roadmap, almeno a breve termine.
Macke,

9

Il consulente di gestione IT Paul Glen ha scritto sul concetto di passione nei luoghi di lavoro in questo saggio per Computerworld . Potresti trovare una prospettiva interessante, anche se non sono d'accordo con l'affermazione implicita di Glen secondo cui passione e stabilità si escludono a vicenda. Penso che tu possa avere entrambi. Ti suggerirei di consultare anche i commenti che seguono l'articolo; alcune persone avevano altre intuizioni.

Detto questo, nel tuo caso, sembra essere una scelta tra i due. Ma qualifichiamo cosa intendi quando dici "passione".

Quando il ragazzo esperto dice di non essere appassionato, è che non gli importa della qualità del lavoro, o che la programmazione non è il suo primo amore (forse ha una famiglia? Un interesse permanente per le auto o la musica o birra fatta in casa?). Davvero, se un ragazzo esperto non è appassionato di apprendimento di tre nuove lingue oltre a quello che già conosce, ma continua a tenere il passo con le sue lingue principali, i suoi strumenti e così, e produce anche alcune birre a casa, penso di poter convivere con quello.

Ma se il ragazzo con esperienza è uno sviluppatore terribile e non si preoccupa di migliorare, allora non lo definirei senza passione, lo definirei non professionale. Pollice in giù in quel caso.


EDIT: Dopo aver letto alcune altre risposte, ho pensato di aggiungere un po '. Penso che la difficoltà sia nei parametri della domanda di OP: non sappiamo quale dei due sviluppatori sia competente . Siamo concentrati sulla valutazione di due tratti apparentemente in contrasto, anche se, come ho detto sopra, credo che tu possa avere sia esperienza che passione. Tuttavia, entrambi possono essere anche cose cattive.

Una volta ho lavorato con un ragazzo esperto che era intelligente, ma aveva anche trascorso gran parte della sua vita a svilupparsi nel vuoto. Ho trascorso tanto tempo a discutere con lui quanto a fare qualsiasi lavoro. Era esperto e appassionato, ma nessuno dei due ha davvero aiutato la mia squadra.


3
Sì, adoro il mio lavoro, ma non sono abbastanza "appassionato" per mettere in piedi le notti notturne ripetute solo perché alcuni manager non si sono messi d'accordo.
Benjol,

1
Punti eccellenti, in particolare (IMO) nella modifica. Per continuare lungo lo stesso percorso, è certamente possibile essere appassionati, ma ancora puzzare, di programmazione. Ho lavorato anche con quei ragazzi.
Wonko the Sane,

5

Se leggi il codice completo sapresti che:

L'esperienza non conta tanto quanto pensi

Questo perché anche le basi cambiano costantemente nel campo del software , questo significa che il ragazzo esperto è bloccato ai suoi vecchi modi e non è interessato a imparare cose nuove - anno dopo anno.

Il ragazzo appassionato lo farà quasi sicuramente, anche ai suoi tempi. Assumerei passione per esperienza ogni volta


Bingo. Conosco molti sviluppatori "esperti" che conoscono una lingua, quella in cui lavorano in questo momento , e una tecnologia per questa e una per quella ... quelle che stanno usando. Nient'altro. E nient'altro li interessa.
Jürgen A. Erhard,

2
Veramente? La comunità SO non ha potuto inventare un'importante invenzione dal 1980 che ha influenzato le basi del software, almeno IMHO. Alan Kay dovrebbe avere una citazione in tal senso.
appena il

1
@Jae superficialmente, capisco e sono d'accordo con te. Ma conosco anche alcuni sviluppatori che conoscono diverse lingue e codificano allo stesso modo in tutti loro: male. Penso che la chiave sia la competenza, poiché l'esperienza e la passione possono avere lati positivi e negativi. Se gli sviluppatori di un team sono competenti, l'esperienza e la passione sono tratti secondari che aggiungono semplicemente consistenza alla composizione del team.
Bernard Dy,

Non c'è molto nella programmazione del flusso principale che non era noto agli accademici 20 anni fa. Con un'istruzione adeguata, non è necessario provare le cose nel proprio tempo libero.
Sjoerd,

@Sjoerd LINQ - 20 anni fa? Potrebbero sapere cose in teoria, ma sappiamo tutti che la pratica è molto diversa
billy.bob

3

Nessuno dei due

Non assumerei mai nessuno che non sia appassionato del proprio lavoro se non fosse un compito piuttosto umile e forse nemmeno allora. In genere non avere passione significa che loro

1) non stanno godendo quello che fanno:

2) stanno spendendo l'importo minimo se il tempo lo richiede, alias "È solo un ob"

3) Stanno togliendo l'atmosfera nella tua squadra / compagnia piuttosto che aggiungerla ad essa

D'altra parte, l'esperienza è di fondamentale importanza per i programmatori, un appassionato noob potrebbe essere in grado di trascorrere le 10.000 ore di esperienza necessarie per diventare un esperto più velocemente sacrificando la sua "vita" e altri hobby, ma ci vorranno ancora un paio di anni

Poiché l'esperienza vale davvero la pena, non è quasi compensata economicamente da uno stipendio leggermente inferiore. Quindi non direi nessuno dei due, vai con qualcuno con esperienza decente almeno chi è appassionato. Più giovani (perché non hanno figli e mogli fastidiosi) e più appassionati sono meno esperienza che puoi chiedere :)


3
È un poliziotto fuori.
dan_waterworth,

Sulla base di tale argomento, nessun principiante sarebbe mai stato assunto. Non puoi fare esperienza se non hai un lavoro.
Konrad Rudolph,

solo se scontate cattive pratiche di assunzione, e questo è un grande se;) Ci sono alcuni progetti in cui avete davvero bisogno di molti programmatori (anche se poi si imbatteranno nella legge di Brooks) in cui potreste stipare nuovi principianti. I principianti / neolaureati hanno anche un grande vantaggio in quanto puoi farli correre a terra lavorando giorno e notte nella tua piccola bolla aziendale prima che crescano, conoscano meglio e si muovano. Questa sembra essere stata la strategia di Microsofts almeno all'inizio.
Homde,

1
allora, com'è essere un bastardo cinico? ;-)
Jürgen A. Erhard,

Ehi, non è che farei una cosa del genere: P Ma è bene conoscere "pratiche" commerciali del genere per evitare di innamorarsi di loro. Spero che la maggior parte abbia abbastanza senso per non impiegarli. Inoltre, personalmente credo che assumere un numero inferiore di programmatori ma più qualificati e ampiamente gratificante abbia molto più senso degli affari ed è più piacevole per tutti.
Homde,

2

Risposta semplice Vai per quello Passionale

Lui / lei metterà la sua passione per rendere le cose migliori e programmerà a lungo


... o fino a quando le lunghe ore "appassionate" del mestiere portano a un esaurimento precoce. Qualunque cosa accada prima.
Wonko the Sane,

1

è facile mescolare la passione per il codice rispetto alla passione per ottenere un lavoro (o la passione per ottenere un controllo mensile).

Inoltre, è facile mescolare l'esperienza con anni di utilizzo di un cubicolo.

Ad ogni modo, un vero programmatore esperto può fare da x2 a x10 di un principiante, non importa se il novizio ha passione o no.

Al contrario, un principiante può passare molto tempo a fare domande stupide, ricorda, la maggior parte dei programmatori viene valutata in base al proprio lavoro, non insegnando agli altri.


1

Sembra che potresti aver bisogno di ulteriori informazioni per prendere una decisione. Come parte del processo del colloquio, i candidati hanno effettivamente progettato o scritto un codice? Altrimenti, forse questo è il tuo prossimo passo. Pensa a un semplice problema su cui lavorare e impostali su quell'attività per un breve periodo di tempo.

Rivedi il loro lavoro con loro più avanti nell'intervista. Guarda come possono spiegare la loro soluzione. Provali a vedere se riescono a pensare a modi per migliorare ciò che hanno già consegnato.

Nella mia esperienza, mettere gli sviluppatori a un '"audizione" come questa è stato il modo migliore per identificare i candidati che vale davvero la pena assumere.


1

La passione non si traduce sempre in abilità. A volte passione == arroganza e inflessibilità.

L'esperienza non si traduce sempre in abilità. A volte esperienza == arroganza e inflessibilità.

Bottom line: assumere la persona migliore per il lavoro dato . Ciò include passione, esperienza, abilità, personalità, affidabilità e non dimenticare la tenacia.


0

Alla fine, l'esperienza non significa nulla senza passione. Una persona esperta senza passione non sarà mai all'altezza del suo pieno potenziale e non migliorerà le proprie capacità. Quello che vedi è ciò che ottieni, fine della storia.

La passione è un combustibile caldo e ardente che può trasformare l'inesperienza in esperienza. La passione può aiutare a risolvere i problemi che gli esperti dicono essere irrisolvibili. Le persone appassionate cercheranno sempre di migliorare. Le persone appassionate non si arrendono.

Le persone esperte che hanno rinunciato sono come il personaggio di Gene Wilder in Blazing Saddles. Aveva tutto questo riconoscimento come la pistola più veloce in Occidente, ma tutta quell'esperienza non significava assolutamente nulla poiché non poteva più tenere ferma la sua arma per sparare dritto.

Una persona con esperienza che non riesce a rimanere salda quando arriva il momento di superare la concorrenza diventerà solo una responsabilità.

Vai con la persona appassionata o continua a intervistare più candidati fino a trovare la giusta miscela di fuoco e saggezza.


0

Sento, se hai scoperto che in un'intervista un candidato in esperienza si è comportato tecnicamente bene e anche lui è innamorato della programmazione. Quindi, dopo qualche tempo, sarà più produttivo per la tua organizzazione se si sarà formato correttamente rispetto al candidato dell'esperienza.

Se vuoi mangiare prova meno cibo cucinato da qualcun altro, consapevolmente. Finalmente la scelta è tua.


0

Wow ragazzi questo ha suscitato molto dibattito alla fine, ho deciso di fare un tentativo al principiante e ha una grande promessa finora, al punto che sono così preoccupato che forse sta lavorando così duramente che si esaurirà.

Alla fine ho dato loro un semplice compito di programmazione di 10 minuti e ho discusso di come sono arrivati ​​alla loro soluzione e ad altre possibili soluzioni, i pro e i contro e mi sono sentito come se il novellino sembrasse avere una buona comprensione. Quindi alla fine ho letto molti articoli ma mi sembrava che il ragazzo fosse una buona scelta.

Non c'è niente di sbagliato nell'esperienza, ma molti programmatori vanno a lavorare e passano il tempo a sognare ad occhi aperti. Non devi programmare nel tuo tempo libero, molti di noi lo fanno, ma non è un must. Un programmatore competente dovrebbe trascorrere le sue 40 ore di lavoro ogni settimana per risolvere i problemi e tenersi aggiornato con i suoi strumenti. La verità è che esiste il divario tra programmatori grandi e medi, perché in questa professione un individuo può solo costeggiare ed essere solo un astronauta dell'architettura.

Grazie mille a tutti


4
Mi piace il modo in cui rispondi alla tua domanda (o in realtà non l'ha fatto) e poi l'hai accettata.
Pemdas,

0

L'IMO dipende dal motivo per cui la persona non passionale ha perso la passione. Ce l'avevano affatto? Preferirebbero fare architettura piuttosto che armeggiare con API e loop? Sono appena stati inaciditi nel vedere cattivi codici / cattiva gestione che li ha costretti a smettere di preoccuparsi? Non scartare qualcuno che dice "Non sono appassionato del mio mestiere" perché potrebbero esserci validi motivi. Anche la persona più passionale perderà rapidamente il fuoco quando si imbatterà in muri ogni volta che proverà a mostrare passione. Come il criceto che rimane scioccato, alla fine impareranno a rimorchiare la fila della festa e la passione si perde.


-1

Credo che la passione sia sopravvalutata come punto di selezione per un programmatore. Assumi quello che pensi che rimanga sul lavoro più a lungo.


Piuttosto il contrario penso: gli sviluppatori non appassionati (è una parola?) Tendono ad essere sviluppatori pigri, nella mia esperienza. A loro non importa fare il lavoro giusto, si preoccupano solo di farlo.
sevenseacat,

@ leed25d - Non sono sicuro di essere d'accordo. L'ultima cosa che voglio nella mia squadra sono un gruppo di gatti grassi seduti attorno a succhiare tutto l'ossigeno e sprecare spazio.
jmort253,

Entrambi state parlando di energia, non di passione, mi sembra. Attendo la mia affermazione che "passione" è una parola d'ordine in questi giorni.
leed25d

3
Non assumere mai qualcuno a cui non importa di quello che fanno. Mostrerà nel tuo prodotto.
Nicole,

1
La programmazione è un mix di abilità tecnica e creatività: ai programmatori senza passione manca metà di quel mix. In casi estremi anche se le loro abilità iniziano bene, degenereranno rapidamente.
Finlandia,

-1

Andrei con il ragazzo appassionato perché è disposto a imparare e aggiungerei grandi risultati se gli venissero forniti una guida e una motivazione adeguate.

La programmazione è sempre 2 + 2 = 4. Non cambierà mai, e il ragazzo appassionato aggiungerebbe più risultati con più modi di produrre lo stesso risultato 4.


A meno che il tuo capo non si chiami O'Brien.
Chiurox,

@chiurox: se io sono il capo, preferirei sempre il ragazzo appassionato.
Thalaivar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.