Quanto è importante finire i progetti? [chiuso]

42

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

Comincio a chiedermi se la mia minore motivazione alla programmazione per il gusto di farlo (è un'attività che mi piace davvero) è perché alla fine non ottengo mai un progetto finito. Non riesco a capire se ho degli obiettivi troppo aperti o solo una scarsa attenzione. Ho provato a fare progetti più piccoli solo per finirli, ma non mi interessano affatto.

Questa potrebbe essere la causa della mia caduta di motivazione? Inoltre, quando faccio domanda per andare a uni (e in futuro si spera, un lavoro software) è probabile che sia un problema?

In breve:

Quanto è importante finire i progetti side / hobbistici, che si tratti di carriera, motivazione o istruzione?

    
posta The Communist Duck 17.05.2011 - 12:45
fonte

14 risposte

40

Ovviamente la conclusione di un progetto è importante nel "mondo reale" in quanto, a meno che il progetto non sia completato e consegnato, non lo fai (o il tuo datore di lavoro non lo fa).

Tuttavia, per hobby e progetti di apprendimento è un po 'più complicato. Avere progetti finiti dimostra ai potenziali datori di lavoro che puoi offrire ciò che hai deciso di offrire, ma dipende da cosa intendi per "progetto".

Se stai facendo il progetto al fine di avere un prodotto completo che mostri tutte le tue abilità e potrebbe essere qualcosa che vuoi fare soldi alla fine allora sì, dovresti finirlo, o almeno mostrare che è attivamente su cui si sta lavorando.

Se stai facendo il progetto per imparare cose specifiche (come lo streaming di video, la crittografia della password, e così via) allora una volta che hai funzionato su questo aspetto è meno vitale avere un prodotto completamente funzionale come hai effettivamente completato 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 così come stai mostrando il codice dietro il sito web che dimostra che comprendi la crittografia e la sicurezza delle password connessioni ecc.

    
risposta data 17.05.2011 - 12:51
fonte
48

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

Tuttavia, le persone creative tendono ad apprezzare la prima parte impegnativa di qualsiasi progetto più che la noiosa fase di "riordino, pacchetto e uscita dalla porta" alla fine. Devi trovare una strategia per superarlo o dovrai

1) Non ottenere mai crediti pubblici     qualsiasi cosa tu faccia (se è questo che tu     vogliono)

2) Non essere mai in grado di guadagnare denaro da ciò che hai fatto (se è così     quello che vuoi)

Ma la cosa peggiore è che gli altri e te stesso inizieranno a identificarti come qualcuno che non finisce le cose, ed è una pessima etichetta per te per gli altri e cattiva per la tua mentalità.

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

Strategie utili per procrastinare i programmatori

  • Fai un elenco di tutte le cose buone che potrebbero accadere se hai finito il progetto e tutte le cose brutte se non lo fai. Quindi attaccalo al tuo monitor :)

  • Imposta un programma! I progetti occupano il tempo loro assegnato, quindi un progetto senza scadenze richiederà per sempre. Imposta una pianificazione con tappe intermedie mensili e settimanali

  • Imposta un obiettivo giornaliero, "Oggi ho intenzione di realizzare questo"

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

  • Attenti alle grandi escursioni di refactoring, ho rotto la mia app per quattro mesi a causa di un intenso refactoring e lo sviluppo ha rallentato fino a diventare un crawl semplicemente perché non potevo eseguirlo ed è stato demotivato per lavorarci sopra. Esegui il refactoring ma prova a non farlo tutto in una volta:)

  • Fai una lista di tutto ciò che deve essere fatto per finire (ti consiglio abstractspoon's todolist) Se non sappiamo quanto rimaniamo allora sapremo quando avremo finito? Lavorare verso un obiettivo sconosciuto può essere piuttosto demotivante

  • Passa attraverso la lista e taglia ogni cosa che non è assolutamente necessaria (mettila in una categoria piacevole da avere). La finitura del prodotto ti darà una spinta e quelle cose possono essere fatte allora. È meglio rilasciare qualcosa di niente . Nemmeno l'iPhone aveva tutto all'inizio.

  • Non essere distratto da cose nuove e brillanti. La ragione principale per cui non finisco i progetti è che trovo una nuova nuova sfida. Se assolutamente non riesci a resistere all'avvio di un nuovo progetto prima che quello vecchio sia finito, continua a lavorare su quello vecchio in parallelo o morirà completamente. Inoltre, vedi il prossimo punto.

  • 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 inizierai a lavorare più a lungo.

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

    
risposta data 17.05.2011 - 13:44
fonte
21

My entire PC is full of half finished projects

Sei sicuro che siano già finiti a metà? Il valore di finire davvero qualcosa è che solo allora apprezzi davvero quanto sia grande il compito di finire qualcosa. I programmatori hanno l'ottimismo intrinseco di considerare quasi tutto l'80% fatto per la maggior parte del tempo, ma risulta sempre che il restante 20% richiederà almeno lo stesso tempo e lo stesso impegno del primo 80%.

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

    
risposta data 17.05.2011 - 13:20
fonte
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 essi erano completamente a prova di cervello, come la creazione di una migliore classe di stringhe o la manipolazione di bitmap con gli array di classe Pixel.

Forse stai scegliendo progetti troppo grandi. Scegli qualcosa di veramente piccolo. Qualcosa che non durerà più di un sabato pomeriggio per completarlo. Sarai soddisfatto dopo averlo completato. Forse ti sentirai eccitato a fare un altro.

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

    
risposta data 17.05.2011 - 13:02
fonte
5

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

Microsoft non ha mai spedito l'API 3D "Fahrenheit" che speravo una volta, non hanno mai spedito il file system "database" che doveva sostituire NTFS e hanno ucciso il progetto DeepZoom "Seadragon" che avrebbe potuto essere fantastico. Probabilmente non sono riusciti a completare e completare centinaia di altri prodotti, non necessariamente per motivi di "abbracciare, estendere ed estinguere". Hanno anche spedito interi sistemi operativi che erano molto meno del '98% completi'. Questo li rende poveri completatori di finisher?

'Completer-Finisher' è in realtà una frase dal Belbin Team Model . Forse sei un 'Specialista' o un 'Investigatore di Risorse' e adatto a una squadra dove altri fanno i compiti di completamento del finitore. Vedere le cose in questo modo ti consente di guardare la tua situazione in modo più positivo.

    
risposta data 17.05.2011 - 21:06
fonte
3

Se la sua consolazione è pur essendo uno sviluppatore di software professionale da oltre 8 anni, trovo ancora difficile terminare i progetti personali. Ho sempre pensato che fosse una combinazione di obiettivi a tempo indeterminato, il desiderio di "fare il bello prima" e la mancanza di una reale pressione per completarlo .... per rispondere alle tue due domande però:

Penso che trattare i progetti come fallimenti perché non fossero completi al 100% inciderà sulla tua motivazione e potrebbe impedirti di entrare davvero in un meraviglioso campo di lavoro. Invece di guardarli come dei fallimenti, prova a pensare a ciò che hai imparato da loro: quali nuovi linguaggi / framework ora conosci, quali lezioni di programmazione hai appreso, quali strumenti hai ora e quali persone / comunità hai interagito mentre lo facevi. Visto da quella prospettiva è raro trovare un progetto personale che non abbia contribuito in qualche modo alle tue conoscenze.

Troverete all'università o al mondo del lavoro che ci sono due principali differenze che assicurano il completamento dei progetti. In primo luogo, i tuoi obiettivi sono generalmente ben definiti, in particolare durante i primi due anni di università. In secondo luogo si ha una reale pressione per completare un progetto - è necessario farlo per passare una classe / modulo o il proprio manager ti dice 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.

    
risposta data 17.05.2011 - 13:00
fonte
2

In primo luogo, è importante per l'auto-soddisfazione. Hai raggiunto qualcosa da zero in uno stato finale chiaro. Puoi quindi inserire un elemento del tuo "progetto-stack-in-mind", e per me è sempre stato un sollievo.

Per la tua carriera, e più precisamente per le interviste di lavoro, finché non hai finito il tuo progetto, non hai nulla da mostrare o parlare ... Mostrare un mezzo progetto non è mai buono. Potrebbe essere bacato, 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 iniziare altri progetti in modo che la tua argomentazione sarebbe sbagliata. Dovresti trovare una risposta intelligente ...

    
risposta data 17.05.2011 - 13:22
fonte
2

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

    
risposta data 17.05.2011 - 13:33
fonte
2

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

Il mio consiglio se vuoi finire? Dillo agli amici, ai colleghi, alla famiglia oa chiunque sia interessato a questa interessante novità su cui stai lavorando. Coinvolgili, fai loro delle domande. Spero che guadagnerai qualche follower che ti chiederà dei tuoi progressi. La pressione di sapere ciò ti motiverà a continuare a seguire i passaggi banali ma necessari per spedire il tuo progetto.

    
risposta data 25.01.2012 - 09:11
fonte
1

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

"I veri programmatori vengono spediti."

    
risposta data 17.05.2011 - 13:47
fonte
1

Per sapere se devi completare un progetto o no, devi valutare il valore che otterrai da esso rispetto al tempo necessario per investirlo per completarlo.

Se il valore che puoi estrarre da esso è inferiore all'investimento , puoi prenderlo in considerazione a Costi di affondamento .

In economics and business decision-making, sunk costs are retrospective (past) costs that have already been incurred and cannot be recovered.

Troppi progetti incompleti portano a spreco . Rifiuti è uno dei nemici più potenti di magra .

Detto questo, a volte, è meglio abbandonare un progetto per concentrare i tuoi sforzi su uno che fornirà molto più ROI. Molte persone finiscono ogni cosa con ostinazione e non riescono a cogliere le opportunità veramente buone.

    
risposta data 17.05.2011 - 14:31
fonte
1

Semplice e semplice: se vuoi terminarlo, finiscilo! Se non vuoi, non farlo! Non hai nessuno in attesa della consegna, quindi perché agonizzare così tanto? Fare progetti per hobby non è la stessa cosa dei progetti industriali. Sono molto diversi. Nessuno ti chiederà perché non hai finito i tuoi progetti di hobby se non hai detto loro che li hai lasciati incompiuti. Ci sono un miliardo di codici di progetto hobby che galleggiano sulla rete. Pensi che a qualcuno importi davvero di loro? (a parte gli studenti univoci e pigri che cercano un progetto di fine anno veloce e pronto)

    
risposta data 17.05.2011 - 14:37
fonte
1

Seth Godin ha scritto molto sull'abitudine alla spedizione:

link

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

È anche qualcosa con cui faccio fatica. Se dovessi analizzare il motivo, direi che tendo a sovra-ingegnerizzare e a pensare troppo ai miei progetti personali. Farò troppe assunzioni sul problema, molte delle quali non sono valide, quindi metterò troppo lavoro prima di arrivare a questa realizzazione. Questo è demotivante, e a quel punto perdo slancio. C'è un'idea che sto ripetendo da un paio d'anni e ho ripetuto questo schema diverse volte.

Il mio piano per tutti i progetti personali è di concentrarsi su un piccolo sottoinsieme della visione generale, implementarla e metterla in atto (sia che si tratti di un progetto github open-source, di un sito Web, di un articolo di 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 ulteriori iterazioni.

    
risposta data 18.05.2011 - 17:41
fonte
0

È molto importante.

Capisco di frustare qualcosa come una dimostrazione di concetto e poi di lasciarlo stare lì. Va bene. Tuttavia, i clienti non pagheranno nulla di meno di un progetto completato.

La linea di fondo è questa ... Le vendite guidano tutto . Senza vendite non ci sono salari. Senza vendite non ci sono miglioramenti di capitale. Senza vendite non c'è compagnia. 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 di calcio: la zona rossa è l'ultima 20 yard davanti alla linea di porta. È la parte più estenuante di 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.

    
risposta data 17.05.2011 - 14:38
fonte

Leggi altre domande sui tag