martedì 20 settembre 2011

Programmazione appassionato contro programmazione Cura


Oren Eini (aka Ayende @ Rahien) risponde ad un cercatore di lavoro che non ha nessun codice sorgente di fuori del lavoro :
In parole povere, siamo alla ricerca di un file. Sviluppatore NET e una delle cose più importanti che cerchiamo è la passione . In generale, abbiamo trovato che le persone che si occupano e sono interessati a ciò che stanno facendo tendono a fare altre cose piuttosto che i loro incarichi di lavoro.
In altre parole, hanno i loro progetti proprio animale domestico, può essere un sito personale, un progetto per un amico, o solo qualche codice scritto per acquisire familiarità con una certa tecnologia.
Quando mi dici che i vostri progetti solo al di fuori del lavoro sono 5 + anni, che è un'indicazione male per noi.
Anche se penso che ci sia una forte correlazione tra capacità di programmazione e progetti animale domestico che, ha meno a che fare con la passione di altre misure obiettive, come ad esempio:
  • Un programmatore con un progetto giocattolo trascorrere diverse ore in più facendo di programmazione. Anche 1 ora al giorno è più di 9 settimane di esperienza di programmazione in più ogni anno. Nel corso del tempo, che aggiunge.
  • Il tempo impiegato è di solito di programmazione rispetto alle riunioni, la documentazione, mettendo in campo le chiamate, ecc Inoltre interruzioni meno probabile e più tempo per pensare attraverso la progettazione di un data-driven ambiente di lavoro.
  • Tale programmatore ha una maggiore opportunità per attività di programmazione stimolante rispetto al lavoro, dove se si appartiene a una squadra, le cose si divise.
  • Non c'è più spazio per la sperimentazione di strumenti software di terze parti, fonte particolarmente aperto che a volte non sono ammessi in aziende a causa delle implicazioni legali. A volte lo strumento di scelta di una ditta di software può essere superata nel mercato, ma lo stanno ancora usando a causa degli investimenti.
Il numero di ore trascorse è la misura fondamentale. O forse il numero di ore per progetto giocattolo. Se un programmatore ha progetti giocattolo diversi, ognuno prendendo un paio d'ore, non hanno imparato tanto quanto qualcuno che ha passato settimane su un unico progetto, perché non sarebbero stati in grado di esplorare le diverse dimensioni di programmazione come le prestazioni, sicurezza, ecc
Ma torniamo ad assumere. Oren è un po 'fuorviante quando cita  la passione  come criterio necessario per l'assunzione.Un programmatore può avere un sacco di passione per la programmazione  in generale , ma potrebbe avere po 'di passione per un progetto specifico o per lavorare in una lingua specifica o set di strumenti. A volte, lui o lei può essere più appassionati e coinvolti nel progetto pet che nel lavoro quotidiano. Per un dipendente per la cura del progetto è tanto nelle mani del datore di lavoro come in quelli del dipendente. Il datore di lavoro deve fare il lavoro gratificante e stimolante, oltre a fornire un buon ambiente di lavoro.
In realtà non è nemmeno " passione ", perché ciò che è Oren interessa è" la cura per fare la cosa giusta ". Ma la passione e la cura sono due cose diverse, anche se a volte sono entrambi manifesta nella stessa persona. La passione è di risolvere i problemi ed è a breve termine. La cura è di assicurare la buona salute (del progetto) ed è a lungo termine. Un programmatore appassionato può essere grande per risolvere i difficili problemi tecnici. Ma le soluzioni di un programmatore cura sono più pensato e sarà meno fragile. Passione implica l'entusiasmo; cura implica riflessione.Questo può sembrare cavilli tra due parole, ma ci sono conseguenze nel mondo reale.
Ad esempio, un programmatore può decidere di prendersi cura * non * ad assumere un problema tecnico, anche se sembra interessante, perché le implicazioni per il prodotto nel lungo termine può essere negativo. E 'possibile trovare una soluzione elegante che riduce al minimo a volte l'impatto di un aggiunta di programmazione, ma gli effetti sul futuro programma di analisi e di progettazione possono essere enormi. Questo non è quello di scegliere tra uno stile di programmatore. È necessario il tipo passionale, perché si vuole alcuni membri del team pronto a saltare sulle sfide risolvere (anche se sembrano spaventosi). È inoltre necessario sviluppatori a pensare che possa capire la visione a lungo termine del prodotto.
Lettura messaggio Oren, non so se lui è alla ricerca di uno di quei tipi o qualcuno che incarna entrambi gli attributi. Ma se è il tipo di cura, davvero dovrebbe cercare programmatori senior che hanno una storia traccia di lavorare con progetti diversi rispetto alle versioni a clienti diversi. Un tale sviluppo avrebbe vissuto errori di funzioni erroneamente selezionati o attuate, e compreso ciò che i clienti cercano. La vita di un prodotto software è tale che passa la maggior parte del suo tempo nella manutenzione e cura del programmatore che rende più facile.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.