##Recrutement 🇫🇷

Comment décrocher son premier job de développeur Junior Ruby ?

Jeanro Krupa

Jeanro Krupa

11 min read
Tu viens de terminer tes études, un bootcamp ou un tuto en ligne pour apprendre à coder. Alors déjà bravo 🎉🎈🎊🍾 ! C’est une super première étape, en plus tu codes en Ruby 💎 et tu fais donc parti de cette fantastique communauté. Maintenant tu veux passer aux choses encore plus sérieuses et décrocher ton premier job comme développeur Ruby junior 💪.

Ton entourage te dit, “ah tu n’auras pas de mal à trouver un job dans l’informatique ou dans le codage, ça embauche….” Tu as lu de partout qu’il y a une tension énorme sur les métiers de devs. Et là tu te rends compte que malheureusement la réalité est bien différente de tout ça…

Le constat: peu d’offres de dev juniors 🥲


Dans la bouche des recruteurs, généralement junior = déjà une expérience professionnelle avec moins de 3 ans d’expérience. D’ailleurs dans les filtres sur RoRJobs (comme la plupart des jobs boards) junior est entre 0 et 2-3 d’expérience. Je ne suis pas un grand fan de cette notion d’expérience mais malheureusement c’est comme cela que ça marche.

La très grande “tension” sur le marché du recrutement des développeurs (tout framework confondus) est pour les profils ayant plus de 3 ans d’XP. Malheureusement il y a plus de devs Junior sur le marché que d’offres d’emploi disponibles.
Sur RubyOnRailsJobs seulement 12% des jobs sont ok pour embaucher sans expérience. Sur ces 12% la grande majorité sont des stages ou des offres en alternance. De l’autre coté de la plateforme (Listing des devs Ruby On Rails) plus de la moitié des développeurs n’ont pas d’expérience professionnelle en tant que développeur.

Donc si on résume une offre de job très faible pour beaucoup de demandes, c’est effectivement un marché en tension… Mais tout n’est pas noir, il te faut être patient et stratégique. J’ai eu récemment la fierté d’avoir pu aider 3 dev junior (sans expérience) trouver leurs premier CDI.

Alors voici mes quelques tips en espérant qu’ils puissent t’aider, je les ai classé en 3 catégories. Ces catégories doivent être tes guidelines dans tout ce que tu fais pour t’amener à ton CDI:
  • Construit ton expérience
  • Continue d’apprendre
  • Reste motivé et focus

Construit ton expérience 🧙‍♀️


Rare sont les sociétés qui recrutent en CDI directement après une école ou un bootcamp 🥲. Il te manque une “première experience significative” 😡. Mais en même si personne te donne ta chance comment vas-tu l’obtenir ? Voici quelques propositions (que tu peux combiner) pour hacker cette première XP.🧙‍♀️

Tips n°1: Un peu de Freelance 🤟


Si tu as un prof, un pote, bref un dev plus senior que toi n’hésites pas à demander si tu peux l’aider dans ses missions. Beaucoup de freelance n’ont pas l’opportunité de pouvoir mentorer des juniors et ils sont souvent ravi de le faire.
Ma toute première expérience de dev à été grâce à mon prof et pote Alex ❤️. Tu ne seras sûrement pas à 300€ / jour mais tu apprendras énormément et bossera sur des vrais projets.

Adapte les missions, si tu veux être dev backend faire des sites vitrines pour tes potes n’est pas suffisamment significatif comme expérience.

Tips n°2: Projet perso 🚀


C’est un super exercice pour progresser et voir des concepts que d’autres devs ne verront pas. Certain recruteurs vont mêmes ne pas te faire faire de tests techniques mais juste discuter des choix techniques que tu as pu faire sur ton projet.

 Quelques tips et pièges à éviter (dans lesquels je suis tombé 😂)
  • Je parle de lancer un projet mais pas une boite. Ton objectif doit être de créer un outil très scopé, simple et qui te permet d’apprendre.
  • Demande à des devs plus senior que toi de review tes PR pour que tu apprennes quelque chose. (Je fais ça pour RoRJobs où Clem revoit mes PR). Tu n’as pas de dev senior autour de toi ? jette un oeil FirstRubyFriend
  • Tu manques d’inspiration ? Reproduit une petite app existante que tu peux voir sur ProductHunt ou IndieHacker.
  • Cherche à faire un projet qui marchera toujours même quand tu auras trouvé un CDI. Sait on jamais 💰
  • Force toi à faire du TDD, des petites PR, des migrations propres, un environnement de staging, du déploiement continu… comme si tu étais déjà en CDI. J’avais tellement pris l’habitude de pousser salement sur master que pour mon 1er job j’ai du avoir une bonne session de rattrapage sur git 😂
  • Sort de ta zone de confort. N’hésites pas à utiliser d’autres technos Electron, Extension Chrome, Objet connecté…

Tips n°3: De l’open source


Tu peux chercher dans des repos ou il y a des “good first issues” ou demander autour de toi si tu peux contribuer à des projets semi open comme RubyOnRailsJobs. C’est souvent intimidant mais ça peut valoir le coup et tu feras sûrement des rencontres cool.

Tips n°4: Appuie toi sur tes expériences passées 👜


Je vois pas mal de devs sans expérience décrocher leur premier job grâce à leur “ancienne” vie. Tu étais comptable ou dans la finance pourquoi pas apply chez Mooncard, Pennylane, Acasi ?

Tu as fait du Marketing, Growth ou SEO, recherche des petites équipes avec des profils très back, ils seront ravi d’intégrer quelqu’un pour discuter avec le pôle marketing.

Tu faisais un métier qui a “rien à voir” ? Cherche un peu et tu trouveras toujours une boite en rapport avec ton expérience précédente.

Continue d’apprendre 📚


Tips n°5: Ne te disperse pas à apprendre trop de Frameworks ou langages de programmation


Lorsqu’on aborde le sujet avec des élèves du Wagon notamment on entend souvent: “Ruby ça ne recrute pas, du coup je vais apprendre React, Vue.js il y a plein d’offres…”.

Stop aux idées reçues ✋. Il y a tout autant de postes en Rails que sur d’autres framework Fullstack comme Symfony, Laravel, Django… Pour ce qui est des frameworks de front effectivement il y a plus d’offres mais:
  • la répartition Junior/Mid/senior est la même
  • il y a encore plus de développeurs Junior sur ces technos et donc plus de compétition
  • Ce sont des frameworks 100% frontend donc pour le back ça va pas t’aider et pour être fullstack c’est plus difficile.

Ne te disperse pas à apprendre trop de frameworks… Si tu connais Rails et tu veux être dev Backend ou Fullstack parfait. Inutile d’apprendre Django 🐍, Symfony, Laravel… Si tu veux être dev Front je te recommande d’apprendre React OU Vue.js mais en aucun cas les deux. Ils sont suffisamment proches pour en apprendre qu’un seul. Tu veux apprendre un nouveau langage de programmation ? Cool ! Mais n’oublie que ce ne sont que des outils pour faire des produits. Si tu connais Ruby les autres langages orienté objet ne te serviront que très peu dans ton apprentissage. Pourquoi pas apprendre un langage plus bas niveau comme C ou Go ?

Tips n°6: Apprendre ce n’est pas regarder des tutos 📺


Je n’ai rien contre regarder des tutos je suis moi-même un énorme fan de GoRails et j’ai appris énormément grâce à ça. Mais regarder ≠ Savoir faire. Si tu regardes un tuto c’est que tu es tombé sur un problème ou que tu as une feature à faire. Le tuto est dans ce cas un moyen de le résoudre sinon ça ne sert rien et très franchement tu ne retiendras rien.
Tu veux apprendre un nouveau langage ou Framework ? Oubli Youtube, Udemy, Codecademy. Fait un projet et ouvre la doc.

Tips n°7: Apprendre des concepts plus que des bouts de code ou des gems


C’est cool de savoir que tu peux faire User.fourty_two avec Rails mais ça ne sert pas à grand chose pour ton futur Job. Pour décrocher ton premier job en Ruby je pense qu'il faudrait connaitre ces concepts:
  • Qu’est ce qu’un ORM (ActiveRecord) et comment ça marche (dans les grandes lignes). resource ici
  • Connaitre un framework de test (Mini test ou Rspec) car il y a beaucoup de chance que ta prochaine boite fasse du TDD. Tu n’as pas besoin d’être expert mais c’est bien de savoir faire un test de model, de feature (capybara + selenium) et des factories. Ces concepts vont remplir 80% de tes besoins, le reste tu l’apprendras en pratiquant. une ressource cool ici pour apprendre Rspec
  • Quelques notions en dehors du classique. Qu’est ce qu’un namespace, un concern, un service, une rake task, un CRON, un job…
  • Connaitre ce qu’est une state machine où et quand l’implémenter. ressource ici
  • Webhook VS Call API
  • Si tu veux être dev RoR Backend comment utiliser Rails en API only
  • Quelques notions de Cache: Memoization, Redis…
  • Polymorphisme vs STI
  • Connaitre la différence entre une DB relationnelle et non relationnelle
  • Qu’est ce qu’une N+1 query et comment les éviter
  • Comment fonctionne une authentification (en gros comment fonctionne Devise dans les grandes lignes).
  • Quelle est la différence entre une archi monolithique vs micro services
  • Jeter un oeil aux roadmaps https://roadmap.sh/ et se poser la question si on est capable d’expliquer à un quelqu’un le concept.

Reste motivé et focus 😄


C’est parfois difficile de rester motivé quand on essuie de nombreux refus ou pire des absences de réponses. Quelques petites astuces pour rester focus et motivé.

Tips n°8: Reste focus sur - Lire du code et écrire du code

Ce n’est pas moi qui le dit mais DHH 😇 On voit souvent le conseil de lire le code source de Gem. Personnellement j’ai trouvé cela très frustrant car beaucoup trop meta et difficile en début de carrière. Et lire des gems pour lire des gems c’est comme regarder un tuto sans appliquer ça ne sert pas à grand chose.

En revanche cloner des repos d’app open source Rails est bien plus formateur car on peut un peu plus jouer avec.

Tips n°9: Prépare toi aux tests techniques !


Ok tu as enfin décrocher un premier entretien ça s’est bien passé. La boite cherche 2-3 ans d’XP mais tu as réussi à convaincre le recruteur grâce à ton background qui fit avec leur métier bien joué ✌️. Le recruteur te propose donc de passer à l’étape suivante: le test technique avec le CTO.

La personne est cool mais pas hyper loquace car très occupé et fait autre chose en même. Le sujet tombe: un algo d’ascenseur. Sur le papier ça va (en plus tu as eu un tips d’un pote et tu connaissais le sujet). Ça démarre pas mal mais là tu bloques sur un petit truc, tu paniques, tu as chaud, tu tournes en rond pendant 10 min et là le recruteur te dit que désolé mais le temps est écoulé… Raté. (C’est du vécu comme tu peux l’imaginer 😬)

Les tests techniques c’est très différent du vrai job, c’est un truc à part entière qui demande de la préparation, c’est d’ailleurs pour ça que j’ai lancé un service de préparation aux tests techniques. Car c’est affreux quand tu sais que tu as le niveau mais que tu as simplement perdu tes moyens.
Il y a peu d’opportunités de développeur Junior moins on a de tests raté mieux on se porte.

Tips n°10: Des petits hacks pour se motiver


Tu peux aussi voir ta recherche de job comme un jeu. Alors voici quelques stratégies farfelues ou pas 🙃 ? Tu auras éventuellement une réponse/réaction de la part du recruteur:
  • Mentir sur ton expérience… Bon c’est pas ouf… Mais si tu es vraiment chaud patate propose qu’on t’envoi le test technique d’abord histoire de prouver de quoi tu es capable.
  • Scrape la boite où tu souhaites apply et envoie le résultat au CTO. Je suis certain que tu auras à minima une petite réaction.
  • Développer un petit outil complémentaire ou proche de la boite où tu veux aller.
  • Provoquer des erreurs Sentry avec ton nom dedans 😅
  • Essayer de vendre un service / ton app à une boite où tu veux apply
  • Tu as des idées partage !



J’espère que cela peut t’aider. L’idéal serait qu’il y est plus de sociétés ouvertes à faire l’effort de mentorer des juniors mais je suis certain que cela va changer petit à petit. En attendant reste motivé, continue d’apprendre 💪

N’hésites pas à te créer un compte de développeur ici et partager cet article s’il tu as aimé. Si tu as besoin d’aide n’hésites pas à me contacter directement sur Linkedin ou Twitter
Feed
Sign up or Sign in to comment