Intéressé par un million de choses, avoir un million d'objectifs: comment choisir sur quoi se concentrer [fermé]

19

Je travaille actuellement en tant que développeur d'applications Web utilisant les technologies .NET. Je suis intéressé à en savoir plus sur les technologies avec lesquelles je travaille, mais je suis également intéressé par un million d'autres choses ... (y compris la programmation de systèmes, le réseautage, le développement de jeux, le développement mobile, les sujets informatiques, les mathématiques, la participation à un Open Projet source, création de ma propre entreprise, etc.).

Je n'arrive pas à me concentrer sur une chose pour devenir un `` expert '' quand il y a tant d' autres choses à `` maîtriser '' qui attirent mon attention, et il n'y a que tant d'heures dans la journée ...

Ma question est, quelles sont les bonnes stratégies pour arrêter de tergiverser et gérer le temps efficacement, afin que vous puissiez tirer le meilleur parti de votre temps libre et apprendre ce qui vous intéresse, tout en ne perdant pas de vue les autres priorités et en laissant tomber les autres intérêts les fissures? Ou dois-je sacrifier, et si oui, comment puis-je hiérarchiser ce que je dois sacrifier?

donnovan9
la source
Désolé, j'ai modifié pour essayer de clarifier la question posée.
donnovan9
Salut Konrad, votre question est vraiment longue, et il y a beaucoup de choses que les gens considéreraient comme "délirante". Je sais que c'est une demande quelque peu ironique compte tenu de la question, mais pouvez-vous distiller et concentrer votre question sur quelques points clés et saillants qui sont nécessaires pour répondre à une question spécifique et résoluble? Sinon, votre question risque d'être fermée comme étant plus délirante que la question.
Bien sûr ... mieux? C'est définitivement ironique haha
donnovan9
7
Je pense que c'est une question intéressante ... Et je suis sérieux!
Sal
3
Ce n'est pas la même question, mais certaines des réponses peuvent vous intéresser: programmers.stackexchange.com/questions/16708/…
Benjol

Réponses:

4

Trouvez des zones dans les champs que vous souhaitez apprendre avec chevauchement. Vous ne le pensez peut-être pas intuitivement, mais la programmation des systèmes et la programmation des jeux peuvent être très similaires. Surtout quand il s'agit d'accélérer le matériel.

Un autre exemple, si vous consacrez 10 heures ou plus par semaine à la création d'une start-up qui développe un jeu mobile multijoueur, vous avez inclus le développement Mobile, Game and Network ainsi que le démarrage de votre propre entreprise. Trouvez une bonne bibliothèque Open Source qui constituera une partie importante de votre projet et contribuez à la développer davantage afin de vous lancer et de vous familiariser avec votre framework.

Essayez de suivre le principe KISS non seulement dans la programmation mais aussi dans la vie :) Consolidez-vous et faites-vous acquérir des compétences plus réutilisables. Dans ma situation, je développe généralement des logiciels internes pour exécuter les tâches quotidiennes d'une entreprise, suivre les données, etc. Pendant mes temps libres, je travaille sur un moteur de jeu.

Les deux ont d'énormes quantités de données qui doivent être acheminées via des canaux complexes. Les deux bénéficient d'optimisations et utilisent les bases de données, la mise en réseau, le cache et la «précision intelligente» entre autres. J'ai appris de chaque côté comment augmenter les performances et la qualité de l'autre.

Mon conseil est de trouver le meilleur ensemble de tâches en gardant à l'esprit ce qui vous tient le plus à cœur, puis, de près, la qualité de leur interconnexion.

Garet Claborn
la source
1
C'est exactement dans la ligne de ce que je cherchais! Je suppose que l'astuce consiste maintenant à proposer un projet qui présente ces chevauchements. J'aime l'idée de créer un jeu précisément parce qu'il implique tellement de compétences différentes et qui se chevauchent, sans parler, avoir terminé un simple jeu de «pong» me donnerait un sentiment de confiance et de bien-être suprême - c'est quelque chose que j'ai été retarder pendant un certain temps. Un moteur de jeu est également une excellente idée, car il devient un point de lancement pour de futurs projets, et quelque chose que je peux construire et développer. Truc cool!
donnovan9
1
Un moteur agréable et jus est un énorme défi qui a mis mes compétences à rude épreuve! Éloigne le caractère obsolète du code de mon travail de jour :) ... + 1 pour le bien-être suprême
Garet Claborn
1
+ 1 pour "moteur juteux"
donnovan9
> _ <; mal orthographié juteux ~~ J'espère voir votre jeu quand il sortira = P
Garet Claborn
7

Ouais, je pensais comme toi. Je voulais pouvoir faire un jeu. Je répondrais alors "non! Je veux créer une application web!" alors je dirai "non! Je veux maîtriser Unix!" Et ce cycle entier de «non, je veux ceci, non je veux cela» n'a jamais cessé.

Voici donc une réponse courte à toutes ces questions: respectez ce que vous avez à portée de main .


Voici donc une histoire

J'ai toujours voulu construire des programmes en général. Peu importait quoi; Je voulais juste construire quelque chose . En fin de compte, la meilleure façon dont j'ai réussi à avancer dans ma vie était d'essayer de faire quelque chose en utilisant un outil dont j'entends parler. Si j'échouais entièrement, je passerais à autre chose.

Et c'est ainsi que je me suis lancé dans la programmation de jeux.

Tout a commencé avec Visual C # Express présenté sur la page d'accueil de Microsoft.com. L'EDI entier était ouvertement disponible juste en face de moi, donc j'ai cliqué sur le lien de téléchargement et j'ai commencé tout de suite. J'ai regardé des didacticiels vidéo, écrit beaucoup de code et là, j'étais prêt.

C'est alors que j'ai commencé à aller à gauche et à droite pour trouver quelque chose à faire. J'aurais pu créer une application Windows Forms, ou j'aurais pu créer un site Web. Ensuite, je penserais aux fonctionnalités que je pourrais inclure dans mes projets, mais je ne procéderai jamais à la construction de quelque chose. Je n'étais simplement pas assez motivé.

Ce n'est que lorsque le fil de nouvelles MSDN dans Visual Studio a annoncé la sortie d'un cadre gratuit pour intégrer votre jeu. C'était XNA Game Studio Express v1.0! J'ai commencé tout de suite. J'ai construit quelques petits jeux ici et là.

Mais voici le hic: je me sentais plus motivé à travailler sur un jeu qui me venait à l'esprit que ceux pour lesquels il fallait vraiment réfléchir. J'ai eu une bonne idée de construire un jeu de serpents en 3D, j'ai travaillé dessus pendant deux jours d'affilée - tout en prenant des pauses bien sûr - et le tour est joué! Un très beau jeu qui fonctionne!

Et quand il s'agissait de ces jeux où ma seule intention était d'impressionner mes amis. Je travaillais dessus pendant deux ou trois heures, j'abandonnais et je ne le regardais plus jamais. En fait, je ne l'ai pas examiné depuis au moins deux ans.

Voici donc la morale de l'histoire: laissez l'inspiration vous guider. Ne vous forcez pas à faire quelque chose . Si vous souhaitez créer une application Web, vous voudrez peut-être envisager de résoudre un problème qui vous a toujours dérangé . Si vous voulez créer un jeu, je vous suggère de regarder les petites choses de la vie que vous avez trouvées "amusantes". Encore une fois, tout se résume à l'inspiration.

J'espère que ça aide.

Sal
la source
1
+1 car ce n'est pas la technologie en soi qui est vraiment intéressante, mais la réalisation des vraies idées de quelqu'un (des rêves si vous le souhaitez) et la résolution de vrais problèmes avec.
Péter Török
Merci, c'est un merveilleux conseil et un bon point. Parfois, je mélange ce que je «veux» faire avec ce que je sens que je «devrais» faire - mais si j'ai un projet inspirant sur lequel se concentrer, il devrait devenir clair ce que je dois apprendre ensuite pour faire avancer le projet. . Le seul problème qui reste, je suppose, est mon désir de comprendre comment d'autres choses fonctionnent qui ne relèvent pas nécessairement de la portée du projet. Il serait difficile de trouver un projet à la fois inspirant ET utilisant tous les sujets que j'ai mentionnés dans le post - mais j'ai le sentiment que je peux m'en approcher :)
donnovan9
2

Je suggère de faire un joli projet sur le côté. Trouvez quelque chose de cool que vous aimeriez construire, mais n'avez aucune idée de la façon d'aborder - peut-être un jeu ou un langage de programmation ou ...

Au lieu de choisir un sujet et de l'apprendre, découvrez ce dont vous avez besoin pour atteindre le prochain jalon de votre projet.

D'après mon expérience, cela concentre votre apprentissage tout en vous assurant qu'il est complet. Vous apprenez uniquement les sujets dont vous avez besoin pour terminer votre projet, mais (tant que vous terminez réellement le projet) vous les apprenez assez bien . Le meilleur est que les projets non triviaux ont tendance à couvrir une grande variété de sujets, vous ne deviendrez donc pas trop spécialisé non plus.

À la toute fin, non seulement vous aurez appris des choses (parfois pas les choses que vous vous attendiez à apprendre, même!), Mais vous aurez quelque chose de brillant à montrer pour vos efforts.

Tikhon Jelvis
la source
Très bon conseil. J'ai souvent tendance à me concentrer sur la «finition du livre technique» en tant que projet afin de jeter les bases pour créer quelque chose «un jour», mais maintenant je commence à voir à quel point cette approche est défectueuse: progrès lents, mauvaise rétention des connaissances et rien à montrer! L'inverse semble plus attrayant: commencez par un projet, puis ALLEZ frapper le livre technique avec soif de résoudre le prochain défi de votre projet.
donnovan9
0

Eh bien, votre situation est compréhensible. Arrive aux débutants. Eh bien, votre travail actuel décidera à peu près de ce qui se passera dans le reste de votre vie. Il sera difficile (lu presque impossible) de passer à une autre ligne telle que la programmation de systèmes plus vous travaillez longtemps dans votre ligne actuelle. Si vous souhaitez changer, faites-le dans 2 ans. Vous pouvez suivre vos autres intérêts sur le côté. Recherchez des projets dans sourceforge.

DPD
la source
-1

On dirait que ça va prendre plusieurs années. Apprenez Unix, il ne deviendra pas obsolète.

Christopher Mahan
la source
Oui, cela fait partie du problème ... les technologies vont et viennent, alors je commence à transpirer sur le fait que Silverlight 5 sort et je n'ai pas encore fini ce livre sur Silverlight 3 ... par exemple
donnovan9
et Unix est également sur la liste;)
donnovan9
@Konrad - Si vous ne pouvez pas décider et ne pouvez pas suivre, alors il serait sage de choisir les voies technologiques qui changent "plus lentement" pour le dire, comme * nix, Perl, C, Fortran ... qui ont une histoire et ne manqueront pas d'être ici d'ici quelque temps. Le problème avec les nouvelles technologies est qu'elles brûlent trop vite et à moins que vous ne vous concentriez uniquement sur elles, le plus souvent vous ne pouvez pas simplement suivre.
Tour
Intéressant ... Je me débrouille bien avec ce que je dois faire au travail, au moins ... juste dépassé par les choix de ce que j'apprends pendant mon temps libre. Pourtant, j'aime l'idée de trouver un contraste en travaillant davantage sur quelque chose comme les systèmes d'exploitation internes ou la mise en réseau pendant mon temps libre (qui change également plus lentement). Je reste cependant à vouloir en faire plus.
donnovan9