Quanto è importante completare i progetti? [chiuso]


42

Sono uno studente (ancora per andare all'università) e sto programmando da circa 5 anni. In quel periodo, sono passato da una lingua all'altra, da API a API, da progetto a progetto. Ho provato a concentrarmi su una cosa, ma perdo interesse. Il mio intero PC è pieno di progetti a metà (e almeno quattro volte più sono stati formattati dal mio disco).

Comincio a chiedermi se la mia motivazione inferiore verso la programmazione per divertirmi (è un'attività che mi piace molto) è perché alla fine non riesco mai a realizzare un progetto finito. Non so dire se ho solo obiettivi a tempo indeterminato o solo un periodo di scarsa attenzione. Ho provato a fare alcuni progetti più piccoli solo per finirli, ma non mi interessano affatto.

Potrebbe essere questa la causa del mio calo di motivazione? Inoltre, quando faccio domanda per andare su uni (e in futuro si spera, un lavoro software) è probabile che sia un problema?

In sintesi:

Quanto è importante portare a termine progetti secondari / hobby, che si tratti di carriera, motivazione o istruzione?


8
Non penso che questo sia negativo, quando parliamo di progetti personali. Ho molti progetti che ho iniziato perché volevo imparare qualcosa o testare uno strumento e mi sono fermato quando ho imparato quello che volevo, nonostante il progetto stesso non fosse finito: il prodotto stava imparando, non il software e il prodotto è stato fatto! Finirai tutti i progetti e quando ne avrai bisogno finirai di pagare le bollette. Divertiti finché puoi! : D
Vitor Py,

2
Ho sentito dire che la differenza tra un programmatore dilettante e un programmatore professionista è che un professionista trova il modo di terminare i progetti. Cercare aiuto è un modo per rimanere bloccati e finire i progetti. :-) Come altri hanno già detto, non importa molto per finire i tuoi progetti personali, anche se imparare a finire un progetto è qualcosa che vale la pena imparare.
Gilbert Le Blanc,

1
Finisci quello che inizi? è una domanda di intervista comune.
Aditya P,

1
@AdityaP: E la risposta è "No". Una società dice "Non sappiamo se vale la pena fare X o no. Ma se aspettiamo di sapere, la concorrenza è molto avanti a noi. Quindi iniziamo X ora. Forse tra sei mesi, annulliamo il progetto e perdiamo mezzo milione. O forse in mezzo anno, andiamo avanti a tutto vapore e ne guadagniamo dieci milioni ". Finire tutto ciò che inizi è un idiota.
gnasher729,

Risposte:


40

Ovviamente finire un progetto è importante nel "mondo reale" poiché, a meno che il progetto non sia completato e consegnato, non vieni (o il tuo datore di lavoro non viene pagato).

Tuttavia, per i progetti di hobby e di apprendimento è un po 'più complicato. Una volta terminati i progetti, si dimostra ai potenziali datori di lavoro che è possibile fornire ciò che si è prefissato di consegnare, ma dipende da cosa si intende per "progetto".

Se stai facendo il progetto al fine di avere un prodotto completo che metta in mostra tutte le tue abilità e possa essere qualcosa da cui vuoi guadagnare soldi alla fine, allora sì, dovresti finirlo, o almeno dimostrare che sta lavorando attivamente .

Se stai facendo il progetto per imparare cose specifiche (come trasmettere video, crittografare la password, qualunque cosa) allora una volta che hai funzionato quell'aspetto è meno vitale avere un prodotto completamente funzionale dato che hai completato efficacemente il progetto. Quello che dovresti avere è qualcosa che puoi mostrare ai potenziali datori di lavoro per dimostrare le tue capacità.

Ad esempio, questo potrebbe essere solo un sito web che dice "Bentornato, Joe" dopo aver effettuato correttamente l'accesso e nient'altro - ma va bene come stai mostrando il codice dietro il sito Web che dimostra di comprendere la crittografia delle password e connessioni sicure ecc.


1
Il tuo esempio è finito perché lo scopo era solo quello di comprendere la crittografia della password. La conclusione dei progetti è molto importante perché impari così tanto sul progetto, cosa ha funzionato e cosa non ha funzionato, questa conoscenza è utile per come gestire il tuo prossimo progetto.
DBlackborough,

1
@ G3D - punto giusto, ma l'intero sito web come progetto non è "finito". Proverò a chiarire quel poco.
ChrisF

48

Prendilo da qualcuno che ha lo stesso problema, finire almeno alcuni dei tuoi progetti è molto importante. È del tutto ok fare alcuni progetti sperimentali e abbandonarli quando hai imparato ciò di cui hai bisogno o semplicemente non è stata una buona idea iniziare.

Tuttavia, i creativi tendono ad apprezzare la prima parte stimolante di qualsiasi progetto piuttosto che la noiosa fase di "riordino, confezionamento e uscita" alla fine. Devi escogitare qualche strategia per superarlo o lo farai

1) Non ottenere mai alcun credito pubblico per qualsiasi cosa tu faccia (se è quello che vuoi)

2) Non poter mai guadagnare soldi da ciò che hai fatto (se è quello che vuoi)

Ma la cosa peggiore è che gli altri e te stesso inizieranno a identificarti come qualcuno che non finisce le cose, e questa è un'etichetta molto brutta per te e cattiva per la tua mentalità.

Quindi trova un partner, una ragione o una disciplina per almeno iniziare a finire alcuni dei tuoi progetti.

Strategie utili per procrastinare i programmatori

  • Fai un elenco di tutte le cose buone che potrebbero accadere se finissi il progetto e di tutte le cose cattive se non lo facessi. Quindi registralo sul monitor :)

  • Imposta un programma! I progetti impiegano il tempo loro assegnato, quindi un progetto senza scadenze richiederà un'eternità. Imposta un programma con tappe mensili e settimanali

  • Stabilisci un obiettivo quotidiano, "Oggi ci riuscirò"

  • Se stai facendo un'applicazione o qualcosa di simile, concentrati sul renderlo eseguibile e utilizzabile in modo da poter iniziare a mangiare il tuo cibo per cani. Probabilmente stai lavorando a qualcosa che ti interessa, quindi effettivamente usarlo regolarmente ti motiverà a migliorarlo.

  • Fai attenzione alle grandi escursioni di refactoring, ho rotto la mia app per quattro mesi a causa dell'ampio refactoring e lo sviluppo ha rallentato fino a gattonare semplicemente perché non potevo eseguirlo ed ero demotivato a lavorarci. Fai refactoring ma cerca di non farlo tutto in una volta :)

  • Fai un elenco di tutto ciò che deve essere fatto per finire (raccomando il todolist di abstractspoon) Se non sappiamo quanto rimane, sapremo quando avremo finito? Lavorare per un obiettivo sconosciuto può essere piuttosto demotivante

  • Sfoglia l'elenco e taglia tutto ciò che non è assolutamente necessario (inseriscilo in una bella categoria). Finire il prodotto ti darà una spinta e quelle cose potranno essere fatte allora. È meglio rilasciare qualcosa che niente . Nemmeno l'iPhone aveva tutto all'inizio.

  • Non lasciarti distrarre da cose luccicanti. Il motivo principale per cui non finisco i progetti è che trovo una nuova nuova sfida. Se non riesci assolutamente a resistere all'avvio di un nuovo progetto prima che il vecchio sia finito, continua a lavorare su quello vecchio in parallelo o morirà completamente. Inoltre, vedi il punto successivo.

  • Imposta un orario di lavoro minimo. Se sei davvero stufo di un progetto, imposta un tempo minimo per lavorare al progetto ogni giorno, anche se sono solo 15 minuti o un'ora. È probabile che se inizi lavorerai più a lungo di così.

/ me va a finire la sua prossima grande applicazione / linguaggio di programmazione / facebook killer;)


21

Il mio intero PC è pieno di progetti finiti a metà

Sei sicuro che siano anche a metà finito? Il valore di finire qualcosa è che solo allora apprezzi davvero quanto sia grande il compito di finire qualcosa. I programmatori hanno innato ottimismo nel considerare quasi tutto ciò che l'80% ha fatto per la maggior parte del tempo, ma si scopre sempre che il restante 20% impiegherà almeno lo stesso tempo e lo stesso impegno del primo 80%.

Quindi, consiglio vivamente di finire almeno un progetto. Ai clienti paganti non importa se un progetto è realizzato al 50%, 80% o 99%. Conta solo il 100%.


Metà finito come termine generale. Non so fino a che punto sono finiti, ma quasi sicuramente molto meno. (cioè un lexer e forse il 30% di un parser, ma senza backend)
The Communist Duck

3
Il primo 90% del lavoro, naturalmente, richiede il 90% delle volte. L'ultimo 10% del lavoro richiede l'altro 90% delle volte.
Buttons840,

Così vero. L'ultimo progetto di hobby che ho realizzato è stato "completato" dopo 5 ore. L'aggiunta di tutte le campane e fischietti ha comunque richiesto altre 10 ore.
Carra,

5

Ho innumerevoli progetti dei miei giorni da studente che rimangono incompiuti. Non penso sia importante finirli. Non ho mai finito la maggior parte dei miei. Alcuni di loro erano completamente cervelli, come creare una migliore classe di stringhe o manipolare bitmap con array di classi Pixel.

Forse stai scegliendo progetti troppo grandi. Scegli qualcosa di veramente piccolo. Qualcosa che non richiederà più di un sabato pomeriggio per essere completato. Sarai soddisfatto dopo averlo completato. Forse ti sentirai energico nel fare un altro.

Una cosa importante da ricordare è che quando raggiungi il mondo del lavoro, trascorrerai 8 ore al giorno a risolvere i problemi. Ti dà molto più tempo per affrontare grandi progetti che nel contesto sporadico dello stile di vita degli studenti.


1
+1 per "completamente harebrained" (per inciso, harebrained , non hairbrained). Una descrizione eccellente di tanti miei progetti abbandonati. Quello e incredibilmente megalomane.
Tom Anderson,

5

Sii orgoglioso della tua cartella dei progetti incompiuta e non ti battere! Se tu fossi in un'altra disciplina, ad esempio l'arte, i progetti incompiuti non avrebbero davvero importanza, il punto è che stai provando e che in sé è ammirevole. Potresti invece restare seduto a casa a guardare la televisione? O sprecare tutto il tuo tempo sui siti Stack Exchange (oops!)

Microsoft non ha mai distribuito l'API 3D 'Fahrenheit' che speravo una volta, non ha mai spedito il file system 'database' che avrebbe sostituito NTFS e ha ucciso il progetto DeepZoom 'Seadragon' che avrebbe potuto essere fantastico. Probabilmente non sono riusciti a completare e finire centinaia di altri prodotti, non necessariamente per motivazione a "abbracciare, estendere ed estinguere". Hanno anche fornito interi sistemi operativi che erano molto meno del '98% completi '. Ciò li rende scadenti rifinitori?

"Completer-Finisher" è in realtà una frase del modello di squadra di Belbin . Forse sei uno "specialista" o un "investigatore delle risorse" e adatto a una squadra in cui altri svolgono le attività di completamento-finitore. Vedere le cose in questo modo ti consente di guardare la tua situazione in modo più positivo.


3

Se è una consolazione nonostante sia uno sviluppatore di software professionale da oltre 8 anni, trovo ancora difficile portare a termine progetti personali. Ho sempre pensato che fosse una combinazione di obiettivi a tempo indeterminato, il desiderio di "fare prima il bel po '" e la mancanza di una reale pressione per completarlo .... per rispondere alle tue due domande comunque:

Penso che trattare i progetti come fallimenti perché non erano completi al 100% avrà un impatto sulla tua motivazione e potrebbe impedirti di entrare davvero in un meraviglioso campo di lavoro. Invece di guardarli mentre i fallimenti provano a pensare a ciò che hai imparato da loro - quali nuovi linguaggi / strutture ora conosci, in quali lezioni di programmazione hai imparato, in quali strumenti hai abilità e in quali persone / comunità hai interagito mentre lo facevi. Da quel punto di vista è raro trovare un progetto personale che non abbia contribuito in qualche modo alla tua conoscenza.

Troverai all'università o al lavoro che ci sono due differenze principali che ti assicurano di completare i tuoi progetti. In primo luogo, i tuoi obiettivi sono generalmente ben definiti, in particolare durante i primi due anni di università. In secondo luogo, hai una reale pressione per completare un progetto: devi farlo per passare una classe / modulo o il tuo manager ti sta dicendo che il progetto XYZ deve essere consegnato al team di test per una data specifica. Ciò fornisce un focus che non sono mai stato in grado di replicare su progetti personali.


2

Innanzitutto, è importante per l'autocompiacimento. Hai ottenuto qualcosa da zero a uno stato finale chiaro. Puoi quindi far apparire un oggetto del tuo "progetto-pila-in-mente", e per me è sempre stato un sollievo.

Per la tua carriera, e più precisamente per le interviste di lavoro, fino a quando non hai finito il tuo progetto, non hai nulla da mostrare o di cui parlare ... Mostrare un mezzo progetto non è mai buono. Potrebbe essere difettoso, brutto o semplicemente non funzionante. Non puoi nemmeno menzionarli agli intervistatori, altrimenti ti chiederanno "Perché non li hai finiti?" ... Se rispondi "Non ho tempo", significa che non puoi programmare correttamente i tuoi compiti, non stai perseverando. Inoltre, hai avuto il tempo di avviare altri progetti, quindi il tuo argomento sarebbe sbagliato. Dovresti trovare una risposta intelligente ...


2

Mi trovavo in una situazione simile a Jon Malcolm, ma stavo perdendo tempo in posti sbagliati. Per i progetti personali, ho deciso di abbassare i miei standard a favore della completa funzionalità. Ciò significava niente ajax, nessuna localizzazione, poca convalida, nessuna autenticazione, nessuna impaginazione, interfaccia utente barebone, nessun test unitario e così via. Basta far funzionare la parte aziendale ... La chiamo "la linea retta". La soluzione sarebbe completa e dovrebbe funzionare in condizioni ideali. Una volta fatto ciò, se il progetto fosse ancora interessante, avrei continuato iterazioni di refactoring fino a quando non avessi perso interesse.


2

Ho un'esperienza simile e che l'ultimo 5-10% anche di un progetto per piccoli animali domestici può essere un killer .

Il mio consiglio se vuoi finire? Dillo ad amici, colleghi, famiglia o chiunque possa essere interessato a questa nuova fantastica cosa a cui stai lavorando. Coinvolgili, fai loro delle domande. Spero che otterrai alcuni follower che ti chiederanno dei tuoi progressi. La pressione di sapere che ti motiverà a continuare i passaggi banali ma necessari per spedire il tuo progetto.


1

I progetti di finitura sono ciò che separa i bambini dagli adulti, il grano dalla paglia, gli uomini / donne dai ragazzi / ragazze.

"I veri programmatori spediscono."


9
È anche ciò che separa il lavoro dal gioco.
Tom Anderson,

1

Per sapere se devi completare un progetto o meno, devi valutare il valore che otterrai da esso rispetto al tempo che devi investire in esso per completarlo.

Se il valore che è possibile estrarre da esso è inferiore all'investimento , è possibile considerarlo a Sunk Costi .

Nell'economia e nel processo decisionale aziendale, i costi sommersi sono costi retrospettivi (passati) che sono già stati sostenuti e che non possono essere recuperati.

Troppi progetti incompiuti portano allo spreco . I rifiuti sono uno dei più potenti nemici della magra .

Detto questo, a volte, è meglio abbandonare un progetto per concentrare i tuoi sforzi su uno che fornirà un ROI molto maggiore. Molte persone finiscono tutto con ostinazione e non riescono a cogliere davvero buone opportunità .


1

Chiaro e semplice: se vuoi finirlo, finiscilo! Se non vuoi, non farlo! Non hai nessuno in attesa della consegna, quindi perché soffrire così tanto? Fare progetti per hobby non è lo stesso dei progetti industriali. Sono molto diversi. Nessuno ti chiederà perché non hai terminato i tuoi progetti di hobby se non dici loro che li hai lasciati incompiuti. Ci sono un miliardo di codici di progetti hobby galleggianti in rete. Pensi che a qualcuno importi davvero di loro? (diverso dagli studenti pigri dell'univ che cercano un progetto dell'ultimo anno veloce e pronto)


1

Seth Godin ha scritto molto sull'abitudine di spedire:

http://the99percent.com/tips/6249/seth-godin-the-truth-about-shipping

Penso che sia importante, ed ecco perché: non è sufficiente fare un progetto per te, anche se potrebbe avere un valore educativo per te. Se non condividi mai il tuo dono con il mondo, sei come un artista che non mostra mai i suoi quadri a nessuno.

È anche qualcosa con cui faccio fatica. Se dovessi analizzare il perché, direi che tendo a progettare troppo e pensare troppo ai miei progetti personali. Farò troppe ipotesi sul problema, molte delle quali non sono valide, quindi lavorerò troppo prima di arrivare a questa realizzazione. Questo è de-motivante, e a quel punto perdo slancio. C'è un'idea che ho ripetuto negli ultimi due anni e ho ripetuto questo schema diverse volte.

Il mio piano per tutti i progetti personali è quello di concentrarmi su un piccolo sottoinsieme della visione generale, implementarlo e pubblicarlo (che si tratti di un progetto github open-source, un sito Web, un articolo in una serie di articoli).

Quindi, se sono ancora sufficientemente motivato, lo ripeterò di nuovo. Spero che la soddisfazione che ottengo dalla spedizione mi sosterrà attraverso iterazioni aggiuntive.


0

È molto importante.

Capisco montare qualcosa come una prova del concetto e poi lasciarlo lì. Va bene. Tuttavia, i clienti non pagheranno niente di meno che un progetto completato.

La linea di fondo è questa ... Le vendite guidano tutto . Senza vendite non ci sono stipendi. Senza vendite non ci sono miglioramenti di capitale. Senza vendite non c'è società. Le vendite provengono dai clienti. I clienti pagheranno solo quando saranno soddisfatti. Soddisfazione significa che il progetto finito funziona e funziona bene.

Per usare un'analogia del calcio: la zona rossa è gli ultimi 20 metri davanti alla linea di porta. È la parte più estenuante del segnare un touchdown. Lo stesso vale per un progetto di programmazione. L'ultimo 20 percento è spesso il più difficile da finire, ma deve essere fatto.

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.