Un programmeur professionnel à temps plein peut faire un excellent travail en apprenant continuellement de son travail. Comment un programmeur amateur peut-il s'entraîner à devenir un bon programmeur?
** Si vous aimez jouer de la musique ou chanter, vous pouvez le faire parce que c'est votre passe-temps et que cela vous intéresse, et vous pouvez devenir un bon chanteur ou un bon lecteur de musique. Mais vous n'avez pas besoin de devenir un chanteur professionnel ou de chanter pour gagner sa vie. Est-ce aussi vrai pour les programmeurs? Un programmeur amateur qui est célèbre?
Réponses:
La clé pour devenir vraiment bon est de travailler dans une bonne équipe. Beaucoup d'amateurs travaillent seuls, alors ils ne vont que très loin. Dans une équipe, vous apprenez des autres et vous devenez discipliné parce que vos pairs vont vous frapper avec tout ce qui vous sera utile autrement.
Pour cette raison, je vous propose de rejoindre une équipe, par exemple un projet open source, ou de créer un projet de loisir avec des amis.
la source
Pour devenir un bon programmeur, le chemin est le même que pour chanter ou jouer de la musique: pratique, pratique, pratique. Si vous passez suffisamment de temps à développer des logiciels régulièrement pendant plusieurs années, il y a de fortes chances que vous y arriviez bien, que ce soit en dehors ou en dehors des heures de travail.
Désormais, outre le fait de passer plus de temps à pratiquer, il existe une autre raison pour laquelle les professionnels deviennent généralement meilleurs que les amateurs dans un certain sens (en musique comme en programmation). Si vous êtes un professionnel, vous devez effectuer des tâches qui ne vous plaisent pas forcément, mais qui appartiennent au travail plus général de développement de logiciels (par exemple, tests, discussions avec des clients, rédaction de documentation, configuration d'un environnement de développement / développement, rédaction de scripts de construction, etc. ). Et de temps en temps, vous êtes également pressé d’entrer dans des domaines inconnus, d’apprendre de nouvelles langues ou de nouvelles plateformes. En tant qu'amateur, vous n'êtes pas obligé de faire ce que vous ne voulez pas, ce qui vous laisse susceptible de rester dans votre zone de confort pendant la plus grande partie de votre vie. En d’autres termes, vous pouvez facilement vous limiter à un ou plusieurs domaines spécifiques qui vous tiennent à cœur,
De nombreux développeurs professionnels tombent également dans le même sac, restant dans la même entreprise et effectuant le même travail de routine, n’apprenant pratiquement rien de nouveau depuis des décennies ... La clé pour devenir meilleur est donc votre attitude. Si vous continuez à apprendre et recherchez consciemment les opportunités de sortir de votre zone de confort vers un nouveau territoire inconnu, vous finirez par surpasser ces essaims de "professionnels" qui fossilisent lentement. Un bon moyen d'y parvenir peut être de contribuer à certains projets open source.
Une lecture recommandée est The Pragmatic Programmer: De compagnon à maître , avec de nombreux conseils judicieux et très pratiques sur la manière de continuer à devenir meilleur.
la source
Vous devenez meilleur en apprenant, ce qui fait partie de faire, de réfléchir à ce qui a été fait.
Donc, fondamentalement, il n'y a pas de différence entre amateur et professionnel, mais les "pièges" sont disposés un peu différemment.
Les pièges amateurs sont, à mon humble avis
quoi qu'il en soit, la nécessité de terminer votre projet n'est pas aussi forte lorsque vous n'êtes pas professionnel . Cela peut être une bonne chose, parce que vous ne vous habituerez pas à couper les moindres détails en matière de qualité, mais finir (en tout cas, c'est encore mieux) est une compétence très importante, qui est plus difficile à entraîner en amateur, car il est facile de laisser un projet mourir et d’en démarrer un autre.
le besoin de bien communiquer n'est pas aussi fort. Sur un projet professionnel, il existe une forte incitation à vraiment comprendre les clients, même s'ils sont totalement incapables de former une phrase cohérente du problème qu’ils veulent que vous résolviez. Si vous les comprenez mal, ou (dans le cas habituel), ne remarquez pas qu'ils ne parlent pas de quelque chose que vous devez comprendre, cela deviendra votre problème, tôt ou tard. Un projet amateur peut facilement perdre tous les utilisateurs potentiels, du fait de ne pas résoudre leurs problèmes, et être "fini" de manière technique.
Les pièges professionnels sont
il y a souvent peu de motivation pour aller mieux . Vous y restez 40 heures par semaine, que vous trouviez un remède contre le cancer ou que vous buviez du café d'une manière qui semble productive. L’apprentissage est une tâche que vous accomplissez principalement pour vous-même et, souvent, si vous essayez d’appliquer ce que vous avez appris, certaines forces s’opposent à cela (pensée de groupe conservatrice, hiérarchies, voire guide-styles peuvent être utilisés pour vaincre les améliorations). Pour la profession, il faut beaucoup d’amour pour ne pas abandonner, réduire vos heures et chercher d’autres objectifs dans la vie.
il y a souvent peu à apprendre . Oui, on PEUT essayer de prendre tout comme un défi, mais il faut être honnête: après 1 an du code Spaghetti, vous n'êtes plus autorisé à refactoriser ("vous le compliquez!") Dans une langue dont vous avez plus d'années d’expérience, il n’apprend que la tolérance vis-à-vis de la frustration et de la politique d’entreprise.
Vous n’avez bien sûr pas besoin de le faire, mais combien de musiciens refuseraient une occasion de quitter leur emploi et de gagner de l’argent avec leur musique?
En informatique, ces opportunités sont un peu plus probables qu'en musique, donc je pense que ce n'est pas qu'il soit impossible de devenir un amateur célèbre, mais souvent, les amateurs font de leur passion leur métier (avec des problèmes similaires comprendre leur ligne entre le commerce et l'art)
la source
Je crains qu'il n'y ait plus de possibilités d'apprentissage pour les amateurs que pour les drones d'entreprise à temps plein. En tant qu'amateur, vous n'êtes pas confiné dans une technologie, un environnement, une conception et une méthodologie de développement donnés. Vous pouvez faire tout ce que vous trouvez utile pour votre développement personnel. En tant que développeur à plein temps, vous travaillerez probablement sur le même produit pendant des années, en suivant la même procédure, dans les limites des mêmes directives d'entreprise. Pour la plupart d'entre nous, ce n'est rien d'autre qu'une stagnation. Un peu peut être appris dans un environnement d'entreprise, une fois que vous êtes familiarisé avec les bases communes.
C'est la raison pour laquelle de nombreux développeurs à temps plein sont aussi des amateurs, ils continuent à coder après le travail, ils jouent avec leurs propres projets de jouets - c'est un peu de liberté nécessaire à la croissance.
la source
En tant que programmeur amateur, vous disposez de nombreuses possibilités pour améliorer vos compétences. J'ai fait ce qui suit pour améliorer mes compétences tout en étudiant en génie logiciel.
Bien sûr, vous devez également appliquer vos connaissances. Faites-le par le biais d'un stage, d'un projet avec des amis ou d'un cours. Il existe de nombreuses façons de s’améliorer, il suffit d’être disposé à investir son temps libre. Amusez -vous aussi à apprendre quelque chose de nouveau !
la source
Oui, c'est possible , mais cela prend du temps:
Encore de la même source :
la source
En tant qu'amateur, vous avez plus d'options que de nombreux professionnels pour rechercher de meilleures pratiques. Les professionnels sont souvent sous pression pour "simplement y arriver".
Je n'ai pas vu de cours tels que ceux sur lesquels j'ai appris la programmation, mais j'ai tiré des enseignements de courts cours gratuits (1 à 3 heures) présentés par l'université que je suivais. Ils étaient destinés à permettre aux gens d'affaires de comprendre le code écrit pour eux. Les cours présentaient un code très bien écrit (commentaires inclus) qui résolvait un problème commun de la vie réelle. Le code a ensuite été passé en revue avec une explication des caractéristiques linguistiques et de leur utilisation telle quelle. Aucun des cours de langue complets que j'ai vus n'entraîne un code proche de la qualité de ce que j'ai appris grâce à ce cours. C'était quelques années avant que je passe à l'étude en informatique.
Internet et la bibliothèque fournissent de nombreuses ressources et exemples. Je trouve que beaucoup d'exemples ne sont pas très bons à autre chose que de réussir. Lorsque vous regardez des exemples, regardez d'abord le code. Pouvez-vous comprendre le but et la structure sans explication? Si oui, vous avez peut-être trouvé un bon exemple.
Quelques pratiques clés que vous devriez apprendre et appliquer:
la source
Pas du tout. C'est du génie logiciel . Ce n'est pas basé sur le "talent naturel". Être un bon programmeur est basé sur des années d'éducation et d'expérience . Vous ne faites que travailler sur de vrais projets .
la source
Lors des entretiens d'embauche, je suis allé (du côté de l'employeur), j'ai toujours demandé des choses que l'enquêté programmait en tant qu'amateur (à l'exception des devoirs d'école). passion d'apprendre par soi-même. Ce n'est pas seulement possible, c'est presque une exigence pour devenir bon.
la source
C'est possible? Oui. Cependant, plus vous passez de temps à programmer, plus vous avez de temps pour vous améliorer. Il a été dit qu'il faut 10 ans / 10 000 heures de pratique délibérative pour développer une expertise technique. Ce n'est pas 10 000 heures de codage identique dans votre zone de confort (par exemple, l'écriture de code jQuery simple pour différents sites Web), mais 10 000 heures d'apprentissage / de lecture sur la programmation / la lecture de code source / l'écriture de code source / l'apprentissage d'autres langues / travailler avec les autres, etc.
Si vous allez y consacrer autant de temps; vous pourriez aussi bien obtenir un emploi de programmeur et abandonner le statut d’amateur. (Sauf si vous êtes indépendamment riche).
la source
Tout le monde est amateur à un moment donné. Si vous voulez devenir un bon programmeur et que vous aimez le faire, vous le ferez. La clé est la programmation par vous-même. L'école ne t'apprendra presque rien. La plupart de vos apprentissages se feront seuls et au travail. Si vous voulez être bon, allez-y bien.
la source
Étant donné le
véritablesens original du mot ( amateur français "amoureux de", de l'ancien français et finalement du latin amatorem nom. amator , "amoureux" - Wikipedia), on voudrait croire qu'un grand nombre de professionnels sont aussi des amateurs. Si vous n'aimiez pas votre métier, le pratiqueriez-vous?Bien sûr, c'est possible - si vous aimez programmer, vous le pratiquez et, avec le temps, vous y arriverez bien. (Peut-être jamais génial, vu les talents personnels ou le manque de talent), mais au moins bon
la source
Je ne sais pas ce qui définit un bon programmeur. Mais apprendre quelque chose qui leur est propre et travailler avec un groupe de personnes est quelque chose de différent. Les programmeurs amateurs passionnés aiment vraiment apprendre de nouvelles choses et le piratage. Il y avait ils trouvent des choses plus intéressantes. Mais travailler avec un groupe de personnes est légèrement un acte discipliné dans le cadre duquel vous collaborez, communiquez, partagez / obtenez des informations auprès d'experts dans ce domaine.
Mais acquérir des connaissances n’est qu’une question de passion. Il y a des gens qui ont passé la nuit à apprendre par eux-mêmes et ont fini par apporter quelque chose de nouveau au monde, comme Bill G Mark Zuck, etc. On ne peut pas comparer facilement. mais si vous voulez être un meilleur ingénieur logiciel (je n'appellerai pas le programmeur), rejoignez une entreprise ou travaillez pour de bons produits utilisés par d'autres.
Enfin, lisez beaucoup pour améliorer vos compétences, votre attitude, les mises à jour de l'industrie, développer votre goût et partir avec passion. Les choses vont facilement vous suivre!
la source
A la question, "est-ce que des programmeurs amateurs sont devenus célèbres?" La réponse est "Oui, mais la plupart ne sont pas restés comme ça." L’exemple le plus célèbre auquel je puisse penser est Roy Fielding, qui a effectué une partie de son travail le plus important alors qu’il était (je crois) non rémunéré à l’Université (par définition, non rémunéré).
L'astuce pour être de qualité professionnelle consiste à avoir un mentor ou un ensemble de mentors (comme une équipe dans un projet open source) et à consacrer beaucoup de temps au sujet. En tant que musicien professionnel, mon expérience montre que ces deux éléments sont nécessaires pour être bon en tant que professionnel ou amateur. Certains peuvent être appris par des livres, mais sans critique externe cohérente, il devient très difficile de surmonter les mauvaises habitudes acquises en tant que novice.
Cela dit, dans le cas du programmeur, il est nettement plus facile à apprendre que celui du musicien. Mon expérience m'a montré qu'en tant que musicien, il est beaucoup plus difficile en tant que musicien de voir vos erreurs pédagogiques plutôt que de voir le code ne fonctionne pas. D'autre part, il faut également beaucoup plus de temps pour être un bon développeur.
la source
Comme pour toute chose, le meilleur moyen d’améliorer quelque chose consiste à vous plonger dans l’environnement dans lequel vous souhaitez devenir bon et à vous entourer de personnes bien supérieures à vous, prêtes à vous tolérer et à vous enseigner. Ce n’est pas facile à faire, mais c’est ce que j’ai trouvé comme le meilleur moyen d’apprendre à être bon dans quelque chose le plus rapide.
Mais quand il s’agit d’être un programmeur vraiment doué, il faut être juste cela, doué. Si vous n'êtes pas un violoniste au talent naturel, vous ne serez jamais aussi bon que les maîtres, peu importe les efforts que vous essayez ou quel instrument vous achetez. De même, si vous n’avez pas ce cadeau qui rend les programmeurs vraiment génial, vous ne le serez jamais non plus.
la source