Vous souhaitez donc devenir développeur Ruby?



À un moment donné, on m'a demandé de créer une équipe Ruby pour une unité Codequest distincte, ce qui signifiait que je deviendrais Timlid (diable, oui !!!) et - plus important encore, en fait, devenir la personne qui est approchée par tous les RH essayant de recruter de nouveaux développeurs (hmm ...). De toute évidence, la plupart de ces développeurs étaient des débutants avec des connaissances moyennes. En approchant de chaque entretien, je n'oublie pas qu'il n'y a pas si longtemps j'étais moi-même un étudiant débutant assis de l'autre côté de la table, alors j'essaie d'être patient, gentil et de donner à chaque candidat un retour honnête et utile, même si nous décidons qu'il est pour nous ne convient pas. Quoi qu'il en soit, j'ai révélé certains modèles - de nombreux développeurs, en particulier les débutants, font des erreurs qui rendent non seulement difficile le démarrage, mais qui peuvent être facilement évitées si seulement quelqu'un leur en avait déjà parlé auparavant.J'ai moi-même fait la plupart des erreurs de mon temps et si quelqu'un m'avait prévenu, même si cela aurait pu être le cas, je n'ai tout simplement pas écouté, cela m'aurait probablement épargné de nombreuses déceptions - donc, pour faciliter la vie de quelqu'un, je J'essaierai de souligner qu'un débutant (voire un intermédiaire) peut faire mieux s'il veut se développer efficacement en tant que développeur dans la prestigieuse direction du développement logiciel.

GitHub


Tout le monde dans la communauté sait que votre référentiel GitHub est ce qui compte vraiment pour le futur employeur. N'est-ce pas? Si vous avez écrit une bibliothèque open source que les gens utilisent ou ont contribué, oui, cela peut être un atout assez précieux. Si vous avez écrit une application, même si c'est une application de formation qui résout certains des problèmes quotidiens que vous rencontrez, elle peut également montrer vos compétences. Cependant, si tous les référentiels que vous pouvez afficher sont des tâches à moitié terminées d'autres sociétés qui n'ont jamais été touchées au cours des neuf derniers mois, ou des Rails super-basiques, vos premiers «rails nouveaux», alors voulez-vous vraiment que nous voyions cela? Peut-être que vous êtes maintenant beaucoup mieux qu'il y a 9 mois, bon sang, c'est probablement le cas,mais nous ne savons pas avec certitude et lorsque vous nous envoyez un lien vers le cimetière de votre code - eh bien, comme on dit, vous n'avez qu'une seule chance de faire une bonne première impression, non?

Et cela ne s'applique pas seulement aux juniors - si vous aviez jeté un coup d'œil à mes dépôts GitHub, vous auriez trouvé exactement les mêmes choses partout - en recrutant des missions des années passées ou des expériences abandonnées sur des matières nucléaires que j'ai étudiées dans le processus et etc. Je m'engage sur GitHub tous les jours - mais ces commits sont des dépôts privés, il n'y a rien à regarder. Tout ce que je veux dire est normal si rien n'apparaît sur votre GitHub, mais ne nous le montrez pas.

Rubis


Nous aimons tous Rails! Et nous les détestons également. Et parfois, nous aimons et détestons en même temps. Ou parfois, un jour, nous l'aimons, et le lendemain, nous le haïssons et le maudissons. Cependant, nous convenons tous que Rails est la norme de facto lorsqu'il s'agit de créer des applications Web dans Ruby - il faut beaucoup de dévouement et d'efforts pour travailler dans cette entreprise et même pas y toucher brièvement (même si j'ai rencontré des gens qui prétendent l'avoir fait). Par conséquent, il est naturel que lorsque vous décidez de devenir développeur Web Ruby, vous apprenez Rails. Et pas bon quand vous apprenez Rails sans apprendre Ruby!

Vous pourriez penser que cela accélérera votre progression - à la fin, la mise en place d'une application Rails de base est très simple - mais très bientôt, vous constaterez que vous ne comprenez pas vraiment pourquoi cela fonctionne, vous saurez seulement que cela fonctionne, mais voici la première erreur simple, et vous êtes déjà sur Stack Overflow, vous cherchez quelqu'un qui a eu un problème similaire.

Pensez-y de cette façon - vous n'essaierez pas d'écrire un livre dans une langue étrangère en utilisant uniquement Google Translate et des citations de vos films préférés, non? La même chose avec l'écriture de l'application - vous écrivez littéralement ce qui devrait avoir du sens et mieux vous connaissez la langue, mieux vous pouvez transmettre le sens voulu et plus vous devenez efficace pour faire des phrases - plus cela a du sens. Lorsque vous ne connaissez que Rails, votre vocabulaire est limité. Et je peux vous assurer que vous ne voulez pas travailler pour une entreprise qui a besoin de "limité", car très bientôt vous deviendrez un robot qui implémentera uniquement les fonctions de base de CRUD, ce qui est passionnant pendant, par exemple, deux mois, mais rapidement ennuyeux, comme se brosser les dents, vous devez le faire, vous devez le faire, mais ce n'est pas tout à fait cela,qu'aimeriez-vous, non?

Je commence chaque entretien par une question très simple et basique:

- Qu'est-ce qu'une classe en Ruby, qu'est-ce qu'un module, quelles sont leurs différences et à quoi servent-elles?

Vous seriez surpris de savoir combien de personnes ne connaissent vraiment pas la réponse à cette question! Et ce sont des gens qui veulent devenir développeurs de logiciels. Tous peuvent créer un blog avec des articles et des commentaires en quelques minutes - et c'est tout. J'avais un candidat, pour le poste de développeur moyen, qui prétendait avoir travaillé sur l'application client pendant un an en tant que chef d'équipe - il ne sait donc toujours pas ce qu'est le module Ruby.

Ne soit pas comme ça. Apprenez Ruby. Il existe de nombreuses ressources pour cela. L'un des meilleurs que je connaisse est la référence Ruby- Ruby en ligne - un livre qui fait référence à la documentation officielle, mais qui est plus pratique et lisible. Lisez-le, apprenez-le et sentez comment votre professionnalisme se développe.

Rails


Comme mentionné ci-dessus, n'oublions pas que Rails est un framework Ruby pour écrire une application web. Il y a de grandes chances qu'il devienne votre outil ordinaire de tous les jours - alors prenez le diable pour comprendre comment cela fonctionne! Rails Guides est une documentation très accessible et assez complète - prenez le temps de la lire et de l'étudier.

Une grande partie de ce que vous lisez n'aura pas beaucoup de sens pour vous au début, il y a de gros morceaux de matériel que vous utiliserez très rarement, peut-être même jamais, mais sa connaissance même vous donnera beaucoup plus qu'autrement .


Les leçons sont super - tout le monde les utilise! Cependant, suivre les instructions de quelqu'un ne suffit pas, rappelez-vous que le but de ce didacticiel n'est pas de créer un blog de travail avec des articles et des commentaires, mais de vous apprendre à créer votre propre application. Et c'est exactement ce que vous devez apprendre à faire dès que possible. Rappelez-vous tous ces moments où vous pensiez "si seulement j'avais une application pour ça!". Ou demandez à vos amis et à votre famille de quelle application ils ont le plus besoin. Cela peut être n'importe quoi - un simple organisateur de tâches, une liste de souhaits ou toute autre application. Ma première application a été une sorte de cahier pour les expériences de ma femme dans son laboratoire (elle est scientifique). Je ne l'ai pas terminé, mais cela n'a pas d'importance - dans ce cas, nous parlons d'un processus, pas d'un résultat. Lors de la leçon,Vous traitez des problèmes créés artificiellement et des solutions clé en main. Lorsque vous créez votre propre truc, vous êtes obligé de réfléchir à la façon de le construire. Vous devez trouver vous-même une solution à vos problèmes. Je crois fermement qu'il n'y a pas de meilleur moyen d'apprendre à créer que de commencer à créer, car c'est ce que vous ferez en tant que développeur web. Surmonter les difficultés vous donnera un énorme sentiment de satisfaction, renforcera votre confiance et allumera l'étincelle qui nous fait nous asseoir pendant des heures recroquevillées sur le clavier, seulement pour voir le bon JSON ou le bon formulaire d'inscription. Cela vous donnera de l'expérience et quelque chose à montrer. Votre code n'a pas besoin d'être beau ou flashy - vous êtes débutant, personne ne s'attend à ce que vous écriviez un système d'exploitation!vous êtes obligé de penser comment le construire. Vous devez trouver vous-même une solution à vos problèmes. Je crois fermement qu'il n'y a pas de meilleur moyen d'apprendre à créer que de commencer à créer, car c'est ce que vous ferez en tant que développeur web. Surmonter les difficultés vous procurera un grand sentiment de satisfaction, renforcera votre confiance et allumera l'étincelle qui nous fait nous asseoir pendant des heures recroquevillées sur le clavier, seulement pour voir le bon JSON ou le bon formulaire d'inscription. Cela vous donnera de l'expérience et quelque chose à montrer. Votre code n'a pas besoin d'être beau ou flashy - vous êtes débutant, personne ne s'attend à ce que vous écriviez un système d'exploitation!vous êtes obligé de penser comment le construire. Vous devez trouver vous-même une solution à vos problèmes. Je crois fermement qu'il n'y a pas de meilleur moyen d'apprendre à créer que de commencer à créer, car c'est ce que vous ferez en tant que développeur web. Surmonter les difficultés vous procurera un grand sentiment de satisfaction, renforcera votre confiance et allumera l'étincelle qui nous fait nous asseoir pendant des heures recroquevillées sur le clavier, seulement pour voir le bon JSON ou le bon formulaire d'inscription. Cela vous donnera de l'expérience et quelque chose à montrer. Votre code n'a pas besoin d'être beau ou flashy - vous êtes débutant, personne ne s'attend à ce que vous écriviez un système d'exploitation!ce que vous ferez en tant que développeur web. Surmonter les difficultés vous donnera un énorme sentiment de satisfaction, renforcera votre confiance et allumera l'étincelle qui nous fait nous asseoir pendant des heures recroquevillées sur le clavier, seulement pour voir le bon JSON ou le bon formulaire d'inscription. Cela vous donnera de l'expérience et quelque chose à montrer. Votre code n'a pas besoin d'être beau ou flashy - vous êtes débutant, personne ne s'attend à ce que vous écriviez un système d'exploitation!ce que vous ferez en tant que développeur web. Surmonter les difficultés vous donnera un énorme sentiment de satisfaction, renforcera votre confiance et allumera l'étincelle qui nous fait nous asseoir pendant des heures recroquevillées sur le clavier, seulement pour voir le bon JSON ou le bon formulaire d'inscription. Cela vous donnera de l'expérience et quelque chose à montrer. Votre code n'a pas besoin d'être beau ou flashy - vous êtes débutant, personne ne s'attend à ce que vous écriviez un système d'exploitation!personne ne s'attend à ce que vous écriviez un système d'exploitation!personne ne s'attend à ce que vous écriviez un système d'exploitation!

Mais en tant que personne qui recrute de nouveaux arrivants, dans 10 cas sur 10, je choisirai quelqu'un avec son propre code, même laid et sur des béquilles, et pas quelqu'un qui me montrera plusieurs applications de cours de formation (comme un jeu de mots croisés).

M. Nice guy.


Ce dernier élément ne s'applique pas à un niveau d'expérience spécifique, mais essentiellement à tous ceux qui travaillent dans notre industrie. Tout est très simple - ne soyez pas un connard. Soyez gentil avec les autres. Soit utile. Sourire Demandez si vous ne savez pas, expliquez si on vous le demande. Ne méprisez pas les gens s'ils ne savent rien, car chacun de nous peut être à sa place, informatique, programmation, c'est un domaine tellement vaste qu'il est presque impossible d'être un expert en tout. Reconnaissez que vous pouvez apprendre de n'importe qui, même s'il n'a qu'une fraction de votre expérience. Enseignez aux autres parce qu'enseigner aux autres est l'un des meilleurs moyens de tester ce que vous savez vraiment. Et acceptez le fait que si vous êtes la personne la plus intelligente de la pièce, vous devez changer de pièce, car c'est le seul moyen de grandir et de ne pas devenir suffisant.Testez vos connaissances et vos compétences aussi souvent que possible. Comme le dit la pratique généralement acceptée dans le gymnase, «si ça fait mal, alors ça grandit», quittez la zone de confort, n'y restez pas.

Si vous êtes également impliqué dans le développement frontal, assurez-vous de consulter la liste complète des erreurs les plus courantes des développeurs débutants compilées par notre frontal Timlid Petr Kabachinsky.

All Articles