Certaines des autres réponses sont très bonnes, je vais donc y répondre sous un angle différent.
Les premières personnes à voir votre curriculum vitae / CV ne seront probablement pas les responsables techniques qui seraient vos supérieurs, mais plutôt les RH qui ne savent pas que C # est C sharp, RoR est Ruby on Rails, ou que "4 ans d'expérience" ne signifie pas 4 ans d'une chose ET 4 ans d'une autre ET 4 ans d'une troisième chose (dans leur esprit en ajoutant jusqu'à 12 ans d'expérience). Ils ne comprendront pas non plus que cela signifie 4 ans dans l'idéal, mais 2 ans plus 2 ans supplémentaires dans quelque chose de similaire est suffisant. J'ai même vu des descriptions de poste où le niveau d'expérience sur une technologie spécifique dépassait l'âge de la technologie, mais les RH s'attendaient toujours à autant d'expérience dans cette technologie.
Le service des RH ne comprendra probablement pas que Ruby on Rails est similaire aux langages / frameworks / bibliothèques / technologies X, Y et Z, donc ils ne comprendront pas que, parce que vous savez comment faire de la POO en RoR, vous avez une solide compréhension de la façon de le faire dans de nombreux autres langues. J'ai passé les 6 dernières années à travailler en C #, ce que j'ai appris sur le tas en fonction de ma scolarité et de mon expérience personnelle en Java (que j'ai commencé à apprendre en 1996-7), cependant, je ne peux pas obtenir un emploi Java pour sauver mon la vie.
Je ne peux pas non plus trouver de travail PHP, même si je fais ça depuis plus de 10 ans par moi-même. Même avec C #, Java, PHP et même JavaScript étant tous très étroitement liés, les RH ne comprennent pas comment connaître l'un signifie que vous pouvez facilement passer à un autre. Ils pensent que toutes les langues sont aussi distinctes que les langues parlées: C # = grec, Java = espagnol, RoR = chinois, etc. Peu importe que les langues parlées puissent être très similaires, ils ont juste des malentendus parce qu'ils n'ont pas nos expériences.
Encore une fois, peut-être que mon expérience m'a laissé amer, car je n'arrive pas non plus à trouver un autre emploi C #. Personnellement, je pense que c'est parce que je ne connais pas tous les noms de toutes les techniques que j'utilise. J'utilise juste ce qui fonctionne et je me fiche de son nom. Un peu comme jouer aux échecs et ne pas savoir que j'utilise le "Queen's Gambit", ou autre.
J'ai aussi fait pas mal de VB / 6 / .Net {shudder} dans mon précédent des postes, ce qui semble me susciter beaucoup d'intérêt pour des postes similaires presque indépendamment de ce que je sais. Certaines technologies sont comme ça. Si vous pouvez trouver un créneau dans votre région qui fait RoR alors qu'il y a peu de développeurs pour occuper les postes, vous pourriez avoir une bonne avance sur une carrière bien rémunérée. Autrement dit, si vous aimez RoR.
Votre premier travail n'a pas à vous définir, mais il peut être très difficile de l'empêcher. J'ai passé 15 ans en tant que technicien de réparation d'ordinateurs et il m'a fallu pratiquement tout ce temps pour trouver un emploi en programmation, car je cherchais toujours un emploi de développeur tout en recherchant un travail de réparation. Mon premier emploi en informatique au lycée était dans la réparation d'ordinateurs et je pense qu'à cause de cela, même si j'ai commencé un BS en génie informatique à l'université, je n'ai pas pu trouver un emploi en programmation même si j'ai appris la programmation avant la réparation d'ordinateurs.
Peut-être que cela fait aussi partie de mon cynisme (et peut-être aussi simplement basé aux USA), mais de nombreux emplois veulent un baccalauréat comme "minimum", même si le travail peut être appris sans un. J'ai même vu des postes qui suggèrent une maîtrise ou un doctorat, ce qui, encore une fois, le département des ressources humaines assumera que c'est une exigence, plutôt qu'un «bon à avoir». Heureusement, plus de descriptions de poste incluent également "ou une expérience de travail équivalente".
À mon dernier poste, le chef d'équipe était un décrocheur du secondaire, mais il avait plus d'années d'expérience professionnelle en programmation que moi et était un meilleur programmeur parce qu'il se spécialisait plus que moi. C'est même en considérant que je n'ai que un diplôme d'associé, mais plus de 25 ans d'expérience totale en programmation et dans près de 20 langues distinctes. (Je ne considère pas MySQL, T-SQL, MS-SQL, Oracle SQL ou SQL brut comme des langages différents. Je regroupe également XHTML, HTML et HTML5, et j'inclus CSS avec CSS3. JavaScript, TypeScript et ECMAScript sont également regroupés, IMO.)
Alors, qu'est-ce que toutes mes divagations essaient de conclure? Déterminez ce que vous voulez faire, puis faites-le. Ne vous laissez pas distraire par ce que les autres veulent que vous fassiez. Ils ne savent pas comment l'avenir se déroulera mieux que vous. En même temps, n'ayez pas peur d'essayer plusieurs choses différentes, car c'est vraiment la seule façon dont vous êtes susceptible de savoir ce que vous voulez vraiment faire. Aussi, n'abandonnez pas si les choses ne se passent pas immédiatement comme vous le souhaitez. Si vous ne trouvez pas tout de suite un emploi dans la langue / technologie que vous voulez, continuez et vous y arriverez, éventuellement. Et oui, en même temps, n'ayez pas peur de trouver un autre travail, car vous avez encore besoin de survivre pour obtenir le travail que vous voulez, qui ne sera peut-être pas le travail de rêve auquel vous vous attendiez, de toute façon.
Peut-être que j'aide, peut-être que je ne le suis pas. Je ne le saurai pas tant que vous ne me le direz pas d'une manière ou d'une autre. Cela me convient. Je n'avais pas l'intention que ce soit un CV ou une diatribe, mais c'est la seule façon dont je peux sembler raconter cette histoire, même après l'avoir relue 3-4 fois.
Bonne chance et j'espère que vous j'ai plus de chance que moi!