Je veux savoir, à quel point est-il important de programmer pendant votre temps libre? Est-il nécessaire de travailler votre programmeur 9-5 en tant que programmeur, puis de rentrer chez vous et de travailler sur votre passe-temps pour devenir un meilleur programmeur?
Cela dit, je sais que vous ne vous perfectionnez que par la programmation.
Les employeurs potentiels tiennent-ils compte des programmes de passe-temps dans une interview ou le demandent-ils simplement par curiosité?
Je me sens coupable de ne pas avoir de projet de loisir, mais tout ce que je peux penser de faire a déjà été fait. Je suis donc un peu dans l’esprit à ce sujet: commencer quelque chose qui a déjà été fait ou le laisser jusqu’à ce que je trouve quelque chose d’original?
Réponses:
Se sentir coupable est une raison folle de se lancer dans un projet de programmation. Probablement un bon moyen de commencer à détester la programmation aussi. Travaillez sur quelque chose parce que vous le souhaitez , pas parce que vous pensez être censé le faire .
Bah! Qui se soucie si c'est déjà fait? Refais-le! Fais le mieux! Ou bien, acceptez que vous ne puissiez pas le faire mieux et le faire quand même. Où serait Microsoft s'il se disait "bon, quelqu'un a déjà créé une base de données / tableur / traitement de texte / système d'exploitation / IDE / gestionnaire de projet / gestionnaire de fonds / langage C orienté objet à héritage unique dynamique / navigateur Web / serveur Web / lecteur de musique / plate-forme mobile / moteur de recherche, nous allons donc chercher autre chose à faire ... "?
Sérieusement, si vous écrivez un serveur Web, cela ne surpassera probablement pas Apache, mais vous apprendrez certainement de précieuses leçons à suivre. Il est peu probable que vous vendiez mieux Angry Birds, mais écrire un simple jeu vidéo vous en apprendra également beaucoup.
la source
Je pense que les projets de passe-temps sont importants
J'utilise des projets de loisir pour tester des théories, des pratiques de conception et de nouveaux cadres que je ne parviens pas à faire dans mes 9-5. c.-à-d. programmation fonctionnelle, algorithmes, modèles de conception, nouveaux cadres, nouveaux langages, etc.
Cela peut faire toute la différence dans la rapidité et l’efficacité avec laquelle je peux aborder un nouveau projet au travail, ou même dans le fait de choisir un nouveau projet chez un client ou de passer à l’écart parce que je ne connaissais pas suffisamment le domaine du problème.
Seul votre travail quotidien quotidien de 9h à 17h peut vous stagner en tant que développeur si vous n'introduisez pas de nouvelles choses ou de nouvelles idées. Faire des projets de loisir est pour moi un moyen de faire de moi un développeur meilleur, plus intelligent et plus efficace.
Les intervieweurs potentiels prennent en compte les projets de loisir
D'après mon expérience, si vous avez réalisé un projet de loisir dans une technologie connexe que votre employeur utilise ou "examine" actuellement. Vous avez droit à des félicitations pour vous être déjà familiarisé avec la technologie en question. Ceci est particulièrement pertinent pour les nouvelles technologies qui viennent juste de frapper le grand public où les règles du jeu sont égales en ce qui concerne l'expérience technologique.
la source
Le problème avec votre emploi actuel est que vous n’avez probablement besoin que d’un ensemble limité de compétences pour exercer vos fonctions. Le monde de la programmation est tellement vaste qu'il est facile de rester coincé dans une ornière année après année. Grâce à la programmation pour les loisirs, vous pouvez vous diversifier et être prêt pour d’autres technologies avant que l’opportunité ne se présente, que ce soit dans votre poste actuel ou ailleurs.
Mais il est important de réaliser que les programmeurs amateurs ne font pas que programmer.
Mais parfois, ils sont inspirés pour écrire un programme qui réponde à leurs besoins spécifiques. le plaisir coupable d'un programmeur parce qu'il possède exactement les fonctionnalités qu'il souhaite. Et puis ils se lassent et le jettent. C'est le luxe d'un passe-temps!
la source
IMHO Ce ne sont pas nécessairement des projets de passe-temps en soi qui vous rendent meilleur (bien qu'ils ne fassent pas mal, bien sûr), mais restez ouverts et passez du temps à apprendre de nouvelles choses en général. Comme @Rick l’a noté, cela peut prendre différentes formes en plus du codage. Vous pouvez par exemple lire des livres - mais si vous avez un ordinateur portable, même du code - pendant vos trajets domicile-travail.
Notez également qu'il faut absolument garder un équilibre .
Encore une chose: il est facile de (suggérer) de travailler sur des projets de loisirs quand on est jeune et célibataire. Plus tard, vous aurez peut-être une famille, ce qui éliminera la plupart de votre temps libre pendant de nombreuses années (au moins si vous voulez bien le faire - et quel est le but autrement?). Vous serez donc obligé de gérer votre temps plus efficacement, afin de vous ménager un temps précieux d'apprentissage.
la source
Faire des projets secondaires! N'y pensez pas comme apportant quelque chose de nouveau sur le Web, mais plutôt comme une pratique de vos compétences, un bac à sable pour l'apprentissage / la maîtrise des technologies et des approches.
En tant qu'employeur, j'ai toujours demandé à mes collègues potentiels s'ils réalisaient des projets parallèles intéressants. Et même dans le cas où ces idées n'étaient pas spectaculaires, mais leurs auteurs étaient enthousiastes - c'était toujours un grand pro.
la source
Les programmeurs que je rencontre qui ont du mal à se tenir au courant des nouvelles technologies sont ceux qui le traitent comme un travail. Leurs homologues - ceux qui ne tiennent avec les nouveaux trucs sont ceux qui font des choses à la maison.
la source
Vous dites que tout ce à quoi vous pouvez penser a déjà été fait, mais chaque outil que vous utilisez fonctionne-t-il comme vous le souhaitez? Je trouve souvent que les outils font presque, mais pas tout à fait, tout ce que je veux, et mes projets de passe-temps naissent de la tentative de combler le vide. Je ne réussis pas toujours, mais j'aime essayer et, en tant qu'utilisateur final, je n'ai aucun problème de motivation ou de spécifications.
la source
Si vous avez vraiment l’intérêt et l’énergie pour ces projets, ne vous gênez pas. Mais je n'irais pas jusqu'à dire que c'est un must pour tout programmeur sérieux. Si vous travaillez à plein temps avec la programmation, le faire pendant votre temps libre n'augmentera pas nécessairement votre intérêt pour elle, cela pourrait très bien avoir l'effet inverse. Personnellement, je faisais des projets de loisir, mais je me suis arrêté. Je programmais déjà 5 jours par semaine et il me semblait plus sain de faire quelque chose de complètement différent pendant mon temps libre.
En outre, si votre employeur ne vous donne pas la possibilité de tester de nouvelles choses au travail, d’étudier et de vous améliorer continuellement, vous devriez alors probablement chercher un nouvel emploi plutôt que de faire ces choses pendant votre temps libre. Un bon employeur se rendra compte qu'il est dans son intérêt de garder ses compétences à jour, améliorées et développées.
Du point de vue de l'employeur (j'en fais partie), les projets de loisir seront un mérite si vous n'avez aucune expérience professionnelle réelle. Tous les projets de loisirs et d’école seront alors très importants à prendre comme référence lors de l’entretien.
Mais si vous avez de l'expérience, ils sont moins pertinents: ils peuvent indiquer une passion pour votre métier, mais ils peuvent aussi indiquer que vous êtes un peu nerd. D'après mon expérience personnelle, je ne trouve pas vraiment de lien entre les projets de passe-temps et les bons / mauvais candidats. Je ne pense pas qu'ils soient particulièrement pertinents, à moins que vous ne veniez de sortir de l'école et que vous postuliez pour votre premier emploi.
la source
Je fais plus de questionnaires et de petits morceaux de code similaires que de projets de grande envergure (mais essayez de travailler sur certains projets de logiciel libre si j'ai le temps). Donc, pour moi, il n'y a pas beaucoup d'excuses pour dire que je n'ai pas une bonne idée de projet. Il suffit d’écrire du résolveur de Sudoku et d’essayer d’implémenter quelque chose comme Dancing Links pour le rendre plus rapide.
L’importance pour vous de devenir un meilleur développeur peut dépendre de votre travail. Si cela est déjà très exigeant, vous pouvez obtenir toute la formation dont vous avez besoin. Sinon, choisir le bon projet (ou le quiz à résoudre) vous apprendra beaucoup de choses nouvelles et vous permettra de rester en contact avec un vaste domaine de compétences que de nombreux emplois ne proposent pas, car vous êtes souvent limité à utiliser un petit ensemble de fonctionnalités. des outils pour un domaine clairement défini.
Et oui, certaines entreprises s'intéressent sérieusement à vos projets. Si ce n’est rien d’autre, ils vous donnent l’occasion de parler de quelque chose que vous savez très bien lors d’une interview.
la source
Les projets de passe-temps eux-mêmes ne vont pas avoir d'importance dans la plupart des interviews. Quelques personnes s’intéressent à ce que vous codiez comme un passe-temps, mais la plupart ne le font pas. CEPENDANT, les compétences que vous acquérez grâce à la programmation de loisir peuvent être importantes dans une interview!
Des programmes supplémentaires sur le côté vont certainement être avantageux, jusqu’à épuisement des capacités… Cependant, même au-delà du problème de l’épuisement professionnel, vous devez également considérer que les employeurs recherchent souvent des compétences autres que la programmation. Si vous programmez 24 heures sur 24, 7 jours sur 7, vous ne développez pas ces AUTRES compétences! Équilibre... :-)
la source
Pour l'un, je pense que les projets de passe-temps sont importants, car sinon vous allez stagner et perdre le plaisir.
Ma suggestion pour trouver un nouveau projet de loisir:
Apprenez un nouveau langage de programmation pour réaliser votre projet de loisir. Par exemple, un bon objectif est d’essayer d’apprendre une nouvelle langue chaque année (plus cela devient facile, plus vous en savez).
Le mieux serait celui qui vous semble totalement étrange. Parce que plus il vous semble étranger, plus il élargira votre horizon.
De plus, le fait de connaître de nombreux langages avec une syntaxe différente vous permet de mettre l’accent sur la syntaxe comme étant importante lors de la programmation. Ce n’est qu’une représentation séquentielle des arbres de syntaxe et n’a pas beaucoup d’importance. Cela améliore votre concentration sur la sémantique, ce qui est beaucoup plus utile dans la pratique.
Avez-vous essayé un langage de programmation fonctionnel? Avez-vous essayé des langages de programmation distribués? Langage de correspondance de motifs?
Il est vivement recommandé de rechercher des projets de petite taille sur Project Euler .
la source
Je suis un développeur web amateur n'ayant pas (encore) de formation collégiale et travaillant sur mon propre projet personnel. J'ai été invité à ma première entrevue pour un emploi en programmation il y a quelques semaines parce que je travaillais sur mon propre projet personnel.
Tenant compte de ces preuves anecdotiques, travailler sur mon projet personnel de "passe-temps" a été la meilleure chose que j'ai faite pour faire avancer ma carrière dans le développement ... après m'être inscrit à l'université.
Donc, oui, les enquêteurs tiennent certainement compte de vos projets personnels, sinon ils n'auraient même pas pris la peine de me parler.
la source
D'autres ont couvert beaucoup, mais je veux me concentrer sur cette partie:
Il me semble que cela manque l’intérêt d’un "projet de loisir". Il est certainement vrai que de nombreux projets de loisirs sont créés pour d’autres, ou au moins avec l’intention du public - ces projets nécessitent une certaine quantité de travail cohérent au fil du temps, et peuvent être intimidants pour cette raison. Après tout, qui veut créer encore un produit ou un produit de qualité médiocre qui sera finalement abandonné au bout de quelques mois?
Mais , il n'y a aucune raison pour que votre projet de loisir doive faire quelque chose d'utile pour quiconque. Par exemple, j'ai récemment commencé à apprendre le haskell , uniquement parce qu'il est radicalement différent des langages impératifs auxquels je suis habitué et qu'il est très facile de s'y préparer. Je viens aussi de commencer à apprendre le langage assembleur Redcode , utilisé dans le jeu de programmation Core War , encore une fois par curiosité.
Cela m’a amené à envisager de créer un plug-in Notepad ++ afin de fournir de meilleures fonctionnalités de mise en évidence de la syntaxe pour Redcode, ce qui m’a amené à envisager un peu de C ++ . S'appuyant sur ma connaissance comparative de .NET, je réfléchis maintenant à la possibilité de configurer Visual C ++ .
Et le truc, c'est que rien de tout ça "ne compte vraiment", du moins pas en tant que projet. L' enfer, je ne suis pas sûr que vous pouvez même appeler un projet en soi , tant comme un tas de choses que je suis un peu jouer avec parce qu'il a attiré mon attention. Je veux dire, vous aurez besoin d’un peu de temps et d’organisation pour vous assurer d’ obtenir quelque chose, mais personne ne s’en souciera si je cesse d’avoir le temps pour Haskell une fois que l’école commence.
Et personne ne s'en souciera s'il s'avère que le développement de plug-in pour Notepad ++ est plus difficile que prévu, et j'abandonne. En effet, j'ai examiné Perl avant de plonger dans Redcode, et je l'ai abandonné assez rapidement car j'avais de la difficulté à obtenir le environnement mis en place correctement. Cela a-t-il montré un manque de persistance? Ouais. Mais tout le monde s'en fiche, car c'est mon passe-temps , et cela signifie que je peux jouer avec ce que je veux.
Ne croyez donc pas que vous ayez besoin de choisir un projet de loisir qui vous apprendra des compétences négociables - cela ne fera que transformer votre temps libre en un temps de travail non rémunéré. Les compétences résultent de ce que vous faites, mais ce n’est pas la raison . Je comprends mieux la programmation déclarative maintenant, le fonctionnement des langages d'assemblage et l'utilisation des DLL. Et j’ai appris beaucoup de choses sur l’invite de commande Windows et sur d’autres choses que vous n'auriez pas pensé qui étaient liées à tout ce que j’ai mentionné jusqu’à présent.
Le but étant de trouver quelque chose de complètement nouveau et de voir si c'est aussi intéressant qu'il y paraît. Si c'est le cas, tant mieux, et si ce n'est pas le cas, continuez. Avez-vous déjà eu la moindre curiosité pour les compilateurs ou les interprètes? Allez jeter un coup d'oeil à LOLCODE . Si cela vous rend aussi heureux que cela me rend, alors il est temps de commencer à en apprendre davantage sur les compilateurs . Et hé, peut-être devriez-vous revenir en arrière et repenser à la coloration syntaxique. En fait, ce sera probablement le prochain projet que je commence.
Si ce n'est pas votre cas, essayez quelque chose d'un niveau inférieur à celui auquel vous êtes habitué. Ou niveau supérieur. Ça n'a pas d'importance. La seule chose qui fait est que lorsque la matière que vous regardez, vous pensez « Fun! »
la source
Ces projets sont un must pour un programmeur sérieux, surtout si vous travaillez en tant que pigiste.
Au lieu de travailler 6 jours par semaine, 1 jour de repos, vous pouvez travailler 5 jours par semaine, 1 jour pour tester de nouvelles théories et fonctionnalités et 1 jour de repos.
Il peut sembler que la journée d’essais est une perte de temps, mais vous en reconnaîtrez les avantages lorsqu’on vous demandera d’implémenter une nouvelle fonctionnalité de votre langage de programmation que vous avez déjà testée au cours de l’un de ces jours.
la source
Je suis impliqué dans des interviews et des embauches dans mon magasin. Un «projet de loisir» est toujours un avantage pour nous.
Avoir un projet personnel plus ou moins achevé montre que vous aimez réellement créer des logiciels et montre que vous êtes motivé pour apprendre de nouvelles choses et améliorer vos compétences.
Si vous voulez faire une impression vraiment positive lors d'une interview, apportez un ordinateur portable avec votre projet personnel. Montrez-le à l'intervieweur, parlez-lui des difficultés que vous avez rencontrées lors de sa construction, laissez-les voir votre code. Dites-leur dès le départ où sont les aspérités et quels sont vos projets futurs pour le projet.
On se souviendra de vous, dans le bon sens.
la source
Je trouve que la programmation pendant mon temps libre a deux objectifs:
1) Cela me permet d'accomplir quelque chose de personnellement gratifiant, sans les contraintes des projets de travail. Ceci est particulièrement important lorsque j'ai eu à faire face à des problèmes difficiles et frustrants avec mes projets de travail.
2) Cela me donne l’occasion d’élargir et d’affiner mes compétences en programmation, car je suis libre de créer ce que je souhaite.
Néanmoins, je pense qu’il est également important d’équilibrer cela avec des loisirs qui ne sont pas liés à l’informatique. Pour moi, c'est entretenir le ruisseau et les sentiers derrière ma maison.
la source
Avoir une application pour animaux de compagnie est un excellent moyen de vous forcer à apprendre des parties de votre plate-forme actuelle auxquelles vous n'avez peut-être pas pensé. Par exemple, vous pourriez être un excellent développeur C # travaillant sur une application ASP.Net au travail. Mais si vous avez un membre de votre équipe dédié au CSS, vous ne l'apprendrez peut-être jamais correctement. Cependant, si vous avez un projet Web pour animaux de compagnie, vous devrez apprendre à faire du CSS. Cela vaut pour toute une série de technologies que vous rencontrerez si vous avez votre propre projet dont vous êtes le développeur unique.
Pour en savoir plus sur tous les avantages des applications pour animaux de compagnie, consultez ce post .
la source