Je suis ingénieur logiciel depuis 4 ans, et je viens de changer d'entreprise pour la première fois.
La société travaille avec la programmation par paire, et cela fait 3 jours, je ne pouvais même pas écrire une seule ligne de code. C'est tellement frustrant pour moi parce que j'étais très productif dans ma précédente entreprise.
La base de code est grande, ils utilisent 5-6 langues / outils que je ne connais pas, comme rspec, haml, jasmine et autres. Mais quand même, je me sens mal.
Ce week-end, j'ai créé UML pour mieux comprendre l'application, mais je suppose que je ne serai pas en mesure d'écrire une quantité décente de code cette semaine.
Est-ce normal?
Quelle est votre expérience lorsque vous changez de travail et plongez dans une grande base de code écrite avec des langues / bibliothèques que vous ne connaissez pas.
Bien sûr, je ne demande pas le temps exact requis, mais les expériences passées ou les choses pour faire le processus seraient formidables.
Btw, j'ai déjà lu ci-dessous des questions et réponses, comment plonger dans de grandes bases de code?
/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase
/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase
MISE À JOUR
Toutes les bonnes suggestions! Je viens de rentrer du travail, j'ai beaucoup travaillé!
À propos de la programmation par paires:
Généralement, ils écrivent du code, et j'essaie de ne pas manquer même une seconde! Si j'essaie d'écrire le code, je sais que ça va prendre une éternité, car je ne sais même pas quels fichiers dois-je modifier, mais à côté de cela, comme je l'ai dit, ils utilisent 6-7 langages / frameworks que je ne suis pas connaître et apprendre toutes ces syntaxes en une seule n'est pas facile.
La préparation de l'entreprise pour les ingénieurs:
Je ne peux pas dire qu'ils sont bien organisés, ils s'attendent en quelque sorte à ce que je commence à écrire du code immédiatement.
Prendre des notes, être proactif:
Je prends toujours des notes quand ils écrivent une nouvelle commande / ou quoi que ce soit sur les modèles de données. Mes pairs sont des gens très intelligents et gentils, et j'essaie de poser beaucoup de questions, parfois même beaucoup de questions stupides .
Est-ce courant?:
@Telastyn, merci pour vos réponses, cela m'a fait me sentir un peu mieux. Il semble que mon problème n'est pas si rare, mais j'étais vraiment productif avant ce travail, et maintenant je me sens vraiment inutile et pas intelligent.
J'espère que je pourrai commencer à résoudre les bugs / implémenter les problèmes très bientôt.
À propos des frameworks / langages qu'ils utilisent:
J'étais vraiment honnête à ce sujet, je n'ai pas dit que je sais quelque chose que je ne sais pas vraiment. Mais je ne m'attendais pas à des choses très différentes, et depuis que j'ai commencé à travailler le jour où j'ai accepté l'offre, je n'ai pas eu le temps de me préparer.
@Southpaw Hare, merci beaucoup d'avoir partagé votre expérience. Tu as tout à fait raison. Il n'y a aucune garantie que je vais apprendre toutes ces choses, mais j'essaie. À la fin, il est difficile d'apprendre toute la syntaxe à la fois, et je pense que c'est aussi le principal problème. Parce que je peux bien naviguer dans le code ruby car je connais cette langue, et je navigue dans les codes js grâce aux inspecteurs du navigateur, mais le problème est d'écrire les codes réels avec les frameworks / langages que je ne connais pas.
la source
Réponses:
Cela dépend de choses telles que la complexité du système et la façon dont l'organisation est prête à intégrer de nouveaux programmeurs. Cela peut prendre de 30 minutes à plusieurs semaines. Ce n'est pas nécessairement quelque chose que vous faites mal et vous ne devriez pas vous sentir mal à ce sujet.
Ce que vous devez faire, cependant, c'est être proactif pour le réparer pour vous-même et pour les autres. Parlez à votre responsable de vos frustrations et travaillez ensemble pour les surmonter et améliorer le processus pour les autres nouveaux employés.
Écrivez des notes sur les choses avec lesquelles vous vous débattez, réfléchissez à des façons de les résoudre ou de les contourner, et documentez votre processus. Tenez les autres personnes qui peuvent vous aider au courant de vos progrès et demandez de l'aide. Il n'y a rien de honteux à demander de l'aide.
la source
Pour la plupart des bases de code, c'est le cas. Bon sang, dans mon entreprise, vous rencontrez les RH pendant 2 jours avant de pouvoir toucher un ordinateur. C'est une valeur aberrante, mais considérez le temps qu'il faut pour obtenir la configuration de l'environnement de développement, vous familiariser vaguement avec le domaine, la structure du code, les normes de l'équipe ...
En tant que chef d'équipe, je m'attends à ce que vous ne fassiez rien pour 1 sprint (deux semaines) et que vous travailliez à ~ 50% pour les 1-2 sprints suivants.
la source
swing to the other extreme .. J'ai travaillé dans une entreprise qui n'avait que 2-3 langues mais il a fallu une bonne partie de l'année avant que les programmeurs ne se déchaînent sur la base de code, probablement 1 ou 2 mois avant d'engager leur première ligne de code.
Ne vous en faites pas, si vous avez été honnête lors de l'entretien sur votre manque de connaissances sur ces plateformes, ils savaient dans quoi ils s'embarquaient. Cela prend du temps et le temps ne peut pas être étendu, raccourci ou compressé, assurez-vous d'en tirer le meilleur parti.
la source
Cela dépend vraiment du travail que vous faites et du rôle que vous jouez.
Si vous effectuez un travail contractuel, vous devez littéralement vous lancer, en utilisant toutes les compétences à votre disposition pour faire le travail. Le travail contractuel est généralement bien défini et vous êtes (généralement) en mesure de le faire, du moins d'après mon expérience.
D'un autre côté, j'ai commencé à un endroit qui avait une énorme base de code héritée avec une énorme courbe d'apprentissage. On ne s'attendait pas à ce que nous écrivions du code de production pendant les six premiers mois de notre séjour.
Soyez patient, absorbez le plus possible et mettez-le à bon escient lorsque vous commencerez à coder. Si vous êtes hospitalisé ou pressé, il y a de bonnes chances dans un système aussi grand que vous pourriez finir par casser quelque chose, en particulier si leur couverture de test n'est pas brillante.
la source
Un certain laps de temps est absolument normal afin de s'habituer à quelque chose de si complètement inconnu - je ne me blâmerais pas ou ne me sentirais pas mal. Cependant, il est important d'être prêt à accepter la possibilité que cet emploi ne relève pas de vos compétences. Ce n'est pas nécessairement le cas, cela vaut la peine de laisser la possibilité ouverte dans votre esprit.
Le problème peut ne pas provenir de la taille de la base de code, mais du fait que vous ne connaissez pas les langues concernées. Dans ma propre expérience personnelle, j'avais un emploi dans une entreprise où je ne connaissais aucune des langues utilisées dans une base de code assez étendue. Malheureusement, je n'ai jamais pu l'apprendre suffisamment après environ 5 mois, et je suis allé à la place dans une autre entreprise. Là, j'étais compétent dans la langue principale, et malgré la taille de la base de code étant comparable, je m'en suis plutôt bien sorti.
Lorsqu'il s'agit d'apprendre de nouvelles langues, les gens pensent généralement que c'est plus facile qu'il ne l'est en réalité et se tiennent à des normes élevées pour les apprendre rapidement. Il est probable que cela vous prendra plus de temps que vous ne le pensez, alors gardez cela à l'esprit indépendamment de ce que vous décidez.
la source