Temps requis pour commencer à coder dans une nouvelle entreprise [fermé]

12

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.

Robert Johnson
la source
Puisque vous mentionnez Comment plonger dans de grandes bases de code? , quelles sont les réponses qui ne couvrent pas votre cas?
moucher
3
Puisque vous programmez en binôme, vous n'avez pas besoin d'écrire de code pour être productif. Vous pouvez être très utile en observant simplement quelqu'un d'autre écrire du code. Bientôt, vous en saurez assez pour commencer à écrire du code vous-même.
kevin cline
@kevincline s'il s'associe en tant que nouveau développeur, il devrait sûrement être celui au clavier sinon ce serait une configuration de paire plutôt mauvaise ...
Jimmy Hoffa
Si c'est ainsi que l'entreprise fait les choses, vous n'avez vraiment pas le choix. Assurez-vous de savoir ce qu'ils attendent de vous le moment venu. Poser des questions. Avoir un retour. Vous pouvez perdre beaucoup de temps si vous ne faites pas attention.
JeffO
@JimmyHoffa, je sais que ce serait mieux pour moi, mais dans ce cas, je ralentirais beaucoup mes pairs. Comme je vais devoir demander chaque syntaxe, fichier réel que je dois modifier, modèle de données ou autre chose, cela ralentira mon homologue.
Robert Johnson

Réponses:

10

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.

Rein Henrichs
la source
1
Plusieurs mois ne sont pas rares pour les complexes, grands (1 million + SLOC), d'autant plus que le domaine est également niche et / ou complexe.
mattnz
1
+1: Certaines entreprises ont des mentors affectés à de nouvelles embauches, quelle que soit leur expérience, précisément pour ces raisons. Je suce toujours la personne la plus proche de moi qui est disposée à aider et à leur poser des TONNES de questions - puis je les projette ouvertement vers mon / leur manager quand ils aident.
Steven Evers
@mattnz Yep. Cependant, plusieurs mois ne sont que plusieurs semaines. ;)
Rein Henrichs
5

Est-ce normal?

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.

Telastyn
la source
2

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.

Newtopian
la source
1

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.

Sam
la source
0

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.

Southpaw Hare
la source
2
Certaines personnes pensent que c'est plus difficile qu'il ne l'est réellement. Très souvent, il s'agit de confiance plutôt que de talent.
ChaosPandion