Interessato a un milione di cose, ha un milione di obiettivi: come scegliere su cosa concentrarsi [chiuso]


19

Attualmente sto lavorando come sviluppatore di applicazioni Web utilizzando .NET Technologies. Sono interessato a saperne di più sulle tecnologie con cui lavoro, ma sono anche interessato a un milione di altre cose ... (tra cui programmazione di sistemi, reti, sviluppo di giochi, sviluppo mobile, argomenti di informatica, matematica, partecipazione a un Open Progetto sorgente, avvio attività in proprio, ecc.).

Non riesco a concentrarmi su una cosa per diventare un "esperto" quando ci sono così tante altre cose da "padroneggiare" che attirano la mia attenzione, e ci sono solo così tante ore al giorno ...

La mia domanda è: quali sono alcune buone strategie per smettere di procrastinare e gestire il tempo in modo efficace, in modo da poter ottenere il massimo dal tuo tempo libero e imparare ciò che ti interessa, senza perdere di vista altre priorità e lasciando che altri interessi cadano le crepe? O devo sacrificare, e in tal caso, come posso dare priorità a cosa sacrificare?


Siamo spiacenti, ho modificato per provare a chiarire la domanda.
donnovan9,

Ciao Konrad, la tua domanda è davvero lunga e ci sono molte cose che la gente considererebbe "ranty". So che questa è una richiesta un po 'ironica, ma puoi distillare e focalizzare la tua domanda su alcuni punti chiave e salienti necessari per rispondere a una domanda specifica e risolvibile? Altrimenti, la tua domanda corre il rischio di essere chiusa come più rant di una domanda.

Sicuro ... meglio? È decisamente ironico haha
donnovan9,

7
Penso che questa sia una domanda interessante ... E io sono serio!
Sal

3
Non è la stessa domanda, ma alcune delle risposte potrebbero interessarti: programmers.stackexchange.com/questions/16708/…
Benjol,

Risposte:


4

Trova le aree all'interno dei campi che vuoi imparare con la sovrapposizione. Potresti non pensarlo intuitivamente, ma la programmazione dei sistemi e la programmazione dei giochi possono essere molto simili. Soprattutto quando si tratta di accelerare l'hardware.

Un altro esempio, se dedichi almeno 10 ore settimanali alla creazione di una startup che sviluppa un gioco multiplayer per dispositivi mobili, hai incluso lo sviluppo di dispositivi mobili, giochi e reti insieme all'avvio della tua azienda. Trova una buona libreria Open Source che sarà una parte importante del tuo progetto e aiutala a svilupparlo ulteriormente come un modo per andare avanti e familiarizzare con il tuo framework.

Cerca di seguire il principio KISS non solo nella programmazione ma anche nella vita :) Consolida e fatti acquisire abilità più riutilizzabili. Nella mia situazione, di solito sto sviluppando un software interno per eseguire attività quotidiane di un'azienda, tenere traccia dei dati, ecc. Nel mio tempo libero sto lavorando su un motore di gioco.

Entrambi hanno enormi quantità di dati che devono essere instradati attraverso canali complessi. Entrambi beneficiano di ottimizzazioni ed entrambi utilizzano database, reti, cache e "precisione intelligente" tra molte altre cose. Ho imparato da entrambe le parti come aumentare le prestazioni e la qualità nell'altra.

Il mio consiglio è di trovare la migliore serie di compiti tenendo presente ciò che ti interessa di più e poi, un secondo vicino, quanto bene si collegano.


1
Questo è esattamente sulla falsariga di quello che stavo cercando! Immagino che il trucco ora sia inventare un progetto che abbia queste sovrapposizioni. Mi piace l'idea di creare un gioco proprio perché coinvolge così tante abilità diverse e sovrapposte, per non parlare del fatto che aver completato un semplice gioco "pong" mi darebbe un senso di fiducia e benessere supremo - è qualcosa che sono stato rimandare per un po '. Un motore di gioco è anche una grande idea, in quanto diventa un punto di partenza per progetti futuri e qualcosa su cui posso costruire ed espandere. Roba forte!
donnovan9,

1
Un motore piacevole e succoso è una grande sfida che ha ampliato le mie capacità! Mantiene la staleness del mio codice di lavoro giornaliero :) ... + 1 per il massimo benessere
Garet Claborn,

1
+ 1 per "motore succoso"
donnovan9,

> _ <; errato succoso ~~ Spero di vedere il tuo gioco quando esce = P
Garet Claborn,

7

Sì, pensavo proprio come te. Volevo essere in grado di fare un gioco. Poi vorrei andare "no! Voglio creare un'app Web!" allora dirò "no! Voglio padroneggiare Unix!" E questo intero ciclo di "no lo voglio, no lo voglio" non è mai cessato.

Quindi, ecco una breve risposta a tutto: attenersi a fare ciò che è a portata di mano .


Quindi ecco una storia

Ho sempre voluto costruire programmi in generale. Non importava cosa; Volevo solo costruire qualcosa . Alla fine, il modo migliore in cui sono riuscito ad andare avanti con la mia vita era semplicemente provare a fare qualcosa usando uno strumento di cui "sento" parlare. Se avessi fallito del tutto, passerei a qualcos'altro.

Ed è così che sono entrato nella programmazione del gioco.

Tutto è iniziato con Visual C # Express in mostra sulla home page di Microsoft.com. L'intero IDE era palesemente disponibile proprio di fronte a me, quindi ho fatto clic sul link per il download e l'ho iniziato subito. Ho visto video tutorial, scritto molto codice e lì sono stato impostato.

Fu allora che iniziai a sinistra ea destra per trovare qualcosa da fare. Avrei potuto creare un'applicazione Windows Form o avrei potuto creare un sito Web. Quindi penserei a funzionalità che potrei includere nei miei progetti, ma non procederò mai a costruire qualcosa. Non ero abbastanza motivato.

Non è stato fino a quando il feed di notizie MSDN in Visual Studio ha annunciato il rilascio di un framework gratuito su cui caricare il tuo gioco. Era XNA Game Studio Express v1.0! Ho iniziato subito. Ho creato alcuni piccoli giochi qua e là.

Ma ecco il trucco: mi sono sentito più motivato a lavorare su un gioco che mi è saltato in testa, rispetto a quelli per cui ho dovuto pensare molto. Ho avuto una grande idea di costruire un gioco di serpenti in 3d, ci ho lavorato due giorni di fila - ovviamente facendo delle pause - e voilà! Un gioco molto bello che funziona!

E quando sarebbe arrivato a quei giochi in cui la mia unica intenzione era quella di impressionare i miei amici. Ci lavorerei per due o tre ore e mi arrenderei, senza mai più guardarlo. In effetti, non lo guardo da almeno due anni.

Ecco quindi la morale della storia: lasciati guidare dall'ispirazione. Non forzarti a fare qualcosa . Se vuoi creare una webapp, forse potresti considerare di risolvere un problema che ti ha sempre infastidito . Se vuoi creare un gioco, ti suggerisco di guardare le piccole cose che hai trovato "divertenti" nella vita. Ancora una volta, tutto si riduce all'ispirazione.

Spero che aiuti.


1
+1 perché non è la tecnologia in sé ciò che è veramente interessante, ma soddisfare le vere idee di qualcuno (sogni se lo desideri) e risolvere problemi reali con esso.
Péter Török,

Grazie, questo è un consiglio meraviglioso e un buon punto. A volte confondo ciò che "voglio" fare con ciò che sento di "dover" fare - ma se ho un progetto stimolante su cui concentrarmi, dovrebbe diventare chiaro cosa devo imparare dopo per far avanzare il progetto . L'unico problema che rimane, immagino, è il mio desiderio di capire come funzionano le altre cose che non rientrano necessariamente nell'ambito del progetto. Sarebbe difficile elaborare un progetto che sia stimolante E utilizzi tutti gli argomenti che ho citato nel post - ma ho la sensazione di poter avvicinarmi :)
donnovan9,

2

Suggerisco di fare un bel progetto sul lato. Trova qualcosa di interessante che vorresti costruire, ma non hai idea di come affrontare - forse un gioco o un linguaggio di programmazione o ...

Invece di scegliere un argomento e apprenderlo, scopri cosa ti serve per raggiungere il prossimo traguardo sul tuo progetto.

Nella mia esperienza, questo focalizza il tuo apprendimento garantendo al contempo che sia completo. Impari solo le materie di cui hai bisogno per completare il tuo progetto, ma (finché finisci effettivamente il progetto) le impari abbastanza bene . La cosa migliore è che i progetti non banali tendono a coprire un'ampia varietà di argomenti, quindi non diventerai troppo specializzato.

Alla fine, non solo avrai imparato cose (a volte non le cose che ti aspettavi di imparare, anche!), Ma avrai qualcosa di brillante da mostrare per i tuoi sforzi.


Ottimo consiglio Tendo spesso a concentrarmi sul "completamento del libro tecnico" come progetto, al fine di creare le basi per creare qualcosa di "un giorno", ma ora sto cominciando a vedere quanto questo approccio sia imperfetto: progressi lenti, scarsa conservazione della conoscenza e niente da mostrare per questo! Il contrario sembra più allettante: inizia con un progetto e ALLORA ha colpito il libro della tecnologia con sete di risolvere la prossima sfida nel tuo progetto.
donnovan9,

0

Bene, la tua situazione è comprensibile. Succede ai neofiti. Bene, il tuo attuale lavoro deciderà praticamente cosa farà nel resto della tua vita. Sarà difficile (leggi quasi impossibile) passare a un'altra linea come la programmazione di Sistemi più a lungo lavori nella tua linea corrente. Se desideri cambiare, fallo tra 2 anni. Puoi dare seguito agli altri tuoi interessi sul lato. Cerca progetti in sourceforge.


-1

Sembra che ci vorranno molti anni. Impara Unix, non diventerà obsoleto.


Sì, questo è parte del problema ... le tecnologie vanno e vengono, quindi inizio a sudare per il fatto che Silverlight 5 sta uscendo e non ho ancora finito quel libro su Silverlight 3 ... ad esempio
donnovan9,

e Unix è anche nella lista;)
donnovan9,

@Konrad - Se non riesci a decidere e non riesci a tenere il passo, sarebbe saggio scegliere quei percorsi tecnologici che cambiano "più lentamente" per dirla, come * nix, Perl, C, Fortran ... che hanno una storia e sono destinati a essere qui tra qualche tempo. Il problema con le nuove tecnologie è che si esauriscono troppo velocemente e, a meno che non ti concentri esclusivamente su di esse, il più delle volte non riesci a tenere il passo.
Torre del

Interessante ... Sto tenendo il passo con quello che devo fare sul lavoro, almeno ... solo sopraffatto dalle scelte di cosa imparare nel mio tempo libero. Tuttavia, mi piace l'idea di creare un contrasto lavorando di più su qualcosa come gli interni del sistema operativo o il networking nel mio tempo libero (che cambiano anche più lentamente). Tuttavia, mi viene ancora voglia di fare di più.
donnovan9,
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.