JavaRush /Blog Java /Random-FR /Qui est qui en informatique. Que font les PM, les dévelop...

Qui est qui en informatique. Que font les PM, les développeurs front-end et back-end et l'assurance qualité ?

Publié dans le groupe Random-FR
Hé! Nous avons tous regardé ici parce que nous souhaitions travailler dans le domaine informatique. Mais au lieu de fouiller dans la première spécialité informatique que vous rencontrez, cela vaut peut-être la peine de jeter un petit coup d’œil à la liste des domaines possibles dans une entreprise informatique ? Ceci est la deuxième partie de ma courte critique. Dans le premier , nous avons examiné des spécialités telles que le recrutement, les ressources humaines, l'administration système, DBA, DevOps. Aujourd'hui, nous examinerons les spécialités qui sont la « colonne vertébrale » de toute équipe et, par conséquent, d'un projet. Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 1Si je rate quelque chose quelque part, ne me grondez pas trop, mais corrigez-moi plutôt dans les commentaires : je regarde tout du côté d'un développeur Java et je ne connais peut-être tout simplement pas les nuances de toutes les spécialités.

18. PM - Chef de projet

Le travail d' un chef de projet consiste à planifier, organiser, gérer avec compétence des projets techniques et à améliorer la communication entre les membres de l'équipe pour garantir que le travail se déroule de manière fluide et aussi efficace que possible. Ces spécialistes doivent connaître les besoins des clients et les objectifs qu'ils poursuivent et coordonner au maximum les actions des employés afin de mener le projet à sa conclusion logique et positive. Positif, car les projets ne peuvent pas toujours être menés à bien pour plusieurs raisons : arrêt du financement, insatisfaction du travail du client, etc. La Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 2tâche principale du PM est de coordonner un groupe d'employés pour résoudre problèmes techniques, car les développeurs ne sont pas toujours des personnes très sociables et ne peuvent toujours pas communiquer de manière compétente entre eux, ce qui, à son tour, ne peut que jouer contre le projet. Eh bien, ou, par exemple, le développeur est resté bloqué sur quelque chose : il peut rester assis pendant longtemps et ne pas savoir comment résoudre un problème. Nous n’aimons pas tous admettre que nous ne savons pas ou ne pouvons pas faire quelque chose, et les développeurs encore plus. C'est ici que PM vient à la rescousse , qui vous aidera à trouver une personne vers qui vous pourrez vous tourner pour obtenir des informations complémentaires, ou qui a déjà rencontré quelque chose de similaire. Les responsabilités du PM comprennent :
  • fixer les objectifs généraux du projet ;
  • élaborer des plans pour atteindre ces objectifs ;
  • maintenir les délais du projet et les rapports d'avancement actuels ;
  • gestion des ressources du projet (employés et équipements techniques);
  • améliorer la coordination de l'interaction entre les membres de l'équipe de projet ;
  • suivre l'efficacité du projet et le respect du calendrier prévu ;
  • effectuer des évaluations des risques pour les projets ;
  • organiser diverses réunions pour discuter des objectifs, des progrès actuels, des aspects positifs et négatifs du projet.
Compétences requises :
  • Anglais Intermédiaire supérieur et supérieur, puisque le PM communique avec le client au nom de l'équipe ;
  • des connaissances techniques larges, mais pas très approfondies, afin que vous puissiez comprendre qui fait quoi, comment se déroule le travail en général, sans aller trop loin ;
  • compétences en gestion de projets et des équipes impliquées dans ceux-ci ;
  • de solides compétences en communication, puisque le travail d'un PM consiste principalement à communiquer avec les membres de l'équipe et la direction ;
  • développé des compétences en correspondance. Par exemple, vous devez souvent envoyer des lettres à l'adresse e-mail du client au nom d'une équipe ou d'une entreprise, et personne n'appréciera une lettre mal écrite ou contenant des erreurs ;
  • un esprit analytique qui sera utile pour résoudre les problèmes qui surviennent lors du travail sur un projet ;
  • des compétences en gestion du temps, dont l'utilisation vous permettra de respecter les projets dans les délais et le budget (après tout, temps = argent) ;
  • compétences en planification des ressources et des tâches.
Selon Dou, à Kiev, le salaire moyen d'un Premier ministre débutant est de 700 dollars . L'échelle salariale à Kiev pour ces spécialistes est de 1 200 à 4 500 dollars : tout dépend de l'expérience du spécialiste et de l'entreprise. Qui pouvez-vous devenir :
  • le gestionnaire de livraison ( DM ) est une continuation directe du PM -a, se situe immédiatement au-dessus d'un groupe de PM et coordonne leurs projets à un niveau supérieur ;
  • gestionnaire de programme - coordonne plusieurs projets interdépendants, mais moi-même je ne comprends pas vraiment la différence avec le DM ;
  • directeur technique ( CTO ) - directeur technique chargé du développement des produits et de l'amélioration de leurs processus de création ;
  • chef de la direction ( PDG ) - chef de la direction ;
  • gestionnaire de compte ( AM ) - responsable du service client ;
  • se recycler et passer à une autre spécialité))
Si les gens vous intéressent, que vous aimez communiquer avec eux et êtes prêt à assumer la responsabilité d'une équipe (voire de plusieurs) de développeurs, alors ce métier est clairement fait pour vous.

7. Développeur front-end

Un développeur frontend est un développeur chargé d'implémenter la partie visuelle d'une application que les utilisateurs voient et avec laquelle ils interagissent dans une application Web. En règle générale, ces spécialistes collaborent avec des développeurs Backend qui sont responsables de la partie logique (serveur) de l'application, qui poursuit la partie visuelle de l'application créée par les développeurs Frontend . Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 3Les développeurs frontend, comme les développeurs backend, constituent l’épine dorsale du développement de tout projet. Ceux qui soutiennent des projets. Après tout, quelle que soit l’entreprise, elle repose sur des travailleurs ordinaires, pour ainsi dire, acharnés. Les développeurs agissent donc comme des travailleurs acharnés. En règle générale, ils sont beaucoup plus nombreux que les représentants d'autres spécialités et ils sont les plus nécessaires dans tout projet. Les responsabilités du développeur front-end incluent :
  • développement de nouvelles fonctionnalités et amélioration des anciennes ;
  • refactoriser le code pour améliorer les performances, qui peuvent parfois en souffrir grandement ; la lisibilité, afin que les autres développeurs puissent rapidement comprendre le code et sa logique ; l'extensibilité, afin qu'à l'avenir, il soit plus facile de mettre en œuvre de nouvelles fonctionnalités en réutilisant des parties de l'ancienne ;
  • révision (révision) du code envoyé au serveur. Par exemple, un développeur a écrit le code, un autre le révise et peut le renvoyer au premier avec des commentaires sur ce qui doit être corrigé ;
  • communication avec les clients et les membres de l'équipe - développeurs Frontend et Backend ;
  • mise en œuvre technique de la mise en page graphique UI/UX élaborée par le designer ;
  • suivi des performances des applications ;
  • correction de bugs (erreurs).
Les développeurs frontend sont des programmeurs qui ont étudié la mise en page en HTML , CSS , JavaScript et ont entrepris l'étude d'un framework spécifique, par exemple Angular ou React. Examinons ensuite les compétences spécifiques nécessaires pour devenir développeur Frontend et prenons la direction Angular comme exemple . Compétences requises :
  • Niveau d'anglais - Intermédiaire ;
  • Compréhension de l'ensemble du processus de développement web (conception, développement et déploiement) ;
  • travailler avec Angular 5+ ;
  • connaissance de JavaScript , TypeScript , RxJS , Sass , webpack ;
  • compétences en mise en page ( HTML , CSS );
  • compétences pour travailler avec Git ;
  • comprendre les modèles de conception ;
  • bonne connaissance de Linux .
Selon Dou, à Kiev, le salaire moyen d'un spécialiste débutant dans ce profil est de 500 dollars . La médiane générale à Kiev pour ces spécialistes est de 1 800 à 2 700 dollars . Eh bien, les chiffres les plus élevés peuvent même atteindre près de 5 000 dollars . Mais vous devez comprendre qu’il s’agit de cas isolés et parmi des spécialistes hautement qualifiés. Si vous aimez travailler avec la partie technique, mais pour qu'elle ne vous rende pas fou par sa complexité, et en même temps avoir un métier dans un sens populaire, cette spécialité peut vous intéresser. Qui pouvez-vous devenir :
  • responsable technique - spécialiste technique (gourou) dans ce domaine ;
  • chef d'équipe - chef d'équipe de développement (commandant de terrain). De là, vous pouvez évoluer vers une direction managériale, par exemple CTO ;
  • développeur full-stack - un développeur qui possède à la fois les parties backend et frontend , c'est-à-dire que vous devez apprendre le backend ;
  • architecte de solutions - un spécialiste qui prend des décisions concernant l'architecture du dispositif interne et des interfaces externes du produit ;
  • consultant technique - consultant technique dans certaines technologies ;
  • se recycler et passer à une autre spécialité.

8. Développeur back-end

Développeurs backend - créent et améliorent la partie serveur responsable de la logique métier de l'application, qui se connecte à la partie visuelle (interface) de l'application (par exemple, via l' API REST ). La combinaison de la partie serveur de l'application ( Backend ) + de la partie visuelle de l'application ( Frontend ) forme une application web avec laquelle l'utilisateur final interagit. Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 4Les développeurs back-end sont responsables de la création, de la maintenance, des tests et du débogage de l’ensemble du back-end. Cela inclut généralement la logique applicative de base, l'interaction avec les bases de données, l'interaction avec diverses API et d'autres processus internes. Un spécialiste de ce profil, outre la connaissance de la syntaxe de son langage et des frameworks de base, doit avoir des connaissances générales sur les bases de données, notamment relationnelles , être capable d'écrire des tests unitaires et d'intégration pour son code, avoir des connaissances sur le constructeur d'applications. - Maven ou Gradle , pouvoir utiliser Git - ohm Les responsabilités du développeur back-end incluent :
  • développement de nouvelles fonctionnalités ;
  • refactorisation de code ;
  • examiner le code d'autres développeurs Backend ;
  • rédiger de la documentation pour aider les nouveaux développeurs backend ,
  • ceux qui viendront au projet comprendront rapidement la logique de l'application ;
  • correction de bugs ;
  • rédaction de tests (tests unitaires, d'intégration) ;
  • communication avec les autres membres de l’équipe.
Comme Frontend , les développeurs Backend ont des orientations différentes, à savoir un langage de développement spécifique. Mais bien sûr, nous prendrons comme exemple le langage de développement Java. Alors, quelles sont les compétences nécessaires pour un développeur Java :
  • Niveau d'anglais - Intermédiaire ;
  • connaissance de Java Core - la syntaxe du langage Java et un ensemble de technologies de base ;
  • compréhension de l'ensemble du processus de développement Web ;
  • connaissance du langage SQL ;
  • connaissance des bases de données relationnelles, telles que PostgreSQL ou MySQL ;
  • compétences pour interagir avec une base de données via JDBC , Hibernate ;
  • connaissance des frameworks de base Spring (Spring Core, Spring Data, Spring Web) ;
  • connaissance de Git , Maven ;
  • Compétences en tests unitaires et d'intégration, par exemple en utilisant JUnit et Mockito .
Pour les développeurs Frontend et Backend , je n'ai rien dit sur les compétences élevées en communication. Partout, ils écrivent que des compétences élevées en communication sont importantes pour ces spécialistes, mais ce n'est pas tout à fait vrai. Oui, il est important de communiquer de manière adéquate, mais cela est important dans n'importe quelle direction et dans n'importe quelle autre profession. Mais si vous le comparez à un PM ou à un recruteur, dont tout le travail consiste en la communication, alors pour un développeur, avoir des soft skills (compétences en communication) super développées n'est pas si important. Après tout, ils travaillent dans le code toute la journée et, par exemple, une fois par jour, ils participent à une sorte de réunion, comme une réunion quotidienne, au cours de laquelle ils disent littéralement quelques phrases : ce qu'ils ont fait, ce qu'ils font, ce qu'ils feront. Eh bien, ils appellent parfois leurs collègues pour discuter de problèmes techniques. Par conséquent, cette profession est idéale pour les introvertis – les personnes qui aiment l’intimité. Vous pouvez recevoir votre tâche et y travailler sans passer de nombreuses heures sur des appels et des discussions peu clairs. J'ai également écrit que le niveau d'anglais requis est Intermédiaire , car d'une part il n'y a pas beaucoup de communication avec le client, mais en même temps il faut être capable de lire/écrire en anglais (documentation, Jira ) et, éventuellement, communiquer avec les développeurs du côté du client. Les clients peuvent fermer les yeux sur l'anglais tordu des développeurs : l'essentiel est qu'ils soient forts en développement. Les opportunités de croissance pour les développeurs Backend sont les mêmes que pour les développeurs Frontend :
  • responsable technique ;
  • chef d'équipe ;
  • développeur full-stack - vous devez apprendre le frontend ;
  • Architecte de solution ;
  • consultant technique ;
  • se recycler et passer à une autre spécialité.
Les salaires des développeurs Backend sont très agréables. Par exemple, un développeur Java débutant à Kiev peut recevoir en moyenne environ 600 $ . Le salaire moyen à Kiev de ces spécialistes varie entre 1 950 et 2 850 dollars . Eh bien, pour les développeurs solides de niveau senior, le salaire peut atteindre 5 000 $ et plus. Mais vous devez comprendre que cela peut être réalisé avec une énorme expérience derrière vous et le plus haut niveau de compétences. À l'école, j'ai toujours été bon en mathématiques et en physique, car on me donnait des briques sous forme de formules, et pour résoudre certains problèmes, je devais construire une structure logique à partir de ces briques. C'est pourquoi j'aime le développement - le même principe, sauf qu'il y a beaucoup plus de briques logiques et que les structures doivent être construites de manière plus complexe. Si vous ne recherchez pas de solutions faciles et souhaitez de vrais défis, n'hésitez pas à choisir cette direction.

9. Manuel d'assurance qualité

Manual Quality Assurance est un spécialiste travaillant pour assurer la qualité des produits, dont l'objectif est d'améliorer le processus de développement d'applications lui-même, d'analyser la documentation et, sur cette base, d'identifier les erreurs et les inexactitudes dans le fonctionnement du produit. Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 5En règle générale, l'assurance qualité, qui est traitée par le manuel d'assurance qualité , comprend :
  • effectuer des évaluations des risques ;
  • analyse des spécifications et des exigences;
  • générer des idées pour améliorer la qualité des produits ;
  • élaborer des plans de tests ;
  • analyse et documentation des résultats des tests obtenus.
À l'heure actuelle, les tests vont de pair avec le développement de logiciels et jouent un rôle important dans la création de tout produit informatique de haute qualité. Et c’est vrai, car en plus d’une fonctionnalité correctement écrite, nous devons nous assurer qu’elle fonctionne correctement et ne contient pas plus de 100 500 bugs. C'est là que les tests viennent à la rescousse, servant en quelque sorte de contrôle qualité afin que seul un produit aussi rationalisé et raffiné que possible puisse le réussir. Les responsabilités du manuel d'assurance qualité comprennent :
  • étudier les exigences, les spécifications et autres documents ;
  • visualiser et vérifier la conformité du système et de ses caractéristiques techniques au cahier des charges (liste des exigences) ;
  • développer des stratégies et des plans de test efficaces ;
  • rédiger des scripts de test (cas de test), sur la base desquels QA Automation crée des tests automatisés ;
  • exécution manuelle des cas de tests, analyse des résultats ;
  • en cas d'échecs ou d'incohérences lors des tests, vous devez établir un rapport, créer des tâches (créer des bugs) et les envoyer aux développeurs pour amélioration ;
  • tests de régression de produits ;
  • documenter les étapes de test ;
  • communication avec les équipes de développement sur les incohérences fonctionnelles et les bugs.
Compétences nécessaires pour devenir Manuel QA :
  • Niveau d'anglais - Intermédiaire ;
  • bonne compréhension des méthodologies et des pratiques d'assurance qualité des applications ;
  • connaissance des tests de régression ;
  • capacité à documenter les erreurs ;
  • compétences en examen détaillé des exigences logicielles ;
  • orientation technique de base;
  • comprendre JSON , XML ;
  • connaissance de base de SQL ;
  • compétences pour travailler avec des outils d'organisation de la documentation de test, par exemple - Testrail ;
  • attention au détail;
  • esprit critique.
Une opportunité directe pour la croissance d'un tel spécialiste est l'automatisation de l'assurance qualité . Pour ce faire, vous devrez apprendre un peu. Vous pouvez également évoluer vers :
  • Responsable QA - le leader de l'AQ dans l'équipe ;
  • recyclez-vous et passez à une autre spécialité, par exemple, devenez développeur front-end ou back-end .
À Kiev, le salaire moyen du QA Manual pour un débutant est de 400 $ . Eh bien, en moyenne, les salaires de ces spécialistes se situent entre 1 250 et 1 650 dollars . Pour les spécialistes seniors les plus chevronnés, les salaires peuvent atteindre 3 000 $ et plus. C'est l'une des manières les plus simples de « se lancer dans l'informatique » : on peut commencer par cette spécialité, puis passer à quelque chose de plus complexe, ou atteindre les sommets de la maîtrise dans ce domaine.

10. Automatisation de l'assurance qualité

QA Automation est un spécialiste de la qualité des produits qui utilise divers outils logiciels pour créer des tests basés sur des scripts écrits personnellement ou par QA Manual . L'automatisation QA est quelque chose comme le niveau suivant après le manuel QA . Si QA Manual fait tout manuellement, alors QA Automation utilise une sorte de langage de programmation pour écrire des tests qui vérifient le bon fonctionnement des fonctionnalités de l'application. Ces tests sont généralement exécutés automatiquement dans certaines conditions : lorsque l'application est créée, ou chaque jour à une certaine heure, etc. Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 6Généralement, les responsabilités d'AQA comprennent :
  • étudier les exigences, les spécifications et autres documents ;
  • créer et configurer des environnements de test pour exécuter des scénarios de test et des scripts ;
  • concevoir, créer et exécuter l'automatisation de cas de test (plans de test) à l'aide de Selenium conformément aux normes et méthodologies d'assurance qualité définies ;
  • étudier les tests manuels de l'application et faire des suggestions sur la possibilité d'automatisation ;
  • maintenir à jour les cas de tests d'automatisation ;
  • rédiger des documents;
  • maintenir le niveau requis de couverture des tests ;
  • si nécessaire, aidez-nous aux tests manuels. Peut exécuter manuellement des scénarios de test et des scripts pour les produits en cours de développement à l'aide d'outils de gestion de tests ;
  • participation au développement, nommément à l'administration du processus de contrôle de la qualité;
  • communication avec les équipes de développement sur les incohérences fonctionnelles et les bugs.
Le principal « truc » des tests d'automatisation est que les tests automatisés vous permettent de tester les logiciels beaucoup plus rapidement, plus souvent et, par conséquent, d'accélérer la livraison des produits. Premièrement, un travail d’automatisation des tests bien effectué permettra aux tests de s’exécuter rapidement et de manière prévisible. Cela évitera à son tour les situations dans lesquelles la personne effectuant les étapes manuellement pourrait sauter une étape ou saisir une valeur non destinée au test. Deuxièmement, vous pouvez inclure des tests automatisés dans le processus de génération et les exécuter à chaque fois que la génération est terminée. Cela peut être fait à l'aide de l' outil CI . Troisièmement, lorsque les développeurs modifient certaines fonctionnalités d’une application, cela peut affecter une partie complètement différente du système et également modifier son comportement. Mais lorsque nous effectuons des tests automatisés, les changements dans le comportement de n'importe quelle partie du système deviendront immédiatement visibles - c'est une assurance supplémentaire au cas où nous en créerions trois nouveaux en corrigeant un bug. Compétences requises :
  • Niveau d'anglais - Intermédiaire ;
  • bonne compréhension des méthodologies et des pratiques d'assurance qualité ;
  • excellente connaissance de la syntaxe d'un langage (par exemple, Java ou JavaScript ), car les tests doivent être écrits dans quelque chose ;
  • écrire des tests automatisés avec Selenium ;
  • familiarité avec CI/CD ;
  • capacité à travailler avec Git ;
  • attention au détail;
  • esprit critique.
Une opportunité de croissance directe pour AQA est de devenir développeur du langage de programmation dans lequel vous écrivez déjà des tests. Vous pouvez également devenir :
  • Responsable AQ ;
  • se recycler et passer à une autre spécialité.
Le salaire moyen pour un débutant en automatisation QA à Kiev est de 600 $ . La moyenne dans ce domaine est de 1 700 à 2 500 dollars , et pour les spécialistes de haut niveau, les salaires peuvent atteindre 4 000 dollars et plus. Si vous avez un esprit critique, que vous souhaitez écrire du code, mais que vous n'avez pas de « défis » qui peuvent parfois vous énerver et que vous souhaitez un travail plus détendu, vous devriez en apprendre davantage sur ce métier. Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 7Dans toutes les spécialisations, j'ai indiqué l'anglais comme compétence requise. Mais si vous ne l’avez pas très bien, ne vous inquiétez pas. Ce n'est pas une phrase. Il existe de nombreuses sociétés de produits russes et ukrainiennes qui recrutent des spécialistes sans la connaissance requise de l'anglais, car les gens n'auront pas besoin de communiquer avec des clients étrangers (clients), mais uniquement au sein de l'équipe. Il peut s’agir par exemple du service informatique d’une banque ou d’un opérateur télécom. Vous pouvez donc trouver un emploi sans parler une langue, si vous en avez l’envie. Et aujourd'hui c'est tout pour moi...Qui est qui en informatique.  Que font les PM, les développeurs frontend et backend et l'assurance qualité - 8
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION