Beaucoup de blogs et de conseils sur le Web semblent suggérer que pour devenir un excellent développeur, faire juste votre travail de jour ne suffit pas. Par exemple, vous devriez contribuer à des projets open source pendant votre temps libre, écrire des applications pour smartphone, etc. En fait, beaucoup de ces conseils semblent suggérer que si vous n'aimez pas assez de programmation pour le faire toute la journée, vous êtes probablement dans la mauvaise carrière.
Cela ne me semble pas vrai. J'aime mon travail, mais quand je rentre du bureau, je ne suis pas d'humeur à retourner directement sur l'ordinateur et à commencer à coder jusqu'au coucher. Je n'ai qu'un certain nombre d'heures de temps libre chaque jour, et je préfère les consacrer à d'autres loisirs, voir des amis ou sortir plutôt que devant l'ordinateur.
Je reçois un coup de pied hors de la programmation, et je pirate occasionnellement en dehors du travail. Je m'engage dans mon développement personnel et je passe du temps à lire des blogs et des livres technologiques pour continuer à apprendre et à devenir meilleur. Mais cela ne s'étend pas jusqu'à ce que je veuille utiliser tout mon temps libre pour le codage.
Est-ce à dire que je ne suis pas un "vrai" développeur de logiciels dans l'âme? Est-il possible de devenir un bon développeur de logiciels sans faire plus en dehors de votre travail? Je serais très intéressé d'entendre ce que vous en pensez.
Mise à jour: merci à tous pour vos commentaires et réponses. Beaucoup de bonnes pensées et conseils!
OMI, cette attitude vient de personnes qui ont des emplois horribles, qui sucent l'âme, combinés à des compétences de gestion du temps pauvres en pisse. Si vous tapez essentiellement des formulaires Web toute la journée, sortez et obtenez un travail plus difficile, ou démarrez le vôtre.
Voici la chose. Un musicien de concert (violoncelliste/pianiste/peu importe), pratiquera au plus 6 heures par jour. La plupart ne pratiquent que quelques heures par jour. aux niveaux les plus élevés
Les gens disent plus de programme parce que vous en apprenez plus, mais c'est un écran de fumée. 8 heures par jour, c'est beaucoup .
La seule raison pour laquelle un musicien peut pratiquer plus de 3 heures, c'est qu'il doit retirer le 1% supplémentaire que ces heures lui donnent. Si vous pensez que cela s'applique à vous, en résolvant un problème CS résolu il y a 2 décennies, alors vous avez un complexe prima-donna à démarrer.
J'ai déjà travaillé dans des entreprises d'autocuiseurs, et croyez-moi, la quantité réelle de travail que ces gars-là font n'est pas meilleure qu'une entreprise comme 37signals qui impose des contraintes sur la quantité de travail: http://37signals.com/svn/posts/996-why-i-love-working-with-family-people
Ce qui finit par se produire, c'est que vous pouvez être devant un ordinateur pendant 10 à 12 heures et au bureau pendant 2 autres, mais cela n'inclut pas le déjeuner de 90 minutes que vous avez pris, les 2 heures que vous avez passées à parcourir la discussion les forums, et pendant la pause d'une heure, vous deviez jouer à l'un des nombreux jeux organisés au bureau (baby-foot, billard, yada ...).
Regardez ce graphique. Revenons maintenant à moi.
Votre esprit a en fait la possibilité de se développer beaucoup plus si vous vous engagez dans une autre activité: Apprenez à jouer d'un instrument . Apprenez une langue étrangère . Mieux encore, sortez et faites de l'exercice et connectez-vous avec de vraies personnes en direct .
Dans la célèbre étude de 1993 sur les jeunes violonistes, le chercheur en performance Anders Ericsson a constaté que les meilleurs pratiquaient tous de la même manière: le matin, en trois incréments de pas plus de 90 minutes chacun, avec une pause entre chacun. Ericcson a trouvé le même modèle chez d'autres musiciens, athlètes, joueurs d'échecs et écrivains.
C'est en fait un principe bien connu dans le monde des affaires, je suis surpris que plus de programmeurs n'en aient pas entendu parler.
L'idée entière qu'il faut 10 000 heures/10 ans pour devenir compétent vient en fait des études faites par Ericsson, pas par Malcom Gladwell.
Comme nous le savons tous, vous pouvez avoir 1 an d'expérience répété 10 fois ... donc avoir juste votre cul dans le siège pendant 10 ans n'est pas admissible. Ce que qualifie est ce que Ericsson appelle pratique délibérée .
Il a trouvé ce principe valable pour l'athlétisme, la musique, l'écriture, les échecs et les mathématiques. Il définit en outre la pratique délibérée comme étant si laborieuse, que même aux niveaux les plus élevés, vous ne pouvez avancer que 4 heures par jour . Sinon, vous souffrirez de surentraînement ou d'épuisement professionnel. Encore une fois, il reconnaît qu'il existe des rendements décroissants pour la pratique délibérée, jusqu'à environ 4 heures.
Poudlard. Soit vous obtenez un meilleur emploi, soit voici une idée: faites de votre emploi actuel quelque chose qu'il n'est pas , du moins en ce moment.
L'un des meilleurs programmeurs que je connaissais s'est lancé dans un travail de programmeur de maintenance sur un système hérité composé de dizaines de programmes et de centaines de milliers de lignes de code. La plupart d'entre eux avaient été piratés au fil des ans à tel point que vous auriez dû dire qu'il n'y avait plus de conception cohérente.
C'était à peu près un boulot sans issue. La direction voulait que vous gardiez la tête baissée et que vous corrigiez les fichus bugs. Les bons développeurs travaillaient sur le projet greenfield. Les gens sont venus ici pour passer le reste de leurs jours jusqu'à leur retraite, ou acquérir quelques années d'expérience avant de passer au développement de nouvelles applications. Alors que la plupart des programmeurs se plaindraient du manque de développement de carrière, ou de l'opportunité d'apprendre de nouvelles choses, ou de ne pas avoir de projets passionnants à travailler, ou plus généralement de se moquer de personne ne leur permettant , ce gars s'est simplement assis et s'est mis à faire le travail qui devait être fait.
Et en 2 ans, il avait transformé ce système d'un enfer buggy de code spaghetti en quelque chose qui était une chose de beauté et fonctionnait comme une montre suisse. La transformation était si complète que le vice-président de la division a commencé à accorder de plus en plus d'attention au projet existant et à remettre en question la valeur du projet greenfield. Bien qu'il n'ait pas de titre, le personnel des opérations est allé vers lui en tant que chef de facto du groupe. Quand je suis parti, le VP parlait de lui créer un nouveau rôle d'architecte système ...
Je ne sais pas ce qui lui est arrivé après cela, mais il m'a appris quelques leçons très importantes:
Votre travail est ce que vous en faites, et il y a des problèmes intéressants à résoudre partout . Si vous détestez écrire des écrans CRUD, résolvez le problème en les générant automatiquement.
Ne restez pas assis à attendre que des opportunités se présentent à vous. Les chances sont qu'ils ne le feront jamais.
Il y a plus caché dans ce message.
De nombreux programmeurs enthousiastes aiment explorer des choses, expérimenter, suivre leurs idées, c'est ainsi que nous apprenons et obtenons nos compétences et notre vision.
Habituellement, vous ne pouvez pas suivre vos intérêts pendant les heures de travail. Vous faites juste des choses qu'on vous dit de faire et c'est tout. Seuls quelques-uns d'entre nous ont la chance de faire au travail ce que nous ferions personnellement même s'ils ne sont pas payés.
Par conséquent, si vous ne faites rien de plus, vous ne développez pas votre potentiel. Et c'est exactement le problème.
Lisez ceci, de Blog de Seth Godin :
Déraisonnable
Il est déraisonnable de sortir du lit un jour de neige, lorsque l'école a été annulée, et de transformer le temps d'arrêt en six heures de travail dans un laboratoire de physique supplémentaire.
Il est déraisonnable de lancer un produit technologique qui franchit la courbe de développement de neuf mois, faisant sortir la prochaine génération beaucoup plus tôt que ses concurrents plus raisonnables.
Il est déraisonnable pour une entreprise de camionnage de répondre au téléphone dès la première sonnerie.
Il est déraisonnable de démarrer une nouvelle entreprise sans que l'argent de la réconfort puisse apporter.
Il est déraisonnable de s'attendre à ce qu'un cabinet de médecin dispose d'un personnel de réception agréable et serviable.
Il est déraisonnable de s'éloigner d'un bon concert dans l'économie d'aujourd'hui, même si vous voulez faire quelque chose de courageux et d'original.
Il est déraisonnable pour les enseignants de s'attendre à ce que nous puissions permettre aux enfants défavorisés du centre-ville de bien réussir au secondaire.
Il est déraisonnable de traiter vos collègues et concurrents avec respect étant donné la pression que vous subissez.
Il est déraisonnable de s'attendre à ce que quiconque, sauf une grande femme, quelqu'un avec à la fois le dynamisme et les avantages, puisse faire quoi que ce soit d'important dans un monde où le jeu est contre les gens ordinaires.
Il est déraisonnable de consacrer des années de votre vie à fabriquer un produit que la plupart des gens n'apprécieront jamais.
Heureusement, le monde est rempli de gens déraisonnables. Malheureusement, vous devez rivaliser avec eux.
Pour répondre à la question posée: ne pas programmer pendant votre temps libre ne fait pas faire de vous un mauvais développeur, cependant, programmer pendant votre temps libre peut faire de vous un meilleur développeur.
La programmation pendant votre temps libre ne nuira certainement pas à vos compétences, mais vous ne devriez pas vous sentir obligé de le faire. La programmation semble être un domaine relativement unique car pour beaucoup de gens, c'est à la fois leur travail et leur passe-temps, alors ils aiment la programmation pendant leur temps libre.
Non, cela ne fait pas de vous un mauvais programmeur. Selon ce que vous faites, cela peut faire de vous un meilleur programmeur à long terme. Au début de votre carrière, cela peut influencer la vitesse à laquelle vous apprenez la variété de compétences dont vous avez besoin. Cependant, vous pouvez acquérir des compétences et des informations qui vous aideront à long terme. Faire de l'exercice ne ferait pas de mal non plus.
Il y a beaucoup de recherches qui montrent que la performance se situe autour de 40 semaines de travail. Bien que nous puissions produire pendant une période de temps de travail de plus longues heures, à long terme, nous perdons de l'efficacité. Les recherches que j'ai vues montrent que les personnes qui travaillent 80 semaines sont à peu près aussi productives que celles qui travaillent 40 heures par semaine.
Il y a quelques éléments sur lesquels vous pouvez réfléchir en dehors (ou sur) les heures qui peuvent vous aider à mieux performer:
Est-il possible de devenir un bon développeur de logiciels sans faire plus en dehors de votre travail?
Absolument.
Cela peut prendre plus de temps que si vous deviez passer des heures supplémentaires à perfectionner vos compétences. J'ai également eu du mal à consacrer suffisamment de temps à l'amélioration personnelle si je suis employé à temps plein et que je fais peu de programmation en dehors des heures de travail.
Quand j'étais plus jeune, je consacrais beaucoup plus de temps à l'apprentissage que maintenant. Les concepts que j'utilise au quotidien sont profondément enracinés à ce stade, et il semble plus facile d'acquérir des connaissances supplémentaires avec cette expérience à mon actif.
Les "bons" programmeurs semblent consacrer davantage d'heures supplémentaires car ils sont par nature obsessionnels, tendent vers la fin antisociale du spectre, et apprécient vraiment la programmation et l'ensemble du cycle de résolution des problèmes.
Dans l'ensemble, il s'agit de trouver le bon équilibre dans la vie.
L'important est de savoir si vous aimez la programmation et si vous continuez à apprendre quel que soit votre niveau. Que vous programmiez ou non un travail extérieur ne fait pas automatiquement de vous un "bon" ou un "mauvais" programmeur.
Pour donner une perspective personnelle, je programme depuis environ 25 ans (d'abord enfant, puis professionnellement). J'adore ça.
Cependant, je ne programme presque jamais en dehors du travail. Cela a à voir avec plusieurs choses:
Vous pouvez devenir un bon programmeur en codant simplement pendant le travail, surtout si vous gérez bien votre carrière. Cependant, les meilleurs programmeurs codent également pendant leurs heures creuses. Cela dit, une personne qui choisit de bons emplois avec de nombreuses possibilités d'apprentissage, utilise bien son temps au travail, etc. sera un meilleur programmeur que quelqu'un qui code à la maison parce qu'il ne peut pas trouver des emplois qui présentent des défis intéressants pendant la journée de travail.
Bien que le codage à la maison soit précieux, je dirais que maximiser la valeur de votre environnement de travail (en apprenant des collègues, en choisissant de bons emplois, en gérant votre carrière de manière agressive) est souvent encore plus précieux. Les meilleurs programmeurs font les deux, et ont de bonnes attitudes envers l'apprentissage et le mentorat des autres.
Le vrai problème est de savoir si un nouveau développeur code suffisamment (pour résoudre suffisamment de problèmes) pour passer à travers quelques centaines de milliers de lignes de code de pratique et devenir un programmeur décent.
Cela peut en théorie se faire au travail, ou sur votre propre temps, ou les deux. La pratique doit être quelque peu autonome, afin que vous puissiez apprendre ce que vous devez apprendre. Cela signifie un travail un peu flexible.
Souvent, les emplois de niveau d'entrée sont un tas de corrections de bugs ou d'autres travaux qui ne vous apprendront pas à être bon. Ce que vous devez faire, c'est écrire beaucoup de code à partir de zéro, et ce code sera probablement mauvais. Il est difficile pour les employeurs de payer pour cela. C'est pourquoi les gens finissent par faire un projet open source sur le côté ou lancer une startup ou autre chose.
Quand les gens disent que vous devez programmer pendant votre temps libre, je pense que cela signifie vraiment que vous devez maîtriser des années de pratique significative dès le début. Vous devez faire tout ce qu'il faut pour obtenir la pratique et apprendre à écrire et à maintenir une grande base de code à partir de zéro. Si personne ne vous paie pour écrire une série de projets probablement désastreux à partir de zéro, alors le temps libre est la seule option.
Si vous avez déjà fait la pratique lorsque vous étiez plus jeune et êtes devenu un bon programmeur, je ne pense pas que vous allez perdre les compétences de base si vous le gardez 9 à 5 plus tard. Plus tard, il s'agit davantage de suivre les nouvelles technologies qui ne prennent pas autant de temps.
Cependant, c'est un travail d'entrée de gamme rare qui vous donnerait à lui seul la quantité et la qualité de la pratique pour devenir un bon programmeur. Un nouveau développeur doit prendre l'initiative d'apprendre, et pas seulement passer du temps dans un travail d'entrée de gamme effectuant des tâches d'entrée de gamme.
Il serait vraiment difficile de devenir un bon programmeur à partir de zéro si vous aviez déjà une famille et insistiez fortement sur l'équilibre travail-vie. Tout comme il serait vraiment difficile de devenir médecin ou de devenir un musicien virtuose ou quoi que ce soit d'autre dans cette situation. Il y a une raison pour laquelle les gens ont tendance à passer à travers leurs milliers d'heures de pratique lorsqu'ils sont plus jeunes que lorsqu'ils sont plus âgés.
Il faut 10 000 heures d'efforts pour devenir un expert en tout. [Michael Gladwell, "Valeurs aberrantes"]
Donc, faire un travail supplémentaire avant d'atteindre ce niveau vous accélérera sur le chemin du véritable statut d'expert.
Une fois que vous avez dépassé ce niveau, passer plus de temps aura des rendements faibles/décroissants.
Si je passais du temps au cours des six prochains mois à développer un jeu de base pendant mon temps libre et que vous ne le faites pas, et en supposant toutes les autres choses sont égales (elles ne le sont jamais), lequel d'entre nous en connaîtrait plus? Lequel d'entre nous aurait plus de compétences et d'expérience?
Cet effet serait cumulatif, car des connaissances antérieures en dehors des heures de travail alimenteraient un nouveau travail et de nouvelles connaissances en dehors des heures de travail.
Et c'est pourquoi les gens conseillent de programmer dans leur temps libre, pour autant que je sache.
Entre grands et mauvais, il y a plusieurs niveaux entre les deux. Vous ne pouvez pas devenir un grand développeur en ne le faisant que 8 heures environ par jour, en travaillant éventuellement sur des problèmes dans un domaine très limité.
Si votre travail est assez varié, vous pouvez devenir "décent" ou "accompli" ou tout autre adjectif que vous préférez, mais pour être un grand développeur, vous devez être un peu mental, je le crains.
Une autre raison de faire de la programmation hobby est que dans un travail, vous devez souvent respecter des normes sous-optimales et faire des compromis en général et même lorsque vous apprenez une nouvelle chose, vous pourriez ne pas être autorisé à l'utiliser.
Et encore un autre, encore plus prosaïque, est que le code que vous écrivez au travail appartient à votre employeur. Vous ne pouvez pas y revenir et apprendre de vos anciennes erreurs des années plus tard, lorsque vous travaillez pour quelqu'un d'autre.
Vous ne devriez pas le regarder comme "Est-ce que cela fait de moi un mauvais programmeur" parce que, comme chaque compétence, plus de pratique ne fait qu’améliorer.
Donc, si vous voulez être meilleur que ce que vous êtes actuellement et apprendre de nouvelles technologies et de nouveaux domaines que votre travail ne permet pas, c'est là que l'effort et le temps supplémentaires sont utiles.
Mais passer plus de temps à coder (juste pour prouver à quelqu'un que vous codez plus) ne signifie pas nécessairement que vous devenez un bon programmeur à moins d'apprendre ce que vous faites et de faire quelque chose de différent ou d'améliorer ce que vous savez déjà, plutôt que de couper/copier/coller aveuglément et assembler des hacks. Mettre des heures supplémentaires et faire la même chose encore et encore ne pense pas que cela va vous aider à vous améliorer.
Pendant la journée, votre programmation est des paris courts. Il y a de l'argent à gagner, vous savez exactement combien et pour quoi, et vous n'avez pas beaucoup plus à gagner qu'un chèque de paie.
La nuit, vous travaillez sur de longs paris - des idées folles qui ne fonctionneront pas du tout. Ce sont ces projets qui vous propulseront hors du commun. C'est ainsi que vous devenez l'inventeur de PHP plutôt que le singe de code qui l'utilise.
J'interviewe beaucoup de programmeurs, et s'ils ont fait des choses bizarres intéressantes en dehors des heures de travail, c'est un feu vert instantané. C'est étonnamment rare.
Mais je vais dire ceci: il fut un temps où un gars qui faisait beaucoup de trucs sympas en dehors des heures de travail s'est avéré être un raté de la location. Je suis toujours perplexe par ce type.
Pour répondre à votre question: Non, cela ne fait pas de vous un mauvais développeur.
Cependant, cela pourrait rendre votre vie professionnelle un peu plus difficile. Si vous avez un emploi où vous apprenez constamment de nouvelles technologies qui vous aideront à poursuivre votre cheminement de carrière (qu'il s'agisse de promotions à votre emploi actuel ou de nouveaux emplois dans différentes entreprises), alors vous êtes prêt.
Mais si vous travaillez actuellement dans une entreprise où la technologie utilisée change rarement, dans 2 ou 5 à 10 ans, vous aurez peut-être du mal à trouver ce prochain emploi. Si vous codez à la maison avec de nouvelles technologies et que vous avez quelque chose à montrer (application, site Web, projet open source, etc.), vous trouverez beaucoup plus facile d'obtenir ce prochain emploi.
Bien sûr, vous pourriez être complètement heureux de faire exactement la même chose au cours des 40 prochaines années, et tant que votre entreprise et les technologies continueront d'exister, alors vous êtes prêt!
La vraie question est de savoir ce que vous faites toute la journée. Les analogies avec les athlètes et les musiciens ne sont généralement pas appliquées correctement. Votre travail de jour n'est pas de la pratique, c'est de la performance, à moins que vous n'ayez la capacité explicite de passer une partie de votre journée de travail dans une véritable "pratique". Comment le sais-tu? Si vous n'avez jamais le temps de faire quoi que ce soit de "bien" ou d'apprendre un nouveau langage/technologie/cadre/etc à fond, alors vous ne pratiquez pas, vous êtes performant. Les athlètes et les musiciens professionnels ne s'améliorent pas pendant le jeu ou le concert, ils s'améliorent pendant la pratique concentrée. Donc, si vous êtes comme la plupart, le seul temps dont vous disposez pour une véritable "pratique" de codage est en dehors du travail. Cela étant dit, cela ne vaut la peine que s'il est ciblé. Si vous piratez toute la journée puis piratez toute la nuit, vous vous fatiguez, pas mieux.
Par exemple, vous devez optimiser un morceau de code au travail et vous y jeter les outils de profilage habituels et l'accélérer peut-être à 50% et passer à la tâche suivante, mais vous pensez qu'il y a d'autres choses que vous pourriez faire qui aideraient même plus mais vous n'avez pas le temps de les essayer. Si vous emportez ce morceau de code avec vous et que vous passez quelques heures supplémentaires à l'essayer, vous apprenez des techniques qui vous améliorent la prochaine fois que vous optimisez quelque chose. Vous ne faites pas la même chose à la maison qu'au travail.
La pratique consiste à ajouter des compétences et à perfectionner les compétences et ces activités se font nécessairement de manière artificielle (c'est comme isoler un groupe musculaire dans le gymnase, personne ne le fait dans une activité physique normale). La création d'applications à la maison n'est pas automatiquement pratiquée. Le travail à domicile doit se concentrer sur les techniques et le processus, pas sur le produit final. Si un produit final est ce dont vous avez besoin pour être motivé, tant mieux. Ne tombez pas dans le piège de le développer de la même manière que vous le faites au travail.
Le mouvement de codage des kata est un exemple de ce qu'est la pratique.
Être un bon développeur de logiciels dans le cœur dépend vraiment de votre cœur. Vous pouvez essayer d'être un grand musicien et consacrer beaucoup de temps à la musique, mais cela ne fait pas de vous un bon musicien. Vous devez apprécier ce que vous faites pour être bon dans ce domaine. Au départ, je vous posais les mêmes questions mais maintenant à cause de mes goûts, j'ai commencé à faire des choses supplémentaires sur des logiciels autres que le travail normal. Cela a amélioré mes performances dans le travail normal et m'a également donné beaucoup de temps pour m'impliquer dans d'autres activités non liées aux logiciels. Donc, la ligne de base est d'apprécier ce que vous faites et vous finirez par faire ce qui est nécessaire.
Si vous avez un travail qui vous offre une expérience intellectuelle complètement engageante, il est probable que cela va être votre vie mentale - le travail extérieur consiste à faire exploser Steam. Si votre travail ne vous engage pas, vous êtes beaucoup plus susceptible de trouver une satisfaction intellectuelle après les heures de travail. C'est vrai dans n'importe quelle entreprise, pas seulement dans le codage.
Le codage dans un bureau sape votre créativité, point final. Au moins 8 heures par jour, votre esprit fait un sprint continu au nom de quelqu'un d'autre. Il est normal d'en sortir et de ne pas vouloir revenir sur un ordinateur. Quand je travaillais dans un bureau, c'était la même chose pour moi - je rentrais à la maison et je voulais seulement cuisiner, ou aller voir un film, passer du temps avec des amis ou simplement me mettre devant la télé. Puis, de 2001 à 2004 environ, après que la société pour laquelle j'ai travaillé pour tanked et que j'ai craqué, j'ai abandonné et j'ai conduit un taxi et j'ai attendu des tables. C'est alors que j'ai vraiment commencé à coder pendant mes heures de repos.
La vérité est que je ne pense pas que quiconque ait plus de 8 heures par jour de temps de codage de haute qualité. Beaucoup de codeurs n'en ont que 2 ou 3, mais ce sont peut-être les personnes les plus efficaces. C'est juste comment vous l'utilisez, comment vous l'étendez.
Ceci est un excellent article.
Je dirais que non, cela ne fait pas de vous un mauvais programmeur. Si vos critiques ont été bonnes et que vous accomplissez bien et à temps vos tâches, vous êtes tout à fait le contraire. En toute honnêteté, je vous envie que vous vous fassiez remplir le code au travail.
La principale raison pour laquelle je programme pendant mon temps libre est que je ne me soucie pas vraiment de ce que je fais au travail et que j'utilise mon temps libre pour faire ce que j'aime. Ce que j'aime faire, c'est la programmation de jeux vidéo. Il n'y a pas de société de jeux valide pour laquelle je travaille (j'ai une famille ici maintenant), donc j'aide avec les jeux indépendants quand je le peux. C'est le seul moyen de guérir les démangeaisons. Si je faisais ce que j'aimais toute la journée, il est fort probable que je ne le ferais pas pendant mon temps libre.
Est-il possible de devenir un bon développeur de logiciels sans faire plus en dehors de votre travail?
Cela dépend de l'industrie dans laquelle vous travaillez. Certains sont plus compétitifs que d'autres.
Si vous n'aimez pas apprendre de nouvelles choses par vous-même, vous resterez probablement à votre niveau de compétence actuel. C'est peut-être suffisant ... ou pas.
Il ne s'agit pas du temps consacré, il s'agit de curiosité et d'une soif de connaissance et de maîtrise. Évidemment, cela n'a rien à voir avec le fait de rester à jour, il s'agit de choses fondamentales, souvent matérielles: compilateurs, monades, architectures de mémoire, etc. Des choses qui étirent et étendent votre cerveau.
Vouloir coder à la maison n'est qu'un effet secondaire important. Mais ne le sous-estimez pas, sans le faire, l'apprentissage est souvent superficiel.
Tous les meilleurs développeurs que je connais ont ces traits.
Mon conseil sera: Utilisez votre temps de trajet pour apprendre des choses, pour vous tenir informé: lire des livres informatiques, écouter des podcasts Dev, etc. Concernant vos activités post-travail: cela ne change rien. Sinon, vous deviendrez une personne ennuyeuse.
Cela ne fait pas de vous un mauvais développeur, cela pourrait même ne pas faire de vous une sorte de développeur "ok", il vous fait juste ce que vous êtes. Je pense cependant que vous trouverez que la plupart des gens qui sont vraiment d'excellents hackers ont tendance à essayer de nouvelles choses. À tout moment, j'examinerai de nombreux langages, bases de données, frameworks Web, robotique, etc. J'ai deux petits enfants et une femme, une hypothèque, tout ça - mais j'ai hâte de pouvoir en obtenir 2 ou 3 heures pour pirater avec des trucs. Bien sûr, C # et .NET sont très bien pour gagner un chèque de paie et j'aime vraiment mon travail, mais déconner avec Scala et Lift a été un vrai plaisir pour moi ces dernières années Il y a des développeurs qui se classeraient comme "passionnés" et ceux qui ne font que "s'en sortir". J'ai tendance à trouver que les développeurs qui se défient constamment ont tendance à avancer plus rapidement que ceux qui ne le font pas.
Est-ce à dire que je ne suis pas un "vrai" développeur de logiciels dans l'âme?
Absolument pas. Cela signifie simplement que vous aimez faire autre chose que le codage. Il n'y a rien de mal à cela, et cela ne vous rend pas meilleur ou pire que quiconque, développeur ou non.
Est-il possible de devenir un bon développeur de logiciels sans faire plus en dehors de votre travail?
Bien sûr. Cela dépend en partie de votre environnement de travail. Si vous avez un travail ennuyeux, qui aspire l'âme, qui aspire tout votre temps et que certains font des travaux de maintenance ennuyeux, alors être en mesure d'utiliser le temps de travail pour développer vos compétences sera très limité. Si vous avez le genre d'environnement où vous avez une certaine latitude pour faire ce que vous voulez explorer et apprendre, profitez de cette occasion pour développer de nouvelles compétences qui aideront également votre employeur ou vos collègues.
Si vous trouvez quelque chose d'intéressant sur lequel vous souhaitez en savoir plus et que vous n'avez pas le temps ou la possibilité de l'utiliser au travail, vous devez le comparer aux autres exigences de votre temps, qu'il s'agisse de famille, d'amis ou de loisirs.
Non, cela ne fait pas de vous moins un programmeur que quiconque. Tu es juste plus social. J'ai envie d'être honnête.
Vous n'avez pas à utiliser tout votre temps libre pour écrire du code. Mon travail est assez simple: la gestion des serveurs. J'écris beaucoup de code car je n'ai pas besoin d'en faire beaucoup au travail. Cela ne me rend ni meilleur ni pire que quiconque. Si vous êtes passionné par la programmation, pourquoi ne pas faire du travail indépendant? Je mets souvent des annonces Craigslist pour mes services et j'en gagne beaucoup d'argent. C'est également une excellente expérience d'apprentissage, car vous travaillerez avec des startups et parfois même de grands sites Web. J'espère que cela t'aides. :)
J'ai récemment participé à plusieurs entretiens pour embaucher des programmeurs. J'ai constaté que les candidats qui m'impressionnent le plus, à la fois en tant que programmeurs et en tant que personnes avec lesquelles je ne voudrais pas travailler, sont ceux qui consacrent beaucoup de temps à des activités hors programmation (en particulier la musique, mais aussi les mathématiques pures, philosophie et littérature). Bien sûr, la plupart font aussi de la programmation hobby, mais ils ont aussi des intérêts équilibrés.
Il y a eu des moments dans ma vie où j'ai fait beaucoup de codage en dehors du travail, et des moments où je n'en ai fait aucun parce que je travaillais sur d'autres choses. Vous devez toujours apprendre, mais cela ne signifie pas que vous devez toujours vous renseigner sur la programmation pendant votre temps libre. Si vous voulez travailler sur une autre compétence, que ce soit la menuiserie, la broderie, le jardinage, etc. pendant votre temps libre, cela vous aidera à grandir en tant que personne.
Ne tombez pas dans le piège de penser que vous savez tout ce que vous devez savoir sur la programmation pour pouvoir arrêter d'apprendre.
C'est en effet un article intéressant. Je développe des logiciels depuis 10 ans et j'adore mon travail! Moi aussi, j'ai beaucoup de passe-temps et j'essaie de les gérer correctement. Mais je reçois un coup de pied d'essayer de nouvelles choses en passant une heure ou deux devant le PC avant d'aller me coucher. Dans mon cas, je suis accro à l'étude et à l'écriture de code de jeu. Je n'ai pas toujours le temps de jouer à des jeux, mais j'aime lire du code sur les jeux. Pour être honnête, je pense que le meilleur code que j'ai jamais vu provenait des jeux et j'applique ces compétences à mon code au travail. J'apprends constamment TOUS LES JOURS, alors IMO, si vous êtes développeur, vous n'atteindrez jamais votre apogée, il y a TOUJOURS une meilleure façon de faire quelque chose ....
J'ai posé une question similaire question quelques jours avant. Il semble que les gens semblent que nous sommes plus passionnés par notre travail si nous y consacrons non seulement toute notre journée, mais aussi tout le temps dont nous disposons pour notre vie personnelle.
J'écris de temps en temps du code sur mon temps libre, mais je le fais pour le plaisir, pas parce que j'ai l'intention d'acquérir une certaine croissance ou reconnaissance professionnelle. J'applaudis les gens qui en ont l'énergie, mais vous préférez vous épuiser en travaillant de plus longues heures et sur des projets supplémentaires que de devenir réellement plus expert en quoi que ce soit.
À la fin de la journée, tout ce qui compte est votre capacité à apprendre de nouvelles choses (surtout au travail), votre capacité à bien communiquer et à avoir de bonnes compétences en gestion du temps. Que vous vous transformiez en un bon professionnel.
Est-il possible de devenir un bon développeur de logiciels sans faire plus en dehors de votre travail?
Pour moi, c'est une question d'équilibre.
Bien que j'adore la programmation, ce n'est qu'un côté de moi, j'ai d'autres intérêts. Comme je le vois si je suis heureux (en faisant d'autres choses que j'aime faire) et que je trouve mon travail intéressant et satisfaisant (ce que je fais), à long terme, je suis en passe de devenir un meilleur développeur de logiciels.
P.S. J'avoue que je n'ai pas lu tous les messages précédents sur cette page.