Si je travaille en tant que développeur dans une langue (par exemple Java) et que je progresse vers le niveau de développeur senior, est-ce que cela me qualifierait en tant que développeur senior pour un poste utilisant une autre langue (par exemple Ruby)?
programming-languages
skills
Philippe
la source
la source
Réponses:
La meilleure façon d'y répondre est de voir quelle est la différence entre un développeur et un développeur senior. En supposant que ce n'est pas seulement une question de temps, je m'attends généralement à ce que les développeurs et les développeurs seniors soient capables de:
De plus, je m'attendrais à ce qu'un développeur principal:
Alors, la question devient alors: remplissez-vous les critères étendus pour votre deuxième (ou troisième ou quatrième) langue? Je suggérerais que tant que vous êtes suffisamment compétent techniquement dans la langue vers laquelle vous vous déplacez, alors oui, car la plupart des tâches de développeur principal ont tendance à être transférables.
la source
Vous pouvez postuler à n'importe quel poste dans n'importe quelle entreprise que vous aimez, quel que soit votre statut actuel.
Ce sera à vous de prouver dans votre CV / lettre de motivation / entretien que vous êtes l'homme du poste.
la source
Je recherche les qualités suivantes lorsque j'ai interviewé des développeurs principaux.
Il y a une myriade d'autres choses que je recherche, mais ce sont les points principaux.
Bien que j'ai recommandé d'embaucher des développeurs principaux qui n'étaient pas des experts dans la langue utilisée au travail, ils étaient des experts dans des langues similaires.
la source
Vous pouvez postuler, mais au moins si je fais l'embauche, je pourrais ou non vous embaucher.
L'ancienneté concerne (au moins) deux domaines. Expertise générale en développement et expertise linguistique / cadre. (Je laisse délibérément de côté la connaissance de l'espace commercial) pour le moment. Être développeur principal dans mes livres inclurait également un niveau d'expertise en conception / architecture. Comment construire un bon système / testable, etc.
Arriver à ce niveau en Java devrait vous être très utile pour d'autres langages (similaires / procéduraux).
Mais à l'ère de la productivité immédiate attendue, il est peu probable que vous en sachiez presque autant sur Ruby que sur Java. Comment diviser votre système en constructions compatibles Ruby au lieu de constructions compatibles Java. Vous connaissez probablement certains frameworks Java et non Rails ou d'autres choses spécifiques à Ruby.
Si je vous demandais de faire du codage de tableau blanc en Ruby pendant l'entretien, pourriez-vous le faire?
Tous ces éléments entreraient dans ma décision de vous embaucher ou non, à n'importe quel niveau; mais en particulier pour un rôle senior .
Bonne chance
la source
Nan.
C'est l'une des grandes différences entre notre profession et d'autres professions plus «formelles». Si vous avez travaillé comme avocat dans le domaine des testaments et des successions pendant 20 ans, vous allez avoir un taux élevé parce que vous avez 20 ans de connaissances accumulées dans ce domaine .
Si vous faites du C ++ / Win32 / MFC depuis 15 ans, cela ne vous qualifie pas vraiment pour un poste senior en tant que développeur Rails, même si vous résolvez toujours les mêmes problèmes dans le même domaine ... facturation, par exemple.
Pire encore, la plupart des entreprises ne vous considéreront même pas pour un poste à peu près similaire ... Par exemple, si vous avez fait du C ++ / MFC pendant 5-7 ans, vous devriez être en mesure de vous familiariser avec C # /.NET très rapidement, au moins pour le bureau. Malheureusement, la plupart des entreprises ne le voient pas de cette façon.
la source
Ça dépend
Retirez-en la "programmation". Imaginez plutôt que vous êtes un traducteur professionnel.
Supposons que l'anglais est votre première langue et que vous maîtrisez également le français. Vous êtes susceptible d'apprendre l'espagnol assez facilement.
Cependant, vous n'êtes pas aussi susceptible de maîtriser rapidement les nombreux dialectes chinois. Bien que votre expérience en tant que linguiste vous aidera à apprendre la (les) langue (s), vous donnant un avantage sur quelqu'un qui n'a jamais étudié une langue étrangère, il vous faudra encore beaucoup plus de temps pour devenir un "expert" (c'est-à-dire "senior" ) traducteur dans cette langue.
la source
Oui et non.
Si les langages sont assez similaires , dites C ++, Java ou Ruby, assurez-vous que vous devriez être pris en compte. Selon la flexibilité des personnes assises dans ces bureaux, vous avez une chance de vous battre.
Cependant, si les langues sont très différentes , et j'entends par là que vous êtes un gars COBOL qui a été excité à propos de Haskell, alors malgré vos 10+ années de COBOL, les chances sont nombreuses que vous ne puissiez même pas autant obtenir une interview.
COUPLE DE CHOSES QUI VA SE FAIRE EN VOTRE FAVEUR DANS DE TELLES SITUATIONS:
la source
J'ai rarement vu un titre "senior" basé sur la langue. Je connais quelques programmeurs système senior , quelques programmeurs web senior et un programmeur COBOL senior.
La programmation a de multiples facettes et a plusieurs disciplines à offrir. Je m'attendrais à ce qu'un développeur Web senior (dans les titres, le programmeur et le développeur semblent être interchangeables) soit compétent dans plusieurs langages courants utilisés dans le développement Web. Cela fait-il d'un gourou Python et PHP un expert instantané en C #? Non. D'un autre côté, tous les gourous du C # ne maîtrisent pas l'art de la gestion de projet et du leadership.
J'ai occupé le poste de CTO dans une entreprise, en plus d'être le programmeur principal des systèmes. Pourtant, je m'en remettrais volontiers à un expert en schéma ou LISP si nous rencontrions un projet qui nécessitait l'un ou l'autre. Une partie d'être un bon leader est la compréhension de vos propres limites et défauts d' abord .
Je ne suis pas sûr de vouloir travailler dans une entreprise, ou même dans un département qui se concentre sur une et une seule langue. On dirait que cela ferait ce qu'ils ont toujours dit que fumer ferait: ralentir votre croissance alors que la réalité est bien pire.
Ne pas courir après les titres, courir après les connaissances. Mais, pour être honnête, votre rôle dans un poste de direction antérieur vous donnerait probablement un avantage supplémentaire, à condition que vous démontriez des compétences dans la langue en question.
la source
Je pense que cela dépend de ce que vous percevez en tant que développeur senior? S'il s'agit davantage d'un rôle d'architecte, de nombreux principes de conception et modèles de conception seront à votre disposition à partir de votre expérience en tant que développeur, quelle que soit la langue. C'est donc un plus ;-)
Cependant, lorsque vous envisagez de créer une application ou un code aussi productif et maintenable que possible (le roulement de votre bit sleaves), je ne pense pas que vous puissiez entrer au même niveau d'expérience lors du changement de langue, d'IDE et / ou de framework.
Mais comme l'a dit runrun, cela ne vous empêche pas de postuler à quoi que ce soit
la source
Cela dépendra fortement de l'entreprise que vous interviewez, car ce sont généralement les procédures internes des ressources humaines qui déterminent la manière dont les nouveaux employés sont recrutés. Les grandes entreprises ont tendance à être très rigides et si elles disent que vous devez avoir n ans d'expérience dans une langue donnée pour être considéré comme un niveau supérieur, vous constaterez peut-être qu'elles ne vous apporteront qu'un développeur de niveau intermédiaire.
Cela dit, cela ne devrait pas vous empêcher de postuler pour le poste et s'ils vous amènent pour un entretien, c'est quelque chose dont vous devriez discuter.
la source
Je dirais que plus le langage est basique ou convivial, plus vous êtes expert.
L'expertise Java / C # est moins rémunérée que l'expertise ASM / C / C ++.
Ces derniers langages gèrent la mémoire et d'autres choses qui importent réellement lors de la programmation.
Mais pour d'autres langues "faciles", vous auriez besoin de faire une comparaison rapide sur les fonctionnalités qui les rendent "plus faciles", mais je trouve cela inutile. Les expériences avec les langages faciles sont mieux mesurées avec le CMS / autre code fait que vous avez utilisé pour travailler, comme l'allumeur de code ou le django ou Apache ou RoR.
Pour moi, les développeurs seniors sont des personnes qui programment des noyaux, des systèmes, du matériel embarqué, etc. Les programmeurs utilisant des langages qui ne sont pas adaptés aux machines ne sont pas des seniors pour moi. Ils font juste le travail, mais c'est tout.
la source