Qu'est-ce que je suis dans ACID ou ne nous convient pas


Ceci est un message de surprise. Je suis allé à des entretiens dans trois startups de Minsk et dans une petite entreprise, et c'est ce qui en est ressorti.


Je vais vous parler un peu de moi. Pas pour faire l'éloge, mais pour donner une idée. Depuis l'enfance, passionné de programmation. Car les oreilles ne se sont pas détachées de l'ordinateur. En développement 11 ans. Des centaines de projets de différents niveaux de difficulté: mobile, multiplateforme, avant, arrière. Il a écrit en 13 langues (à l'exclusion de tous les html, css, bash, sql). Sur quelque chose de plus, sur quelque chose de moins, mais le tout dans de vrais projets. J'écris un bon code propre, fouillant dans la convivialité. Un peu open source, comme le temps le permet, pour extraire quelques dizaines de packages pour Arch Linux. Bref, je m'amuse, comme je peux, tant au travail que pendant mon temps libre. Les 5 dernières années en freelance. Souvent, je travaille sur les analyses de rentabilisation des clients de et vers. ChSV n'est pas enflé: quand vous voyez la compétence, et comment certains gars labourent sur GitHub ... Eh bien, vous comprenez. Et en général, je suis normal: je change de chaussettes, j'utilise un déodorant, je ne jure que sur le tapis :)


J'ai donc raté trois entretiens sur quatre, et je veux en parler.


Personne ne se soucie de votre code


Montrez-moi votre code et je dirai qui vous êtes

La chose la plus étonnante à mon avis. On vous demandera de trier les arbres rouge-noir, les méthodes de la bibliothèque standard, qui sont utilisées une fois sur presque jamais. Mais le code ... En fait, pourquoi regarder le code d'une personne dont le travail principal sera de l'écrire?


Mais c'est le plus intéressant! Vous pouvez voir comment le développeur organise le projet, comment il écrit, quelles technologies et comment il utilise. Cela fermera immédiatement le nuage de questions. D'accord, lorsque github est vide et que tout le code de travail est sous NDA. Mais ici, vous pouvez sortir, donner un petit test pendant une heure ou deux (tout simplement pas en place: pour beaucoup, l'entretien est encore stressant).


Sur mon github, il y a deux douzaines de projets dans différentes langues, des relations publiques sur Facebook, Microsoft, des navets Mozilla, un tas de problèmes dans d'autres projets. Il s'agit d'un klondike pour évaluer les compétences techniques et techniques. Et il semble qu'une seule entreprise sur quatre savait quoi en faire (Akveo, vous êtes génial). Nous avons très froidement discuté de la raison pour laquelle ces projets sont apparus, ensemble nous avons examiné le code. Nous avons examiné certains des projets de travail, à la fois par code et dans la version. En conséquence, j'ai reçu une offre de ces gars-là.


Le triomphe d'une connaissance sans valeur


"L'ignorance de Holmes était aussi étonnante que ses connaissances. Pour qu'une personne civilisée vivant au XIXe siècle ne sache pas que la Terre tourne autour du Soleil - je ne pouvais tout simplement pas y croire!
"Tu sembles surpris", sourit-il en regardant mon visage perplexe. "Merci de m'avoir éclairé, mais maintenant j'essaierai d'oublier tout cela dès que possible."

«Etude dans des tons cramoisis»

À quelle fréquence écrivez-vous des tris? C'est la dernière fois que je fais ça à l'université. Savez-vous quelles sont les étapes de la prise de contact https? J'ai déjà su, oublié - pas besoin. Mais il m'a fallu 5 minutes pour ouvrir Google et me rappeler quand j'ai configuré la note A + dans nginx il y a quelques années. Et tu sais quoi? Maintenant, je ne m'en souviens plus. Étapes de rendu d'une page Web dans un navigateur? Chaque jour, je le rencontre, vraiment, vraiment. Et le fait que la recherche d'index B-tree dans PostgreSQL ait une complexité logarithmique? J'ai découvert hier, et maintenant vous l'êtes. Essayez maintenant d'oublier le plus tôt possible! Jusqu'à ce que vous en ayez VRAIMENT besoin. N'oubliez pas que les index doivent être utilisés et qu'ils sont de types différents.


Nous vivons dans un monde surchargé d'informations. Et pour les développeurs, cela est particulièrement vrai. Chaque semaine, de nouveaux frameworks, bibliothèques ou outils de développement apparaissent. Il est impossible de tout savoir. Maintenant, l'important n'est plus tant l'information dans la tête que la connaissance qu'elle est, la capacité de la trouver rapidement, de la comprendre et de l'utiliser correctement. Et la compétence pour détacher et réparer la bibliothèque de quelqu'un d'autre dans le projet est plus importante que de se rappeler comment utiliser les flux dans nodejs. Un bon développeur traitera les flux sur le dock pendant un ou deux.


J'enseigne maintenant un peu à l'université comme passe-temps. Et tu sais quoi? La génération actuelle n'a pas de tels problèmes pour obstruer la tête avec des connaissances. Bien que beaucoup d'entre eux soient vraiment sensés. Ils ont grandi avec une constante en ligne où l'information est toujours à portée de main. Une autre approche.


Bien sûr, un bon spécialiste connaîtra de nombreuses nuances différentes. Tout simplement parce que la portée est plus petite. Mais le plus drôle, c'est que la plupart de ces entreprises recherchaient un développeur full-stack. Et ils voulaient une connaissance approfondie de tout. Maintenant. Mais la bonne pile complète est vos horizons et la capacité d'approfondir si nécessaire.


Te renverser


Pas partout, mais rencontré. Fait intéressant, est-ce notre mentalité? Dominez et montrez votre sang-froid? Après tout, vous n'en avez pas vraiment besoin, vous avez de bons projets pour l'année à venir. Vous allez avec la pensée: "Eh bien, l'idée cool de la startup! Vrai, je peux vraiment aider." Et voilà. Et les gars semblent convenir. Fig comprendre. Et puis vous voyez que la vacance est ouverte six mois. Et bien.


Il y a eu quelques débats sociaux dans les entreprises occidentales. Et là, l'accent était mis sur ce que vous savez et savez comment, plutôt que d'essayer d'attraper l'ignorance. Ou est-ce si chanceux / malchanceux? Je serais heureux d'entendre l'avis de camarades plus expérimentés en la matière.


Soyez sur un pied d'égalité. Vous embauchez un collègue et ne gardez pas le stand.


Je me fiche des projets passés


Un arbre est reconnu par ses fruits, et un homme par ses actes.
Proverbe russe

Aussi incroyable. Il y en a cinquante sous le capot: petits et grands; équipe et ceux où vous dans la même personne conçu UX, API, a écrit 2 mob. applications, avant et arrière; ceux dont vous êtes fier et ceux dont vous avez encore honte. Eh bien, Komon, c'est important, parlons-en. Je vais tout vous dire: où il était super vieux et a sauvé tout le monde, et où il a tout fait. Non, des questions CSS idiotes.


Les projets sont le point de départ de notre expérience. Ce sont les étapes de développement du développeur. Comme des anneaux sur un arbre. Renseignez-vous toujours sur les projets. À propos des tâches les plus complexes et intéressantes que les gens ont résolues. De ce dont il est fier. Cela contribuera également à créer une atmosphère conviviale. Rappelez-vous, l'entretien est stressant? Les gens aiment parler de leurs compétences. Certes, cela ne fonctionnera pas avec les introvertis, mais la sécurité sociale avec eux est un problème tout à fait distinct.


Développeurs expérimentés


Un bon développeur expérimenté n'est pas interviewé en tant qu'intermédiaire pour une cuisine. Il ne parle plus de ça. Il sait comment bien faire tout de suite. Afin de ne pas avoir à résoudre des problèmes avec des efforts héroïques. Il s'agit de savoir comment libérer un produit et ne pas réparer les performances de manière frénétique, bien que cela puisse être fait différemment dès le début. Tout ce que vous demandez, il l'a déjà utilisé quelque part sous une forme ou une autre. OAuth? Oui, FIG sait comment il travaille là-bas. Je l'ai fait il y a quelques années, maintenant je vais ouvrir le projet et voir. À partir de ce moment, j'ai connecté cinquante SDK et protocoles. Quoi, tu te souviens de tout? Il ne lira pas ACID et CAP en tant qu'étudiant pour l'examen.


Sachez comprendre le niveau de la personne devant vous et posez les bonnes questions.


Remout


Il est donc allongé sur la plage et d'une seule main compose rm-rf sur le serveur de développement. Eh bien, c'est ce qu'il pensait.

Entendu au bureau du GitLab

Vraiment demi-point. Parce que ce n'est pas important pour tout le monde. Beaucoup ne savent tout simplement pas comment. D'autres ne veulent pas. Bien que, bon sang, 2020 dans la rue, vous ne trouverez pas un bon développeur dans l'après-midi avec le feu. Et puis tout un monde potentiel, au lieu d'une seule ville. Il semblerait.


Avec le remoot comme avec le sexe: pour la première fois c'est effrayant et peu de gens réussissent. Et puis avec l'expérience ça va de mieux en mieux. Ne le croyez pas: un remoot peut être plus productif que de travailler dans un bureau. En raison du fait que toutes ces secousses et ces distractions disparaissent. Et si également des fuseaux horaires différents ... Connaissez-vous la règle d'administration de 15 minutes? Attendez avant de traiter le problème de l'utilisateur. Souvent, elle décidera elle-même ou perdra sa pertinence. C'est donc ici. Lorsque vous comprenez que vous ne pouvez pas tirer une personne, le cerveau se met en marche, 1 pc. Et vive l'interaction asynchrone!


J'espère sincèrement que cet article aidera quelqu'un à mieux construire le processus d'entretien dans son entreprise ou sa startup. Bonjour tout le monde, open source et chewing-gum à tous!

Source: https://habr.com/ru/post/fr484944/


All Articles