J'ai décidé d'apprendre la programmation. J'ai lu SO pendant quelques jours, et je pense que je vais commencer par C++, en lisant certains articles. Je connais un peu les boucles, les tableaux, la logique du programme et les objets et je besoin de quelqu'un pour me regarder et m'aider avec les petites questions que je reçois lors de mes premiers projets.
Voici donc la question - où puis-je trouver un tel gars? Je n'ai pas d'amis qui programment et tout.
EDIT: 2 ans plus tard, je suis toujours à la recherche d'un mentor. Je n'ai pas activement codé juste recommencé 3 mois. Je travaille sur la programmation Objective-C et iOS et la programmation de jeux avec Cocos2d. Si vous souhaitez devenir mon mentor, envoyez-moi un ou un commentaire.
Rejoindre un projet open-source est certainement une façon de commencer. Cependant, j'utilise des logiciels open source depuis des années, et franchement, la qualité de presque tous ces projets est généralement dans les toilettes. Si vous apprenez entièrement leurs compétences en programmation et en conception, vous en prendrez probablement quelques-uns très pauvres avec les bons, sans aucun moyen de faire la différence entre eux.
Que voulez-vous apprendre la programmation pour? La réponse à cela déterminera ce que vous devez rechercher et où. Voici quelques réponses courantes, et mon avis professionnel sur la façon de les poursuivre (gardez à l'esprit que ce est juste opinion, bien qu'à mon humble avis, précis):
Ensuite, vous n'avez pas vraiment besoin d'un mentor, et C++ est un mauvais point de départ. J'adore le C++, c'est mon premier choix pour la programmation générale, mais je joue avec un autre langage à la place. Je suggère Python; il a une courbe d'apprentissage beaucoup plus douce que C++, et contrairement à certains langages (aucun nom mentionné, je n'ai pas porté mes sous-vêtements en amiante aujourd'hui), vous apprendrez toujours quelques compétences utiles au cas où vous voudriez approfondir plus tard. De nombreux concepts peuvent se traduire directement en C++ si vous décidez de continuer sur cette route.
Un projet open source pourrait être suffisant pour cela. Choisissez un programme que vous aimez, mais avec lequel vous avez trouvé des problèmes ou des irritations, et offrez votre aide à celui qui l'exécute. La plupart des projets open source sont ouverts aux contributions, c'est généralement pourquoi ils sont open source en premier lieu.
Cependant, dans ce cas, faites pas essayez C++ comme premier langage de programmation. Il n'est pas difficile de maîtriser les bases, mais C++ est suffisamment bas pour que vous puissiez obtenir des bogues graves et très difficiles à trouver dans vos programmes. À moins que vous ne sachiez déjà que vous aimez la programmation, que vous soyez aussi têtu que le bœuf proverbial ou que vous ayez déjà trouvé un mentor qui peut vous orienter dans la bonne direction, cela tuera tout intérêt naissant que vous pourriez avoir dans le domaine. Voir la réponse ci-dessus à propos de Python, c'est mieux adapté à cela.
(Je ne pense pas que l'OP soit dans cette catégorie, je le mets pour les lecteurs ultérieurs.)
Avez-vous une idée du temps nécessaire pour maîtriser la conception et la mise en œuvre du programme? À titre indicatif, il est mesuré en années. Vous pourriez être en mesure de proposer un design à moitié décent après seulement quelques mois d'études, si vous êtes à la fois intelligent et extrêmement chanceux, mais toute personne ayant peu d'expérience qui doit y travailler (y compris vous, plus tard) le fera souhaite que vous ne soyez jamais né - je parle par expérience. :-) À moins que l'idée ne soit si super secrète que personne d'autre ne puisse la connaître tant qu'elle n'est pas terminée, ne vous embêtez pas. Embauchez un programmeur expérimenté pour le faire pour vous, ou si vous ne pouvez pas vous le permettre mais que vous voulez toujours assez le programme, proposez de vous associer à un - vous gérez le côté commercial et le laissez gérer la partie programmation. La plupart des bons développeurs préféreraient être de la programmation, donc ce type d'offre peut leur valoir la peine.
Alors vous êtes exactement sur la bonne voie. :-) Que ce soit juste comme un hobby ou quelque chose que vous pourriez transformer en carrière plus tard, si vous avez le genre de personnalité qui la trouve infiniment fascinante, la meilleure chose que vous puissiez faire est de vous y plonger. Dans ce cas, le C++ est un langage aussi bon que n'importe quel autre, et un mentor vous aidera certainement (et bien plus que simplement développer vos compétences; il peut devenir solitaire sans amis qui partagent votre passion).
Pour trouver un mentor, ne cherchez pas de mentor. Essayez de vous améliorer de manière spécifique. Si vous travaillez assez dur pour vous améliorer, vous constaterez tous les deux que vous entrez en contact avec des gens partageant les mêmes idées et que vous avez quelque chose en commun avec ces personnes.
Les groupes d'utilisateurs sont l'endroit idéal pour trouver un mentor, mais personne ne veut aider quelqu'un qui est là en pensant "Je cherche un mentor". Mais si vous êtes là en train de penser: "J'adorerais que quelqu'un m'aide à apprendre à écrire de bons tests unitaires JavaScript" ou "J'adorerais m'appairer avec quelqu'un et tester un kata à Clojure", tôt ou tard vous trouverez quelqu'un qui partage vos intérêts et qui est un peu plus loin.
Les types de personnes qui font de très bons mentors ont généralement une douzaine de juniors jappant leur temps à un moment donné. Donc, "trouver" le bon mentor n'est qu'un début, vous devez également rendre le mentorat plus attrayant/gratifiant que le mentorat de quelqu'un d'autre.
La première étape consiste donc à rejoindre des communautés où vous êtes susceptible de rencontrer de bons mentors.
La deuxième étape consiste à devenir un mentoré utile. Certaines choses que je recherche personnellement chez un mentoré sont:
Volonté d'être utile au projet/à la communauté dans laquelle je le/la conseille, en:
Rejoignez un projet open source. Vous n'avez pas nécessairement à programmer pour eux non plus. La plupart des projets aimeraient que quelqu'un l'aide à la documentation. Vous pouvez consulter le code et poser des questions. Lorsque vous vous sentez à l'aise, vous pouvez commencer à écrire du code pour eux.
Qu'attendez-vous d'un mentor? Les suggestions d'un projet open source ou d'un groupe d'utilisateurs local sont conçues pour être plus sur le réseautage et trouver quelqu'un qui est quelques étapes plus loin dans ce que vous voulez être afin qu'ils puissent vous guider d'une manière. Pensez-y comme essayant d'apprendre à cuisiner avec Jamie Oliver ou Gordon Ramsay, cela peut être assez amusant et utile à la fin de la journée.
Selon vos attentes, il peut être facile ou incroyablement difficile de trouver un mentor. Si vous attendez quelqu'un qui peut lire dans vos pensées et vous donner pas à pas les secrets pour être génial dans un an ou moins, ce n'est peut-être pas réaliste. En même temps, si vous voulez trouver quelqu'un qui peut faire certaines choses mieux que vous, ce n'est peut-être pas si difficile à faire. Alors, déterminez d'abord quelles sont vos attentes.
Deuxièmement, maintenant que vous savez ce que vous voulez, vous devez le trouver. Cela peut être assez difficile car ce n'est pas comme s'il y avait beaucoup d'endroits consacrés à la présentation de développeurs utilisant leurs compétences comme nous avons les arts au Canada et aux États-Unis, c'est pourquoi la suggestion a été donnée j'imagine. MentorNet serait un exemple d'un programme qui pourrait fonctionner même si je ne l'ai pas essayé, je l'ai fait des recherches il y a quelque temps et je ne pensais pas que c'était pour moi et ce que je voulais. Une autre pensée ici est de savoir dans quelle mesure vos amis et votre famille savent-ils ce que vous voulez ici? Ils peuvent connaître quelqu'un ou un endroit qui peut vous aider si vous le demandez. Bien que ce ne soit pas une réponse complète, ce que vous demandez est un peu vague et donc j'espère que vous pourrez en ajouter plus, puis je ferai un suivi une fois que vous aurez donné plus de détails sur ce que vous voulez et comment vous le voulez comme ceci. n'est pas Burger King mais nous pourrions essayer de le faire de cette façon.
Les experts en composants côté serveur C++ peuvent être assez difficiles à trouver. Y a-t-il des établissements postsecondaires à proximité? Ceux-ci peuvent avoir quelqu'un qui a ces compétences qui peuvent se transformer en quelque chose d'autre comme une idée possible. Bonne chance pour trouver ce mentor.
Les projets open source sont excellents pour obtenir des commentaires sur du code spécifique que vous avez ajouté et potentiellement sur de nouvelles façons de faire les choses, mais comme vous l'avez compris, cela ne constituera probablement pas une relation de mentor.
Je suggère ce que vous avez déjà mentionné, à savoir les groupes d'utilisateurs. Les groupes d'utilisateurs se réunissent généralement assez fréquemment afin que vous puissiez obtenir du temps réel avec des mentors potentiels. Ce temps de face peut permettre un flux de communication plus rapide et plus facile. Cela garantira-t-il que tout le monde est dans le même domaine? Non, mais vous devez commencer quelque part. Si vous trouvez quelqu'un qui a beaucoup d'expérience, il se peut qu'il puisse encore vous aider avec votre domaine, simplement en fonction d'autres expériences qu'il a vécues.
Étant donné que vous êtes inscrit sur Stack Exchange, vous disposez déjà de nombreux mentors informels. Vous pouvez facilement poser des questions ou faire réviser votre code par de nombreuses personnes motivées à vous aider.
Plus localement, si vous souhaitez un mentorat ou un enseignement en face à face, les meilleures options incluent:
Vous pouvez consulter votre groupe d'utilisateurs Linux local ( ici vous trouverez une liste), généralement la plupart des participants sont des programmeurs - ou au moins des pirates Perl. De plus, si vous leur dites que vous êtes là pour trouver un mentor en programmation, ils vous adoreront.
Un article sur craigslist pourrait valoir la peine d'être essayé, mais je ne parierais pas là-dessus.
De plus, si vous êtes basé en Allemagne, il y a quelques endroits que je peux suggérer en particulier.
je pense que les forums seraient le meilleur moyen de trouver des personnes expertes en la matière. Je pense que vous devriez commencer par là.
Découvrez quelques sites c ++ sur google ou peut-être notre cher ami stackoverflow, où il y a beaucoup de ninjas c ++ prêts à répondre à vos questions!
Si vous travaillez dans une entreprise, vous pouvez y chercher un mentor.
En ce qui concerne un projet open source, je doute que vous trouverez un mentor pour un projet que vous créez, mais vous pourriez en trouver un dans un projet qu'ils ont créé.
N'oubliez pas que le mentor doit également obtenir quelque chose de cet arrangement. Ils passent leur temps précieux à vous aider. Soyez prêt à travailler pour eux en échange.
Apprendre à programmer est une cause ambitieuse et (je pense que tout le monde sur ce sera d'accord) noble. Cependant, il est difficile de recommencer à zéro et d'apprendre, même avec un mentor. Je pense que vous constaterez que prendre au moins quelques cours d'introduction pour vous donner une base sera la meilleure façon de procéder.
Un mentor est une excellente idée, et je ne serais pas ici 15+ ans plus tard en tant que codeur sans le gars qui a posé mes questions à mon premier "vrai" travail, mais en réalité, une seule personne ne pourra pas pour vous donner le temps et les conseils dont vous aurez besoin pour devenir un programmeur performant. Il ou elle aura probablement un emploi à plein temps (ou une charge de cours) lui-même. Cela ne veut pas dire que vous ne devriez pas trouver de mentor (ou de mentors), mais simplement que vous aurez également besoin d'autre chose.
Des sites comme celui-ci, des tutoriels en ligne, des livres et tout le reste sont des pièces du puzzle. L'éducation constitue les pièces frontalières.
Cela ne vise pas à vous décourager; au contraire, je pense que fixer des attentes réalistes vous donnera une meilleure chance de succès.
"Comment puis-je trouver un prodige de la programmation? C'est tout ce que je veux. Je veux juste construire une armée de robots massive pour conquérir le monde. Je suis intelligent et j'ai écrit l'IA. J'ai l'argent, l'influence, Je ne peux pas être gêné de faire face à cette folie idiote .NET ou JVM ... Hmm ... Comment ... Comment !? Merde! "
Normalement, je n'expliquerais pas cela, mais nous sommes sur Stack. Certains l'aiment littéralement. Vous en trouvez un (un mentor), en étant utile. Vous pouvez être utile, en résolvant les problèmes que les enfants avec l'expérience (ou - peut-être - le cerveau - ou (heh) l'argent) ne veulent pas résoudre.
Résolvez ces problèmes Grasshopper.
Ou pas. C'est l'ère de l'information. DIY mon ami. Regardez des communautés comme Stack pour vous dire quand vous êtes stupide ou sage à propos de quelque chose lié au code ou quelque chose que nous n'obtenons pas aussi facilement comme les machinations de cet investisseur qui est prêt à vous défoncer, puis certains.
Et partagez ce que vous savez. Participez un peu au collectif une fois que vous avez trouvé votre groove. Ce n'est pas de la forge dans les années 1700. Vos parents n'avaient à connaître personne (bien que tout le monde apprécie certainement que vous ne vous fassiez pas de connaissances artisanales et que vous ne les partagiez pas avec la guilde).
Vous décidez simplement que vous êtes intéressé et vous partez. Ça donne du pouvoir quand ça s'enfonce. Ça prend du temps (je sais) mais croyez-moi (ne serait-ce que sur ce point apparemment absurde - il m'a fallu plus de dix ans pour réaliser que oui, j'étais un programmeur effrayant), tout ça ce qui compte vraiment, c'est que vous ayez le niveau de base de talent et que vous soyez réellement intéressé. Si vous ne l'êtes pas, merci! @ # $ Off et trouvez quelque chose qui vous intéresse.
Parce que la programmation/l'écriture de scripts/le codage est un choix horrible sinon. Mais je ne veux pas laisser cela sur un point négatif et désagréable. Si vous êtes intéressé, ne vous inquiétez pas de votre qualité. Poser des questions. Exigez des réponses. Supportez des sacs de gaz/douche à longue haleine comme moi. Vous y arriverez si vous le souhaitez.
Aimez-vous les puzzles? Aimez-vous résoudre des problèmes arbitraires aléatoires? Aimez-vous les films de gladiateurs? Sans équivoque sur les deux premiers points, oui? Ne cherchez pas de mentor. Apprenez très bien une langue, apprenez-en une ou deux autres qui ne sont pas trop similaires à votre première langue au point de bien entrer au niveau des compétences, lisez quelques livres et avez des opinions. Profitez de les avoir mis au défi et de les modifier de temps en temps, ne serait-ce que pour voir si vous ne vous trompiez pas totalement. Vous pourriez être surpris de voir combien de fois votre instinct n'était pas si mauvais. Demandez aux gens de sortir et de vous gifler pour avoir posé la mauvaise question et vous découvrirez peut-être mieux que la plupart des personnes qui se présentent à cette occasion. Mais surtout, c'est un problème à résoudre. Résoudre.