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?
la source
Réponses:
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.
la source
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.
la source
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.
la source
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.
la source
On dirait que ça va prendre plusieurs années. Apprenez Unix, il ne deviendra pas obsolète.
la source