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. Si 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 tâ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.
- 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.
- 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é))
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 . Les 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).
- 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 .
- 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. Les 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.
- 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 .
- 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é.
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. En 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.
- é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.
- 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.
- 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 .
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. Gé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.
- 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.
- Responsable AQ ;
- se recycler et passer à une autre spécialité.
GO TO FULL VERSION