Comment quitter la science en informatique et devenir testeur: l'histoire d'une carrière


Aujourd'hui, nous félicitons les vacanciers qui se soucient quotidiennement qu'il y ait un peu plus d'ordre dans le monde - les testeurs. En ce jour, le GeekUniversity de Mail.ru Group ouvre une faculté pour ceux qui veulent rejoindre les rangs des combattants avec l'entropie de l'univers. Le programme de cours est structuré de manière à ce que la profession de "Software Tester" puisse être maîtrisée à partir de zéro, même si elle a déjà travaillé dans un domaine complètement différent.

Nous publions également l'histoire de l'étudiante de GeekBrains Maria Lupandina ( mahatimas ). Maria est candidate aux sciences techniques avec un diplôme en acoustique. Maintenant, elle travaille comme testeuse de logiciels dans une grande société d'ingénierie qui développe des logiciels pour les institutions médicales.

Dans mon article, je veux montrer la possibilité d'un changement de carrière assez spectaculaire. Avant de devenir testeur, je n'avais pas trop de contacts avec les technologies de l'information, à l'exception des points qui étaient nécessaires pour le travail précédent. Mais sous la pression d'un certain nombre de facteurs, qui sont décrits en détail ci-dessous, j'ai décidé de quitter le domaine scientifique en informatique pure. Tout a fonctionné, et maintenant je peux partager mon expérience.

Comment tout a commencé: technologie et science


Après avoir obtenu mon diplôme universitaire en génie biomédical, j'ai obtenu un emploi d'ingénieur industriel dans une entreprise industrielle. C’est un travail assez intéressant, mes fonctions comprenaient la mesure et le contrôle des paramètres des produits de l’entreprise, ainsi que des matières premières à différents stades de production.

Je voulais devenir un bon spécialiste, alors je me suis progressivement plongé dans la technologie de production et maîtrisé les spécialités associées. Par exemple, lorsqu'un tel besoin s'est fait sentir, j'ai étudié la méthodologie pour effectuer des analyses chimiques pour contrôler la qualité de l'eau, en utilisant les normes de l'État et les réglementations de l'industrie comme sources. Plus tard, j'ai enseigné cette technique à d'autres assistants de laboratoire.

En même temps, je préparais ma thèse, que j'ai défendue avec succès. En tant que candidat, j'ai réussi à obtenir une importante subvention de la Fondation russe pour la recherche fondamentale (RFBR). En même temps, j'ai été invitée à l'université en tant que professeur à 0,3 soumission. J'ai effectué des travaux de subvention, développé des programmes et du matériel pédagogique dans les disciplines de l'université, publié des articles scientifiques, donné des conférences, effectué des stages et développé des tests et des tests pour le système d'éducation en ligne. J'aimais beaucoup enseigner, mais malheureusement, le contrat a pris fin et ma carrière d'employé de l'université aussi.

Pourquoi? D'une part, je voulais continuer mon cheminement vers la science, en devenant par exemple professeur adjoint. Le problème est que le contrat était urgent et qu'il n'était pas possible de prendre pied à l'université - malheureusement, ils n'ont pas proposé de nouveau contrat.

Puis j'ai quitté l'entreprise parce que j'ai décidé que quelque chose devait être changé, je ne voulais pas vraiment passer toute ma vie à travailler comme ingénieur de laboratoire. Je n'avais tout simplement nulle part où grandir professionnellement, il n'y avait aucune possibilité de se développer. L'entreprise est petite, il n'était donc pas nécessaire de parler d'une échelle de carrière. Au manque de perspectives de carrière, nous ajoutons un petit salaire, un emplacement gênant pour l'entreprise elle-même et un risque accru de lésion à la production. Nous obtenons toute une gamme de problèmes qui devaient juste être coupés, comme un nœud gordien, c'est-à-dire arrêter.

Après le licenciement, elle est passée au pain gratuit. J'ai donc développé des projets sur mesure en ingénierie radio, électrotechnique et acoustique. Elle a notamment conçu des antennes micro-ondes paraboliques, développé une chambre acoustique étouffée pour étudier les paramètres des microphones. Il y avait beaucoup de commandes, mais je voulais toujours autre chose. À un moment donné, j'ai voulu m'essayer en tant que programmeur.

Nouvelle étude et indépendant


Quelque part, je suis tombé sur une publicité pour les cours GeekBrains et j'ai décidé de l'essayer. J'ai d'abord suivi le cours "Fondamentaux de la programmation". J'en voulais plus, j'ai donc également suivi les cours "Développement Web", et ce n'était que le début: j'ai maîtrisé HTML / CSS, HTML5 / CSS3, JavaScript, puis j'ai commencé à étudier Java dans les cours " Java Programmer ". L'éducation était un grand défi pour leurs forces - non pas parce que le cours lui-même était difficile, mais parce qu'il était souvent nécessaire d'étudier avec un enfant dans ses bras.

Pourquoi Java? À plusieurs reprises, j'ai dû lire et entendre qu'il s'agit d'un langage universel qui peut être utilisé, par exemple, dans le développement Web. De plus, j'ai lu que connaissant Java, vous pouvez passer à n'importe quel autre langage si le besoin s'en fait sentir. Cela s'est avéré vrai: j'ai écrit du code en C ++, et cela a fonctionné, malgré le fait que je n'ai pas plongé trop profondément dans les bases de la syntaxe. Tout s'est avéré avec Python, il a écrit un petit analyseur pour une page web.


Parfois, je devais travailler comme ça - mettre l'enfant dans un sac à dos ergo, donner un jouet et espérer que cela suffirait pour exécuter la prochaine commande

Dès que j'ai acquis un certain bagage de connaissances et d'expérience en programmation, j'ai commencé à exécuter des commandes en freelance, j'ai donc écrit une application pour la comptabilité des finances personnelles, un éditeur de texte sur commande. Quant à l'éditeur, il est simple, il a plusieurs fonctions de base pour formater du texte, mais il fait face à sa tâche. De plus, j'ai résolu les tâches de traitement de texte, en plus j'étais engagé dans la mise en page des pages Web.

Je note que l'étude de la programmation a élargi mes capacités et mes horizons dans son ensemble: je peux non seulement écrire des programmes sur commande, mais aussi faire des projets pour moi-même. Par exemple, j'ai écrit un petit programme utile qui vous permet de savoir si quelqu'un gâche vos articles Wikipedia. Le programme analyse la page avec l'article, recherche la date de la dernière modification et si la date ne coïncide pas avec la date de la dernière modification de votre article, vous recevrez une notification. J'ai également écrit un programme pour calculer automatiquement le coût d'un produit spécifique tel que la main-d'œuvre. L'interface graphique du programme est écrite à l'aide de la bibliothèque JavaFX. Bien sûr, j'ai utilisé le tutoriel, mais j'ai développé l'algorithme moi-même, et pour sa mise en œuvre, les principes de la POO et du modèle de conception mvc ont été utilisés.

Le freelance c'est bien, mais le bureau c'est mieux


En général, j'aimais être un pigiste - vous pouvez gagner de l'argent sans quitter votre maison. Mais ici, le problème est le nombre de commandes. S'il y en a beaucoup, tout va bien avec de l'argent, mais il y a des projets urgents avec lesquels j'ai dû rester debout tard en mode urgence. S'il y a peu de clients, vous ressentez le besoin d'argent. Les principaux inconvénients du travail indépendant sont les horaires irréguliers et un niveau de revenu variable. Tout cela, bien sûr, a affecté la qualité de vie et l'état psychologique général.

On a compris que l'emploi officiel est quelque chose qui aidera à éliminer ces problèmes. J'ai commencé à chercher des postes vacants sur des sites spécialisés, j'ai développé un bon curriculum vitae (pour lequel grâce aux professeurs - je les ai souvent consultés sur ce qui devrait être indiqué dans le curriculum vitae et ce qu'il vaut mieux mentionner déjà en personne avec un employeur potentiel). Pendant la recherche, j'ai effectué des tâches de test, certaines étaient assez compliquées. J'ai ajouté les résultats au portefeuille, qui est finalement devenu assez volumineux.

En conséquence, j'ai réussi à obtenir un testeur dans une entreprise qui développe des systèmes d'information médicale pour automatiser le flux de travail dans les institutions médicales. L'enseignement supérieur dans le domaine du "génie biomédical" a aidé à trouver un emploi, ainsi que des connaissances et une expérience dans le développement de logiciels. J'ai été invité pour un entretien et j'ai finalement trouvé un emploi.

Ma tâche principale est maintenant de tester la durabilité des applications écrites par nos programmeurs. Si le logiciel ne réussit pas le test, vous devez le modifier. De plus, je vérifie les messages des utilisateurs du système de mon entreprise. Tout un département travaille à résoudre divers problèmes, et j'en fais partie. La plateforme logicielle développée par notre société est mise en œuvre dans les hôpitaux et les polycliniques; en cas de difficultés, les utilisateurs envoient une demande de solution au problème. Nous analysons ces demandes. Parfois, je choisis moi-même la tâche avec laquelle je vais travailler, et parfois je conseille le choix des tâches avec des collègues plus expérimentés.

Une fois la tâche résolue, le travail commence. Afin de résoudre le problème, je trouve l'origine de l'erreur (après tout, il y a toujours la possibilité que la raison soit le facteur humain). Après avoir clarifié tous les détails avec le client, je forme une tâche technique pour le programmeur. Une fois le composant ou le module prêt, je les teste et les implémente dans le système du client.

Malheureusement, la plupart des tests doivent être effectués manuellement, car l'introduction de l'automatisation est un processus métier complexe qui nécessite une justification sérieuse et une préparation minutieuse. Néanmoins, je me suis familiarisé avec certains outils d'automatisation. Par exemple, une bibliothèque Junit pour tester un bloc d'API. Et il existe également un cadre double d'ebayopensource, qui vous permet d'écrire des scripts qui simulent les actions des utilisateurs, très similaires à Selenium, qui est utilisé sur le Web. De plus maîtrisé le framework Cucumber.

Mon revenu dans un nouvel endroit a doublé par rapport à un indépendant - la vérité est en grande partie due au fait que je travaille à temps plein. Soit dit en passant, selon les statistiques de hh.ru et d'autres ressources, le montant du salaire d'un développeur à Taganrog est de 40 à 70 000 roubles. En général, ces données sont vraies.

Le lieu de travail est équipé de tout le nécessaire, le bureau est spacieux, de nombreuses fenêtres, toujours de l'air frais. De plus, il y a une cuisine, une cafetière et, bien sûr, des cookies! L'équipe est également cool, il n'y a pas d'aspects négatifs à cet égard. Bon travail, chers collègues, de quoi d'autre un programmeur de test a-t-il besoin pour être heureux?

Par ailleurs, je note que le bureau de la société est situé à Taganrog, c'est ma ville natale. Il existe de nombreuses sociétés informatiques, il y a donc un tournant. Si vous le souhaitez, vous pouvez déménager à Rostov - il y a plus d'opportunités là-bas, mais pour l'instant je n'ai pas l'intention de déménager.

Et ensuite?


Pour l'instant, j'aime ce que j'ai. Mais je ne vais pas m'arrêter - et donc je continue à étudier. En stock - cours sur «JavaScript. Niveau 2 », dès qu'il y aura plus de temps libre, je vais certainement commencer à le maîtriser. Je répète régulièrement le matériel déjà terminé, et je regarde des conférences et des webinaires. En plus de cela, je participe à un programme de mentorat chez GeekBrains. Ainsi, pour les étudiants qui ont réussi les cours et pendant les devoirs, l'opportunité est disponible pour être un mentor pour d'autres étudiants. Le mentor répond aux questions, aide aux devoirs. Pour moi, c'est aussi une répétition et une consolidation du matériel. Dans mon temps libre, quand je peux, je résous des puzzles à partir de ressources telles que hackerrank.com , codeabbey.com , sql-ex.ru .

J'apprends également le cours de développement Android, qui est dispensé par des professeurs de l'ITMO. Ces cours sont gratuits, si vous le souhaitez, vous pouvez passer un examen payant. Je note que l'équipe ITMO détient le championnat du monde des compétitions de programmation.

Quelques conseils pour ceux qui s'intéressent à la programmation


Ayant déjà une certaine expérience en développement, je tiens à conseiller à ceux qui prévoient de se diriger vers l'informatique de ne pas se précipiter dans la piscine avec leurs têtes. Pour devenir un bon spécialiste, vous devez brûler votre propre entreprise. Et pour cela, vous devez choisir la direction que vous aimez vraiment. Heureusement, ce n'est pas un gros problème - il y a maintenant beaucoup de critiques et de descriptions sur n'importe quel domaine de développement, de langage ou de cadre sur Internet.

Eh bien, cela vaut la peine d'être préparé pour le processus d'apprentissage en cours. Le programmeur ne peut pas s'arrêter - c'est comme la mort, cependant, dans notre cas, pas physique, mais professionnel. Si vous êtes prêt pour cela, alors allez-y, pourquoi pas?

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


All Articles