Comment puis-je examiner mes progrès en tant que développeur junior solo [fermé]

38

Je travaille actuellement pour une société de 2 personnes, en tant que développeur principal en solo. Mon patron récupère les clients, simule des modèles de conception png et me les remet.

Ce système a bien fonctionné et je l’apprécie vraiment.

Les types de projets sur lesquels je travaille sont destinés à des petites et moyennes entreprises qui souhaitent généralement un système de gestion de contenu. Développé à partir de zéro, je construis un backend personnalisé pour que le client puisse ajouter / modifier / supprimer des catégories, des balises, des produits, etc. Au fil du temps, la complexité des projets a augmenté, avec des fonctionnalités de panier d'achat / de commande et d'autres fonctionnalités courantes du type de commerce électronique.

Encore une fois, ce système fonctionne bien et je l’apprécie vraiment.

Mon problème est mon développement personnel en tant que programmeur. Je passe beaucoup de temps libre à lire des blogs sur la programmation, à parcourir stackexchange, à lire des ouvrages de programmation suggérés (actuellement sur « The Pragmatic Programmer » (très bon jusqu'ici)), à faire des exercices cérébraux ( problèmes de maths lumosity.com et khanacademy ), à faire beaucoup de l'exercice physique et d'autres activités de type développement personnel.

Je ne peux pas m'empêcher de sentir cependant que je manque de commentaires, de critiques. Mon patron est génial et ne recule jamais devant les éloges concernant mon travail, mais il est malheureusement trop occupé pour vérifier mon code ou, pour être honnête, je ne pense pas que ce soit l'une de ses spécialités et ne puisse donc pas donner de feedback. .

Je veux savoir ce que je fais mal et ce que je fais bien. Devrais-je mettre autant de logique dans le contrôleur, je module suffisamment mon code, etc.

Donc, ce que j'ai fait est développé une petite application de «budget familial» et essayé de le faire aussi proprement et efficacement que je le sais actuellement.

Ce que je veux savoir, c'est s'il y a un endroit où je peux soumettre cette application et que des développeurs chevronnés donnent leur avis. Ce n'est pas simplement une sous-section de mon code telle que «codereview.stackexchange» semble nécessiter, c'est tout mon flux de travail que je veux critiquer.

Je sais que c’est beaucoup de choses à demander, et j’espère que le conseil principal sera de chercher un emploi au sein d’une équipe, ce que je vais certainement examiner plus tard, mais pour l’instant, je tiens à persister dans mes compétences actuelles. situation de l'emploi, mais ne veulent tout simplement pas développer trop de mauvaises habitudes.

Faites-moi savoir si je peux fournir des informations supplémentaires pour aider à clarifier, ou si ce n'est pas le bon endroit pour ce type de question, je m'excuse à l'avance. Je ne voulais pas utiliser reddit car je sentais que cette communauté suscitait des réponses plus réfléchies.

Hoppipolla
la source
3
En tant que développeur junior, jadis, il n'y a pas si longtemps, je trouve que ce n'est pas une bonne idée de laisser un développeur junior courir comme un fou. Sans parler d'une maquette PNG, vous n'aurez à peine les informations nécessaires pour écrire un CMS efficace. De plus, pourquoi écrire constamment des CMS quand les configurations auto-installées sont plus efficaces qu'un développeur solo pourrait écrire dans un délai raisonnable pour un client, micro-CMS compris.
Rig
2
Au départ, il possédait son propre CMS, construit à Coldfusion. J'ai appris la langue par essais et erreurs et nous avons réalisé quelques projets en l'utilisant. Au fil du temps, je l'ai convaincu que ce serait une bonne idée de passer à PHP, car j'avais plus d'expérience et je pouvais compter sur une communauté plus large (sans aucun supérieur, je me fie beaucoup à Google). Depuis lors, je construis progressivement un système de gestion de contenu modulaire réutilisable dans ciBonfire. Le système de catalogage est presque complet. Le problème est que j'apprends au fur et à mesure, nous avons des clients pour faire plaisir.
Hoppipolla
2
@OliverHyde "Le problème, c'est que j'apprends au fur et à mesure, nous avons des clients pour faire plaisir." Ce ne sera pas différent ailleurs non plus.

Réponses:

21

Vous êtes sur la bonne voie pour améliorer vos compétences et il est compréhensible que vous soyez incertain de la fiabilité et de la disponibilité de votre code pour l'entreprise.

Il s’agit d’un processus normal pour un développeur débutant, et votre intérêt à améliorer est très important, car c’est la clé pour devenir un développeur rock star.

En tant que référence pour apprendre les meilleures pratiques, je vous recommanderais de rejoindre des projets open source hébergés gratuitement pour les programmeurs passionnés / curieux. Ils vous aideraient vraiment à comprendre comment utiliser les meilleures pratiques et décider de la conception des applications. En outre, essayez de vous impliquer dans le développement de projets open-source, car cela stimulera considérablement votre auto-apprentissage et vos améliorations.

Je recommanderais également aux développeurs de logiciels d'assister à des événements communautaires locaux. Vous pouvez trouver certains de ces groupes sur communitymegaphone.com . Parlez avec vos amis programmeurs locaux, ce sont surtout des gens bien qui n’aimeraient pas aider un collègue.

EL Yusubov
la source
Hmm, je vais peut-être envisager de rejoindre certains projets open source, sans savoir par où commencer: / Je dois faire des recherches. En ce qui concerne les événements communautaires, je me suis rendu à des réunions locales. En Nouvelle-Zélande, elles sont rares par rapport à ce que vous avez apparemment aux États-Unis, mais elles se produisent et sont très utiles. Merci pour les commentaires.
Hoppipolla
Impliquez-vous avec d’autres personnes réelles qui consultent votre code. Il n'y a pas de remplacement pour cela.
jeffreypriebe le
Oui, je rangerai mon application "budget personnel" et la soumettrai pour évaluation, peut-être sur Redit ou sur d'autres forums communautaires.
Hoppipolla
9

Au fur et à mesure que vous gagnerez en expérience, vous pourrez certainement revenir en arrière et revoir vos projets / codes précédents pour voir où vous vous êtes trompé. Le recul est une belle chose. Je sais pertinemment que j’ai examiné le code / la documentation que j’ai écrit x il ya un an et que j’ai réalisé où j’avais mal tourné et où j’aurais pu améliorer.

Le fait de lire des blogs, des livres, des SE, etc. devrait vous donner une meilleure idée de la programmation dans le cadre de votre développement personnel. Les essais et les erreurs, ainsi que l’évolution de vos projets et de votre code, devraient certainement prouver que vous ' re améliorer. L'autocritique peut être une très bonne chose.

Cela dit, avoir l'œil critique d'un autre développeur ajoute toujours de la valeur et peut donner des avis / options auxquels vous n'aviez peut-être pas pensé. Bien que je ne connaisse pas de site en particulier où vous pouvez transférer un projet complet pour une révision de code, vous pouvez mettre des extraits de ce que vous considérez comme suspect sur codereview.stackexchange pour en prendre connaissance et les commenter, puis prendre en compte ces commentaires et les appliquer. ailleurs, le cas échéant.

Alternativement, vous pouvez écrire des trucs opensource et les jeter sur github (ou équivalent). La communauté open source critiquera certainement votre travail et l’améliorera à sa guise.

En fin de compte, si les produits que vous fabriquez fonctionnent comme prévu, répondent aux exigences de l'entreprise et sont gérables, vous agissez comme il convient.

Pour les questions de programmation conceptuelle, les modèles, etc. Vous pouvez toujours poster ces questions ici sur PSE et pour les problèmes d'implémentation de code sur SO.

Déco
la source
Bravo, je pense que je vais peut-être briser mon budget et publier des extraits sur Codereview.
Hoppipolla
3

Le moi partage mon opinion, quelques mots de sagesse et quelques questions sur lesquelles vous pourrez réfléchir.

En tant que programmeur expérimenté, j'ai constaté au fil des ans que le meilleur code est celui qui est simple (regardez le concept KISS) et plus facile à modifier par un autre programmeur.

En outre, laissez un espace suffisant pour que le code ne soit pas encombré (espace de respiration) et structuré de manière uniforme. Utilisez une convention de dénomination bien connue pour vos variables, en leur donnant des noms compréhensibles (qu'un autre programmeur peut comprendre) et en écrivant des commentaires pertinents, ni trop ni trop peu.

Si vous suivez ce qui précède, vous êtes déjà sur une bonne route.

De plus, les développeurs étant en quelque sorte des architectes, je vais vous donner un dicton très important sur lequel vous devriez réfléchir.

  1. «La perfection est atteinte, non pas lorsqu'il ne reste plus rien à ajouter, mais lorsqu'il ne reste plus rien à emporter» - Antoine de Saint-Exupery.

et

  1. "Viser l'excellence vous motive; chercher la perfection est démoralisant" - Harriet Beryl Braiker.

cependant,

  1. "De nombreux événements, environ 80% des effets proviennent de 20% des causes" - principe de Pareto

Avec ce qui précède, je veux que vous compreniez qu’il existe un juste équilibre entre effort et effet, coût et qualité.

Et les questions à réfléchir;

  1. Qu'est-ce que j'aime faire dans cinq ans à partir de maintenant?
  2. L'amélioration de mes compétences en matière de codage profitera-t-elle à long terme à ma carrière professionnelle?
kyrsid
la source
1

Vous voudrez peut-être consulter https://codereview.stackexchange.com/

Ce serait un excellent endroit pour obtenir des commentaires de professionnels chevronnés sur votre code ou votre conception.

Jessica Brown
la source
Ouais, je suppose que le noeud de ma question était, est une application à part entière appropriée pour poster là-bas, ou est-ce qu'il y a un autre endroit où je peux le faire. Il semble que codereview soit plus ciblé que des extraits de code à examiner. Fondamentalement, fournissez un lien vers le projet github et laissez-les perdre. Je le range aujourd'hui et je chercherai des forums sur lesquels publier le lien. :)
Hoppipolla
1
Tout à la fois pourrait être beaucoup pour un développeur de mâcher à la fois. meta.codereview.stackexchange.com/questions/537/… dit d'essayer un morceau à la fois. Cela ne conviendrait pas à la codévision proprement dite, mais une documentation de conception de haut niveau pourrait être utile à un critique qui examine votre base de code pour la première fois
Jessica Brown
@OliverHyde Si vous publiez un fichier source, disons l'un des plus complexes, vous obtiendrez un retour d'informations sur ce fichier qui s'applique à l'ensemble du projet. Ce sera un bon moyen d'obtenir des informations sur la langue et le style de programmation de votre programme. Si vous recherchez des commentaires sur la conception générale du programme, vous pouvez (selon la FAQ) les poster sur ce site même.
1

Continuez à lire des livres, des blogs et des questions / réponses sur le débordement de pile. Si vous souhaitez vous améliorer de manière plus sociale, pourquoi ne pas vous engager dans un projet open source? Je ne veux pas dire créer votre propre projet , mais travailler sur un projet existant.

Étant donné que vous êtes le seul développeur de cette société, j'imagine qu'il serait possible qu'un jour, vous engagiez quelqu'un d'autre. Dites-vous que ce jour-là, le gars devra lire votre code. Etes-vous déjà en train d'écrire de la documentation sur votre outil? Garder à l'esprit que votre travail peut être lu par d'autres personnes est une bonne chose pour les développeurs solos et vous aide à créer un meilleur code.

smonff
la source
1
Oui, c'est ce que j'ai commencé à faire avec mon codage maintenant. Mon patron a suggéré de faire appel à un développeur supplémentaire l'année prochaine ... misez sur ma documentation :)
hoppipolla
1

Je suis dans la même situation que vous. J'ai été embauché comme programmeur unique pour une entreprise de cinq personnes et un seul d'entre eux est directement impliqué dans les applications que je développe / complète. Heureusement, je n'ai pas eu à créer quoi que ce soit à partir de rien, mais jusqu'à présent, seules les applications modifiées que mon prédécesseur avait créées. Ce faisant, je pense m'être déjà amélioré en reconnaissant quelles parties de son code étaient bonnes, quelles parties étaient mauvaises et comment on pourrait les améliorer.

La lecture du code est une partie essentielle de l’amélioration de votre propre codage. Je vous suggère donc avant tout de chercher vous-même un projet open source, de lire le code, de le comprendre et d’essayer de juger ce qui est bon, ce qui est mauvais et ce qui pourrait être amélioré. Peut-être même écrire une critique de code à ce sujet sur votre blog.

À votre santé!

scd
la source
Ouais à la vôtre! Cela fait plus longtemps que je travaille ici et je trouve un bon rythme d’utilisation des sites Web de révision de code en ligne et d’auto-révision.
Hoppipolla
-1

Laisser. Trouvez un nouvel employeur dans lequel vous travaillerez au sein d'une équipe de développeurs plus importante, y compris des types très chauds.

Vous avez clairement toutes les bonnes motivations à vouloir.

Dom Barker
la source
4
Cela ne devrait pas être la première option. L'OP apprécie son travail et il a apparemment aussi un patron décent, ce qui semble rare de nos jours. Avant de sauter, considérez que vous pouvez vous retrouver avec un travail que vous n'appréciez pas, avec un mauvais patron, et aucune garantie que vous allez réellement apprendre de nouvelles choses.