Image du film "Harry Potter et le prisonnier d'Azkaban"Le problème de ce monde est que les gens instruits sont pleins de doutes et les idiots sont pleins de confiance
Charles Bukowski
Récemment, j'ai organisé une autre leçon de programmation individuelle. Contrairement aux classes ordinaires, le sujet n'était pas la construction de la langue et non le problème de la résolution du problème. L'élève a fait part de ses préoccupations concernant son futur emploi. L'élève lui-même était plutôt intelligent. L'un de ceux qui viennent aux cours passe par l'ensemble du programme plus rapidement que quiconque et avec des solutions originales, mais se sous-estime toujours sincèrement. À mon avis, ces doutes ne découlent que d'un manque d'information. J'ai essayé de combler cette lacune impromptue pendant la leçon.
Les questions ressemblaient à ceci:
- Chaque année, de nombreux étudiants sortent des universités et vont tous chercher du travail. C'est beaucoup de monde. Ils prendront probablement le meilleur, mais je n’aurai pas de place.
- Et si je me trompe et que je me fais virer immédiatement?
- Et si au cours du travail, ils réalisent que je suis stupide et expulsé?
Cet étudiant n'était pas la première personne à qui j'ai répondu à des questions similaires. Beaucoup de gens en ont et doivent généralement parler sans préparation. Cette fois, j'ai décidé d'écrire mon monologue dans un cahier. Je pensais que cela finirait par quelques paragraphes, mais j'ai tapé dans un article entier.
L'article décrit le point de vue de mon point de vue et basé sur mon expérience. Cependant, notre monde est très diversifié et des choses incroyables s'y produisent. Si vous n'êtes pas d'accord avec quelque chose ou si votre expérience est différente, veuillez écrire un commentaire.
L'article a été écrit de développeur en développeur. Cependant, si vous prévoyez de faire des tests, de l'administration ou autre chose en informatique, certains conseils vous seront également utiles.
Ils n'embaucheront pas du tout
Lorsque vous imaginez que des centaines d'étudiants obtiennent leur diplôme de nombreuses universités chaque année, cela devient inconfortable. Comment rivaliser avec une telle foule?
Malheureusement, tous les diplômés n'ont pas une formation technique suffisante. Essayez de demander à un étudiant universitaire familier: comment les membres de son groupe peuvent-ils être admis aux examens dans des disciplines comme la «base de données» ou «les bases de l'algorithmisation et de la programmation»? Dans un groupe de 30 personnes au mieux, il y a 3-5 gars "avancés" qui ont vraiment tout fait eux-mêmes. Les autres les écrivent simplement, bison les réponses aux questions et passent.
C'est alors que je me suis étudié. Cependant, mon expérience pourrait ne pas être représentative. Par conséquent, j'ai posé cette question à plusieurs étudiants différents. La réponse était à peu près la même. Les répondants provenaient de différentes universités et collèges. Je laisserai les discussions sur les raisons au-delà de la portée de cet article. Je ne suis pas assez pour une étude à part entière, je vais donc tirer une conclusion des faits disponibles.
Parmi des centaines de diplômés, seulement une dizaine intéressent les employeurs
Peu de diplômés peuvent faire une véritable compétition pour un étudiant capable avec une bonne préparation. Cependant, même si vous avez étudié de bonne foi, après la première entrevue, vous ne serez probablement pas embauché. Après la seconde, probablement aussi. Tout peut bien fonctionner, mais il vaut mieux ne pas se brancher sur un assaut, mais sur un siège. Une tentative infructueuse de s'installer n'est qu'une excuse pour travailler sur les bogues et réessayer. Je ne parlerai pas de préparation aux entretiens. Beaucoup a déjà été écrit sur ce sujet sur Internet. Je peux seulement dire qu'il y a des nuances dans les entretiens, pour lesquels il est peu probable que du temps soit alloué pour expliquer votre programme de formation. Recherchez vous-même ces informations, cela peut réduire le nombre de tentatives.
La folie est la répétition exacte de la même action. À chaque fois, en espérant un changement
Albert Einstein
Pour vous assurer que l'entretien ne se transforme pas en folie, après chaque nouvelle tentative, vous devez devenir meilleur. N'oubliez pas ou notez les questions qui vous ont été posées lors de l'entretien. En rentrant chez vous, parcourez cette liste et testez-vous en utilisant Internet. Vous comprendrez donc où vous vous êtes trompé, où - l'intervieweur. Cela arrive aussi. Répétez ou étudiez les sujets auxquels vous avez mal répondu et réessayez.
De plus, il y a une saisonnalité prononcée du marché du travail. Les entreprises compétentes prévoient l'embauche en fonction des dates d'obtention du diplôme des établissements d'enseignement. Au printemps de vacances pour débutants plus que le reste du temps. Cependant, la concurrence en ce moment est plus élevée.
Dumb - se faire virer
Lorsqu'une personne est embauchée sans expérience, il y a des attentes correspondantes pour elle.
Du nouveau venu au travail, attendez-vous à:
- Connaissance de la base technique générale
- Étudier les caractéristiques du domaine d'activité de l'entreprise
- Maîtriser les outils et pratiques utilisés
Certaines organisations proposent aux débutants des formations sur les technologies, les outils et les pratiques locales. Par exemple, les règles de bonne forme lors de l'utilisation du courrier d'entreprise, la procédure de changement de documents sur un wiki, les fonctionnalités locales de travail avec VCS et un traqueur de bogues.
Il existe encore des cours d'introduction technique, mais leur utilité est douteuse. S'il s'agissait d'emploi, les employeurs se sont assurés que vous possédiez un niveau de connaissances suffisant. Il est préférable de simplement suivre ces cours de bonne foi, comme une petite formalité. Peut-être qu'ils seront vraiment utiles.
Lorsque vous arrivez au travail, n'oubliez pas que le débutant ne sera pas chargé de résoudre la tâche urgente, complexe et en même temps importante. Il est probable qu'il n'y aura qu'une seule de ces propriétés. Ou simple, mais urgent: corrigez la mise en page, envoyez un fichier à quelqu'un, reproduisez le problème. Ou difficile, mais sans aucun espoir d'achèvement - pour que le débutant puisse collecter plus de râteau. Ou important, mais expérimental. Par exemple, un projet que tout le monde souhaite depuis longtemps, mais ne peut pas allouer de temps pour la mise en œuvre.
Les tâches de développement d'outils seront "complexes" et artificielles. Il s'agit très probablement d'une version simplifiée du système principal. Dans de telles tâches, la même pile technologique et les mêmes termes de domaine sont utilisés comme dans l'ensemble du projet. Dans ce cas, le résultat de l'exécution ne sera pas communiqué à l'utilisateur final. Cela peut démotiver, mais il vaut mieux résister à cette humeur. Une tâche artificielle doit être accomplie de bonne foi, comme si le sort du projet en dépendait.
Le résultat de la résolution de votre première tâche sera la première impression sur vous de collègues qui n'étaient pas à l'entretien.
Une autre version de la tâche de maîtrise de la boîte à outils est «exécuter le projet sur la machine locale / l'environnement de test». Parfois, ce processus est décrit dans les instructions. Mais ils sont généralement vieux et parfois hors de propos. Vous pouvez apporter de réels avantages au projet si vous écrivez une nouvelle instruction avec des clarifications sur les problèmes qui sont survenus. Certes, à l'université, j'ai dû rédiger un RGR pour rendre compte de certaines disciplines. C'est presque la même chose ici. Le document doit refléter les actions qui doivent être effectuées pour s'exécuter.
En règle générale, les étapes de lancement du produit dans un environnement de test sont approximativement les suivantes:
- cloner un référentiel, basculer vers une branche ou une balise
- faire un fichier de configuration
- préparer la structure de la base de données
- remplir avec des données de test
- Créer ou compiler un projet
- exécuter un ensemble de scripts de console dans une séquence spécifique
Lors du démarrage du système, des problèmes imprévus se produiront inévitablement localement.
Les solutions trouvées aux problèmes doivent être ajoutées aux instructions de déploiement. Ensuite, la prochaine fois que vous suivrez les instructions, ces problèmes ne se poseront plus. Lorsque vous remplissez des fichiers de configuration et appelez des scripts, vous devez faire attention à quelle valeur est utilisée, où et avec quoi elle doit coïncider. Par exemple, si un projet est construit à l'aide du système CI puis lancé par un script, il est important de comprendre où écrire le nom de la branche ou le numéro de validation. Il se trouve que le script implique le transfert d'une adresse IP ou d'un nom DNS de la base de données, de son nom d'utilisateur et de son mot de passe. Dans ce cas, vous devez savoir quelle adresse utiliser pour l'environnement de test, quelles connexions se trouvent et quels mots de passe vous devez spécifier pour eux.
Certaines tâches peuvent sembler simples pour les développeurs expérimentés et causer des difficultés aux stagiaires. Il s'agit d'un phénomène normal.
Les développeurs doivent résoudre tous les jours des problèmes techniques. Les employés expérimentés ont déjà résolu de nombreux problèmes auparavant, et les nouveaux arrivants doivent encore y faire face. La meilleure tactique sera de noter toutes les erreurs rencontrées dans le document "Résolution des problèmes avec $ {nom de tâche}". Pour chaque problème, vous devez formuler une hypothèse sur la cause, trouver des solutions sur Internet et les essayer à tour de rôle. Le résultat de chaque tentative doit également être enregistré.
Faire votre recherche sous forme de document permettra:
- déchargez de petites pièces de votre tête. Par exemple, les paramètres de configuration, les adresses DNS / IP, les commandes de console et les requêtes SQL.
- rappelez-vous "qu'est-ce que j'ai fait hier" lorsque la tâche est étirée pendant plusieurs jours
- Ne vous promenez pas. Vous pouvez toujours lire ce que vous avez fait auparavant et comprendre que vous revenez au problème d'origine.
- répondez clairement à la question: "qu'avez-vous fait aujourd'hui?" même s'il n'y a pas encore de solution toute faite.
Vous devez pouvoir dire le statut de vos tâches à vos collègues
De temps en temps, des collègues seront intéressés par vos succès et partageront les vôtres. Un peu de temps est alloué à ce quotidien ou hebdomadaire.
Si vous ne suivez pas les problèmes rencontrés et résolus, la description de vos succès ressemblera à ceci: «J'ai essayé de faire la tâche, mais je ne peux pas. Je cherche jusqu'à présent une solution. " À partir d'une telle histoire, il n'est pas clair si le stagiaire a fait quelque chose ou s'il s'est contenté de lire une lecture. A-t-il besoin d'aide? La situation a-t-elle changé depuis hier?
Si vous conservez un document avec une recherche de solutions, vous pouvez dire: «J'essaie de faire cette tâche. J'ai eu de telles erreurs. J'ai donc décidé comme ça. Je n'ai pas encore réussi cela. Il existe de telles hypothèses et solutions. Maintenant, je les vérifie. "
Si la tâche peut être mesurée au moins d'une manière ou d'une autre, les chiffres doivent sonner dans l'état. Par exemple, pour la tâche «écrire des tests unitaires pour un module», nous pouvons dire «je prévois de faire 20 tests, maintenant j'en ai écrit 10».
Plus vous fournissez de détails, mieux vos collègues comprendront ce que vous faisiez. Cela formera une attitude positive envers les collègues et leur permettra de comprendre si vous avez besoin d'aide ou non.
N'hésitez pas à demander de l'aide.
J'ai écrit ci-dessus que lorsqu'un problème survient, vous devez formuler une hypothèse sur ses causes et ses solutions. Cependant, il arrive que des hypothèses ne soient pas justifiées et que des solutions indépendantes trouvées au problème ne fonctionnent pas. Dans ce cas, il vaut mieux demander de l'aide. Afin de ne pas abuser de l'attention de vos collègues, vous devez vous asseoir sur chaque problème vous-même. Si en quelques heures il n'a pas été possible de trouver une solution, il est temps de demander conseil à des camarades plus expérimentés.
Il est préférable de commencer par la question: "Quelqu'un a-t-il déjà rencontré un problème?" avec une brève description du problème. Il est conseillé de joindre un message d'erreur ou une capture d'écran. C'est la première fois qu'il est préférable de l'envoyer à un chat général pour travailler. Vous n'interrompez donc pas le travail de ceux qui sont vraiment occupés. Dans le même temps, des collègues gratuits verront votre message et pourront vous aider.
Si personne n'a aidé après un message dans le chat général, essayez d'attraper un collègue expérimenté pendant la pause: déjeuner, thé / café, une partie de tennis ou une pause fumée. Si cela n'a pas fonctionné, signalez vos difficultés à la volée ou en position debout.
Lors de la résolution de problèmes connus, cela peut se terminer. Si le problème est nouveau, une enquête commencera, où il sera nécessaire d'agir en fonction des circonstances.
Les tâches «importantes» pour les débutants dont l'utilisateur final a besoin seront ennuyeuses et petites. Par exemple, «ajoutez une colonne supplémentaire au rapport» ou «corrigez une faute de frappe sous forme imprimée» ou «implémentez une méthode modèle pour charger les attributs client à partir d'un SGBD». Le but de ces tâches est que le débutant se familiarise avec le sujet et s'intègre dans le travail quotidien.
Il est important non seulement de résoudre techniquement le problème, mais également d'élargir les connaissances du sujet.
Dans la description de la tâche, dans les chats et les conversations, des termes seront trouvés. Ils peuvent ressembler à de longs noms familiers. Cependant, dans le cadre du système d'information, ils ont une signification particulière, plus précise. La signification des termes détectés est mieux écrite dans un document spécial - un glossaire de termes. Lors de l'ajout au dictionnaire, il suffit d'écrire votre compréhension du mot, et pour une vraie transcription, il est préférable de contacter l'analyste. S'il est absent, alors aux anciens du projet. Le maintien d'un glossaire est l'un des moyens les plus simples de vous familiariser avec le domaine du projet.
Dès que vous trouverez une langue commune avec vos collègues, ils commenceront à voir en vous non pas un stagiaire débutant, mais un spécialiste égal.
Il existe des tâches spéciales, par exemple, «écrire des tests unitaires pour un module». Il peut difficilement être bloqué longtemps avec une recherche de solutions. De plus, elle est suffisamment sérieuse et n'est pas donnée uniquement pour la formation du stagiaire. Les tests écrits augmentent la stabilité du projet en réduisant les bogues dans l'application et en réduisant le temps de test par les utilisateurs. Dans un monde idéal, les tests unitaires sont écrits immédiatement pendant le développement, mais la réalité est toujours différente. Il arrive que le développeur du module le tienne complètement dans sa tête et ne voit pas la nécessité de les écrire. "Tout est évident, qu'y a-t-il à tester?" Parfois, les modules sont écrits en mode d'urgence et il n'y a plus de temps pour les tests unitaires. Donc, dans le monde réel, les tests unitaires peuvent ne pas l'être. Par conséquent, la tâche d'écrire des tests unitaires est confiée à un débutant. Ainsi, le stagiaire pourra rapidement s'habituer au projet, et le projet fera gagner du temps à des spécialistes plus bien payés.
Il arrive que les stagiaires et les débutants se voient attribuer le rôle de testeurs à part entière. Habituellement, avant cela, vous devez déployer le produit localement et lire les exigences. À la suite du nouvel employé est prévu:
- des questions comme «si vous aimez ça, alors ça se passera comme ça. Cela n'est pas requis dans les exigences. Comment cela devrait-il être? "
- tâches dans le suivi des bogues "dans les exigences, il est écrit comme ceci, mais en fait, c'est différent."
Les tests sont un domaine d'activité trop large pour cet article. Si une tâche similaire vous a été confiée, recherchez sur Internet la meilleure façon de l'accomplir.
Nakosyachite - se faire virer
Dans une organisation normale, s'il arrive soudainement qu'un employé inexpérimenté accède à quelque chose de critique et gâche quelque chose, alors celui qui l'a commis sera à blâmer. Parce que le débutant par défaut n'a pas accès à l'infrastructure critique. Avec un encadrement adéquat, tous les chiens ne seront pas abandonnés par un stagiaire inexpérimenté.
Si quelque chose se produit soudainement, ils ne seront pas licenciés en raison d'un incident. Les gens apprennent des erreurs. Le stagiaire en cours d'exécution a reçu une leçon précieuse, ce qui est très différent des autres stagiaires. Si vous renvoyez le slammeur, un autre viendra à sa place et tondra de la même manière.
L'essentiel est d'apprendre des erreurs et de ne pas les répéter.
Si une personne ne tire pas de conclusions de ses erreurs, alors elle essaiera de lui dire au revoir. Cependant, le monde est diversifié. Dans une organisation de gangsters, ils peuvent immédiatement jeter la fenêtre pour la première erreur. Mais il vaut mieux éviter de telles entreprises, pour lesquelles vous devez d'abord vous renseigner ou en savoir plus lors de l'entretien.
Il vaut mieux éviter les incidents
Même si vous n'êtes pas personnellement licencié pour le montant, un tel incident entraînera des problèmes indésirables pour votre équipe et le projet dans son ensemble. Par conséquent, soyez particulièrement prudent avec les opérations de suppression ou de création de tables dans la base de données, les fichiers, les instances de service et les documents dans la base de connaissances du projet. Si vous rencontrez l'adresse de la nouvelle connexion, vérifiez avec au moins deux personnes différentes ce que vous pouvez y faire. Vérifiez vos droits sur les environnements non pas par essais et erreurs, mais par des commandes appropriées. Par exemple, le droit de supprimer des fichiers à l'aide de la commande `ls`, le droit de travailler avec des tables dans mysql à l'aide de la commande` SHOW GRANTS FOR 'user' @ 'host'; `, etc. Dans presque tous les instruments, vous aurez une opportunité similaire.
Lors de l'édition de fichiers, au cas où, gardez-vous une copie de l'original.
Plusieurs barrières se dressent entre le stagiaire et l'utilisateur final.
Si vous pouviez immédiatement donner votre produit au consommateur, vous ne seriez pas en mesure d'obtenir un emploi, mais de vous lancer dans une "baignade libre". Mais bien que vous n'ayez pas une telle opportunité (et en même temps une responsabilité), vous devez passer par plusieurs étapes de contrôle du projet.
Le premier est un chèque de mentor. Il évalue la solution du débutant d'un point de vue technique. Si un mentor n'a pas été nommé, vous devez le trouver. Pour ce faire, vous devez choisir quelqu'un parmi les anciens du projet et à la pause lui demander de voir la solution: le problème est-il résolu correctement? Si vous commencez à chercher et à répondre, alors un mentor est trouvé. Si vous l'ignorez, vous devriez demander à quelqu'un d'autre.
La prochaine étape est l'assurance qualité. En russe - testeurs. En soviétique - contrôle standard et contrôle qualité. Ils doivent s'assurer que le résultat du travail du stagiaire correspond à la tâche qui lui est assignée. Ils seront rarement lus dans le code. Le plus souvent, les testeurs vérifieront le projet assemblé, que le développeur enregistre dans le système de contrôle de version.
La troisième étape est le gestionnaire de publication. Il n'y a peut-être pas de personne individuelle pour cette tâche, mais quelqu'un joue toujours le rôle.
Il vérifie que les testeurs ont confirmé que le projet peut être publié. Après cela, il effectue les actions de livraison du produit aux utilisateurs finaux.Dans les petites organisations, ces obstacles peuvent être absents pour diverses raisons. Cependant, ils ne définiront pas la tâche pour le débutant de changer quelque chose d'important. Parce que personne n'a besoin de ce risque.Vous devez d'abord vous impliquer dans la bataille, et là, on le verra.
Napoléon Bonaparte
J'espère que l'article vous aidera à surmonter votre insécurité et à soumettre votre premier CV. Bien sûr, vous devez d'abord vous préparer. Mais ne serrez pas trop. Vous avez probablement déjà étudié pendant plusieurs années dans une université ou un collège. Où aller plus loin? En fin de compte, il vaut mieux entendre «non» une fois par un spécialiste et travailler sur les erreurs, que de se dire «non» chaque jour et de s'arrêter dans la croissance professionnelle.Après l'emploi, vous devez vous concentrer sur la croissance d'un stagiaire à un membre à part entière de l'équipe. Cette croissance s'accompagne généralement d'une augmentation de votre salaire.Je vous souhaite patience et persévérance.