Quels sont les différents domaines de l’industrie du logiciel ?


Je'suppose que par domaines vous entendez les différents champs de l'industrie du logiciel. Cette réponse ne couvrira PAS tous les domaines. Mais j'essaierai d'en inclure autant que possible en fonction de mes connaissances dans l'industrie.

L'industrie du logiciel se compose de deux types d'entreprises - société de services et société de produits.


Découvrons ce qu'est une société de services. Ils fournissent des services de développement de logiciels pour d'autres grandes entreprises de logiciels OU des institutions gouvernementales/institutions financières/hôpitaux, etc. En général, elles n'ont pas leur propre produit mais il y a quelques exceptions.

Différents rôles/équipe dans une société de services


Analyste commercial : Disons qu'il y a une société XYX software Pvt LTD et qu'ils ont un gouvernement comme client. L'analyste d'affaires est le point de contact entre les deux parties. Il discutera avec le gouvernement de ses besoins. Les exigences ne sont rien d'autre que les caractéristiques que le client souhaite avoir dans son logiciel. Comme un analyste d'affaires interagit directement avec le client, il doit avoir de grandes compétences en communication.

Manager/chef de projet : Let's supposent que le contrat est finalisé entre le govt et l'entreprise. L'entreprise va développer le logiciel pour le gouvernement. L'entreprise a obtenu le projet ! Le chef de projet est à la tête du projet. Il délègue les tâches aux membres respectifs de l'équipe, garde la trace des tâches et gère l'ensemble de l'équipe.

Équipe de développement : Il existe différentes étapes du cycle de développement du logiciel. Jusqu'à présent, nous avons obtenu les exigences du client. Avant de passer directement à la phase de développement, l'architecte de solutions/le responsable technique qui fait partie de l'équipe de développement ou plutôt le chef de l'équipe de développement va concevoir l'architecture du projet. (Parfois, il fournira les données et laissera les autres la concevoir) pour mettre en œuvre ou développer le logiciel. L'architecture ou l'infrastructure est la base de tout projet. L'architecte décide des piles technologiques les mieux adaptées au projet. Il/elle décidera du langage de programmation à utiliser, de la base de données à utiliser, des modèles de conception à utiliser, du fournisseur de cloud computing à utiliser, etc. Une fois l'architecture et la conception prêtes, vient la phase de mise en œuvre. En fonction de la nature du logiciel, l'équipe se compose de développeurs web qui ont une expertise dans le développement frontal (si vous voyez un beau site web, c'est grâce à un développeur web). JavaScript est le langage de développement frontal le plus populaire et il existe des frameworks comme ANGULAR et ReactJS. Pour faire simple, on peut dire que les frameworks facilitent le travail du développeur. D'autres s'occupent du développement en arrière-plan. Des tâches qui se déroulent en arrière-plan. Par exemple, si vous allez sur le site d'Amazon et que vous cherchez quelque chose. C'est la responsabilité du développeur backend d'écrire le code qui comprendra votre demande, se connectera à la base de données et vous renverra ce que vous avez demandé. Je simplifie. C'est bien plus que cela ! Java est le langage backend que je connais et sur lequel je travaille. Il y en a d'autres aussi. Les développeurs web et les développeurs back-end travaillent ensemble pour construire le logiciel. Il existe un autre profil appelé développeur full-stack qui est censé avoir une expertise dans les deux.

Équipe d'assurance qualité : Maintenant, disons'qu'une petite fonctionnalité est construite. Elle doit fonctionner selon les attentes du client. L'équipe qualité s'assure que tout ce qui est développé est en bon état et fonctionne comme prévu. Il existe deux types de tests, à savoir les tests manuels et les tests automatisés. Dans les tests automatisés, le testeur écrit le code. Il existe différents frameworks. Selenium-Java est le plus populaire pour automatiser le processus de test.

Pour une entreprise de services, ce sont les principales fonctions. J'en ai peut-être oublié certaines, mais vous avez saisi l'idée.

Pour une entreprise basée sur des produits qui développe son propre produit logiciel (Uber, Ola, Amazon, Flipkart, Adobe ce sont des entreprises de produits) pour les utilisateurs, en plus des équipes mentionnées ci-dessus, il y en a d'autres.

ÉquipeUX : Cette équipe joue un grand rôle dans la phase de conception du produit. Ils vont faire un brainstorming et essayer d'analyser la perspective de l'utilisateur's. Qu'est-ce que les utilisateurs vont aimer ? Comment rendre un site Web convivial ? Si vous voyez un site web beau et facile à utiliser. Merci au designer UX ! Il créera des maquettes. Ils ont une expertise dans Adobe Illustrator et Photoshop.

Administration de la base de données : La base de données fait partie intégrante de tout projet et il'est bon d'avoir une équipe dédiée à cette tâche. La tâche principale est de concevoir, mettre en œuvre et maintenir la base de données. SQL est l'exigence de base pour devenir un administrateur de base de données.

Équipe de déploiement : Une fois que le logiciel est développé et testé en profondeur, il doit être livré au client ou hébergé sur les serveurs auxquels le client peut accéder. C'est l'équipe de déploiement qui s'en charge.

Les autres domaines comprennent l'équipe de test de performance, l'équipe de support des applications.

Les compétences de l'administrateur de bases de données sont très variées.