Compétences Programmeur/programmeuse des applications de traitement électronique des données près de Edmonton (AB)

Voici les compétences généralement requises pour exercer le travail de programmeur/programmeuse des applications de traitement électronique des données au Canada. Les compétences fournies s’appliquent à l’ensemble des Programmeurs/programmeuses et développeurs/développeuses en médias interactifs (CNP 2174).

Expertise

Les personnes qui exercent cette profession font habituellement appel aux compétences suivantes.

  • Écrire, modifier, intégrer et mettre à l'essai le code des logiciels
  • Assurer la mise à jour des programmes informatiques existants en effectuant les modifications de manière spécifiée
  • Cerner et communiquer les problèmes techniques, procédures et solutions
  • Préparer les rapports, manuels et autres documents sur l'état, l'exploitation et l'entretien des logiciels
  • Prêter assistance dans la collecte et la documentation des besoins des utilisateurs
  • Prêter assistance dans le développement des spécifications logiques et techniques
  • Rechercher et évaluer un grand nombre de produits logiciels
  • Programmer des logiciels d'animation en fonction de spécifications prédéfinies pour des CD, DVD, cartouches de jeux vidéo interactifs et des applications Internet
  • Programmer des logiciels d'effets spéciaux à des fins cinématographiques ou vidéo
  • Écrire, modifier, intégrer et mettre à l'essai le code des logiciels destinés au commerce électronique ou à toute autre application Internet

Habiletés et connaissances

Consultez la liste des habiletés et connaissances habituellement requises pour exercer cette profession.

Compétences essentielles

Voyez comment les 9 compétences essentielles s’appliquent à cette profession.

Lecture
  • Lire les courriels rédigés par des clients ou des collègues. Lire, par exemple, de brefs courriels envoyés par des clients indiquant des descriptions générales de problèmes ou des courriels plus longs envoyés par des collègues qui fournissent des détails techniques et des solutions potentielles. (2)
  • Vérifier les étiquettes et les licences d'utilisation du matériel et des logiciels pour bien respecter les conditions d'utilisation. (2)
  • Lire des magazines électroniques, comme «Wired», «Slashdot» et «UNIX Syntax», pour en savoir davantage sur les nouveaux produits, les nouveaux logiciels et d'autres solutions apportées par des programmeurs à des problèmes logiciels. (3)
  • Lire des demandes de propositions qui décrivent les besoins, les objectifs et les échéanciers des clients relativement aux systèmes informatiques. Bien comprendre les exigences des clients pour élaborer des propositions intéressantes. (3)
  • Examiner les contrats exposant les coûts estimatifs, les licences, la propriété du matériel, les échéanciers et les responsabilités. (3)
  • Lire les spécifications des interfaces de programmation pour les nouveaux logiciels afin d'en déterminer l'application, d'évaluer la technologie, de comparer les coûts et d'explorer les exigences et la compatibilité du système avec d'autres logiciels. (4)
  • Lire différents manuels d'utilisation des logiciels. Lire, par exemple, des sections du manuel d'utilisation de «Macromedia Flash» afin de trouver des moyens permettant de déplacer des images et de programmer des fonctions interactives dans un nouveau site Web. (4)
  • Lire de longues fiches de spécifications sur la conception, afin de comprendre la configuration et les caractéristiques des applications à créer, les descriptions fonctionnelles, l'aperçu de l'architecture, les descriptions des systèmes d'interaction à des clients, les détails des structures d'application, les points principaux et le schéma de chaque écran. (4)
Utilisation de documents
  • Parcourir des listes pour déterminer les différentes caractéristiques à inclure dans le logiciel. (1)
  • Parcourir des calendriers d'activités pour déterminer les tâches à accomplir toutes les semaines, durant toutes les étapes de développement des logiciels ou de programmation Web. (2)
  • Inscrire les activités de développement des logiciels et les dates sur des formulaires de suivi. (2)
  • Représenter graphiquement l'information sur les utilisateurs, comme l'âge et le sexe, et analyser cette information pour mieux comprendre les caractéristiques des personnes visitant les sites Web. (3)
  • Parcourir les organigrammes pour obtenir de l'information sur les étapes des processus, le flux des données ou les structures de commandes. Consulter, par exemple, un organigramme sur l'importation pour comprendre les différentes étapes du processus d'importation de données avant le traitement. (3)
  • Lire et analyser des rapports techniques complexes comprenant des registres de bases de données à mettre en correspondance avec les registres d'événements afin de déterminer le contexte dans lequel les pannes se produisent. Les deux registres présentent la chronologie de tous les événements dans un tableau affichant l'heure, les modules et les messages des événements en langage informatique, et comprennent des symboles qui représentent le type de message. Parcourir fréquemment plusieurs centaines de pages pour trouver le moment où l'erreur s'est produite. Analyser l'information afin de déterminer comment l'erreur s'est produite et, s'il y a lieu, les erreurs de programmations à corriger. (4)
  • Consulter et résumer l'information tirée de différents documents techniques afin de développer des logiciels. Utiliser les spécifications et les caractéristiques qui définissent l'application et dresser la liste des points principaux. Exposer en détail la conception fonctionnelle, l'architecture et l'interface-utilisateur de l'application, et fournir des échantillons de copies d'écran. Consulter fréquemment des manuels techniques volumineux et des sites Web de programmation pour découvrir comment programmer une fonction spécifique dans un certain langage informatique. Les documents techniques sont souvent longs et exigent des connaissances en programmation. (4)
Rédaction
  • Rédiger de courtes lettres et des courriels aux clients et aux collègues afin de les mettre au courant des projets, de les informer des changements et des modifications, et de répondre à des questions sur la façon d'accéder à de l'information ou de régler des problèmes. (1)
  • Rédiger des instructions étape par étape, claires et faciles à suivre, pour l'installation d'application pour les clients. (2)
  • Rédiger des propositions pour des projets de développement de logiciels et de sites Web. Adapter des propositions existantes en fonction des exigences des projets, notamment les tâches spécifiques, les échéanciers et les travaux livrables. (3)
  • Écrire des licences d'utilisation afin de s'assurer que les utilisateurs des produits paient les développeurs. Utiliser des modèles préétablis; sélectionner et modifier les clauses habituelles de manière à ce qu'elles reflètent les éléments spécifiques des contrats. (3)
  • Rédiger des fichiers d'aide et des manuels de formation sur les logiciels et les sites Web afin d'aider les utilisateurs finaux à se servir des applications et de répondre à leurs questions. Ces fichiers doivent être rédigés en termes clairs. L'information technique doit être adaptée pour être facilement comprise par les utilisateurs visés. (3)
  • Préparer des documents techniques et d'autres documents sur les projets à l'intention d'autres programmeurs qui souhaitent modifier les logiciels afin d'y ajouter des caractéristiques additionnelles ou de développer des logiciels similaires. Décrire le fonctionnement des logiciels, discuter de la technologie sur laquelle ils reposent et suggérer d'autres applications. (4)
  • Créer des guides de développement ou des documents sur les spécifications de conception qui définissent les besoins des clients et les exigences des projets. Ces guides sont préparés à l'intention des programmeurs. Ils sont souvent longs, détaillés et très techniques. Rédiger aussi des dossiers sur le développement d'applications afin de noter les étapes de programmation franchies durant le développement de logiciels ou de sites Web. Documenter, par exemple, les normes de codage, les conventions relatives au développement et la conception visuelle de l'interface-utilisateur. (4)
  • Rédiger différents rapports destinés aux clients. Préparer, par exemple, des rapports sur l'avancement des travaux, sur les problèmes, les solutions et les prochaines étapes, de même que des rapports de faisabilité traitant de l'importance des résultats des essais et des changements recommandés. (4)
CalculCalculs monétaires
  • Calculer le montant total des factures pour le nombre d'heures travaillées. Se servir des taux horaires fixés pour la main-d'oeuvre et ajouter les taxes de vente applicables. (3)
Calendriers des budgets et des opérations comptables
  • Surveiller les coûts afin de respecter les budgets attribués aux projets. (1)
  • Prévoir les tâches pour les projets de développement sur une base quotidienne, hebdomadaire et mensuelle. Prévoir les travaux de grandes équipes comprenant des architectes de bases de données, des concepteurs de logiciels, des experts en sécurité, des équipes de production et des groupes d'essais. Rajuster les horaires en fonction des événements imprévus et achever les projets en respectant les modalités des contrats. (3)
Mesures et calculs
  • Mesurer fréquemment l'espace libre sur les disques afin de s'assurer que la demande ne dépasse pas l'espace libre. (1)
  • Utiliser des formules pour spécifier la largeur, la hauteur et l'emplacement des éléments de conception de pages Web relativement aux autres objets, plutôt que de les figer dans le code. (2)
  • Calculer le temps requis pour télécharger les logiciels selon le débit de transfert et la taille des fichiers. (2)
Analyses des données numériques
  • Recueillir des données sur les utilisateurs des systèmes, notamment le sexe, l'âge, le débit binaire, le domaine de la page d'accueil et les types d'ouverture de session, pour comparer l'utilisation des systèmes chez les différents groupes d'utilisateurs. (2)
  • Intégrer les fonctions mathématiques aux routines de logiciels. Créer, par exemple, un logiciel pour calculer le pourcentage de la population canadienne dans une certaine catégorie démographique ou pour faire la moyenne des résultats obtenus à un test en ligne. (2)
  • Analyser le nombre et la taille des paquets de données traités par le système durant un essai et comparer le débit ou les données à l'information correspondante du réseau transporteur. Comparer les résultats des tests au rendement attendu afin de déterminer les problèmes dans le système et de s'en inspirer pour faire des changements ou des rajustements. (3)
Calcul approximatif
  • Prévoir le temps requis pour corriger les problèmes logiciels ou ajouter de nouvelles caractéristiques. (1)
  • Estimer le temps requis pour développer des applications logicielles. Aucune procédure d'estimation établie n'existe. Consulter les anciens plans de travail pour déterminer la période requise pour des projets de programmation semblables. Rajuster en conséquence l'estimation après avoir comparé la complexité des deux projets. Des erreurs d'estimation peuvent avoir une incidence importante sur le coût des projets et la capacité de livrer les produits ou les applications à temps. (3)
Communication verbale
  • Téléphoner aux clients ou aux utilisateurs d'une application à la suite d'un courriel ou d'un message vocal signalant des messages d'erreur dans des applications logicielles. Parler directement aux intéressés pour déterminer la source des erreurs. (2)
  • Participer à des réunions avec les clients et leurs représentants afin de recueillir de l'information pour clarifier les spécifications des projets, faire des recommandations et s'entendre sur la définition des besoins relatifs au système. (2)
  • Participer à des réunions avec des collègues pour échanger de l'information sur le développement de pages Web ou de projets d'applications logicielles. Discuter, par exemple, des besoins des clients et des exigences des projets avec les équipes de conception, et parler aux membres des équipes d'intégration du système à propos des problèmes liés aux applications et aux systèmes connexes. Consulter les analystes des bases de données pour savoir comment extraire les données et les transformer pour les intégrer à des tableaux spécifiés par les clients, et échanger de l'information avec les concepteurs graphiques afin qu'ils puissent intégrer leur travail dans la charge globale d'élaboration des projets. (3)
  • Présenter des propositions aux petits groupes de clients lors d'une offre de services relativement à des projets de programmation Web. Convaincre les clients de leurs capacités d'atteindre rapidement des résultats professionnels. Diriger des réunions de vente est une fonction importante du travail. (3)
  • S'entretenir avec les fournisseurs de services Internet durant les négociations sur la gestion des sites Web sur des serveurs ou lors du dépannage afin de déterminer la source de problèmes informatiques. (3)
Capacité de raisonnementRésolution de problèmes
  • Recevoir les projets de logiciels abandonnés par d'autres programmeurs. Constater à l'occasion que la programmation est incohérente et irrégulière, car elle a été effectuée par différents programmeurs ayant chacun un style particulier. Rajuster la programmation des applications, section après section, en s'assurant que l'application offre le résultat prévu et que l'utilisateur ne constatera aucune interruption. (2)
  • Se heurter à des bogues dans les nouvelles applications logicielles ou des erreurs lors de la programmation. Découvrir, par exemple, que les caractéristiques interactives d'un site Web n'offrent pas le résultat prévu. Les erreurs peuvent découler de différents facteurs, certains de nature inconnue. Découvrir la cause des pannes du système, vérifier méthodiquement chaque composant jusqu'à ce que le bogue soit décelé. Modifier et essayer les applications afin de vérifier le bon fonctionnement des lignes de codes une fois que celles en cause ont été déterminées. Procéder par tâtonnement jusqu'à ce que le logiciel fonctionne de la manière prévue dans certains cas. (3)
  • Constater que la conception du logiciel ne répond pas aux attentes des clients. Organiser une réunion avec les clients et les experts en technologie de l'information afin de clarifier les attentes et la conception. Revoir la conception et apporter les changements requis au code logiciel afin de relancer le projet et d'assurer la satisfaction des clients. (3)
Prise de décision
  • Décider des noms et des règles d'affectation des noms pour les différents composants du logiciel. (1)
  • Choisir les protocoles à utiliser pour télécharger et transférer les fichiers des systèmes centraux à des systèmes locaux, en tenant compte de certains facteurs, comme le type et la taille des données, l'espace libre dans les systèmes récepteurs, la compressibilité des données et la portabilité d'un protocole dans un autre système. Avoir, habituellement, accès à ce type d'information et se fier à leur expérience ou à des projets antérieurs semblables pour les aider à prendre une décision. Les erreurs peuvent être corrigées plutôt facilement, toutefois du temps additionnel sera requis pour la programmation. (2)
  • Avoir peut-être à décider des tâches à attribuer aux programmeurs de l'équipe. Déterminer les forces et les faiblesses de tous les membres de l'équipe, et tenir compte de leur expérience et de leurs préférences. Garder à l'esprit la qualité des produits à créer et les échéanciers à respecter. (2)
  • Choisir les tâches de développement prioritaires. Choisir, par exemple, la fonctionnalité plutôt que la présentation lorsque le temps consacré au développement des logiciels est court. (3)
  • Choisir des méthodes et des langages de programmation. Décider, par exemple, d'utiliser des techniques orientées objet et des structures de contrôle de l'utilisation, comme des boucles et des instructions conditionnelles pour une application particulière, en tenant compte de certains facteurs, comme les spécifications du projet, le rendement prévu de l'application, les préférences du client et l'expérience antérieure relativement à des projets semblables. La prise de mauvaises décisions peut entraîner la création d'applications lentes ou défectueuses et des travaux de remaniement coûteux. (3)
Pensée critique
  • Évaluer l¿utilité et la pertinence d¿options et de fonctions offertes sur différents sites Web, d¿applications ou de produits logiciels afin de déterminer la façon dont ils pourraient être utilisés dans le cadre de projets actuellement mis en ¿uvre. (2)
  • Évaluer la possibilité de se conformer aux exigences et aux spécifications du client pour les projets de logiciels. Ils prennent en considération la durée requise, le plafond du budget, la technologie disponible, la capacité de répondre aux besoins opérationnels des clients et les aspects des projets qu¿ils pourraient juger difficiles. Ils examinent également la façon dont les programmes pourraient aller de pair, les capacités particulières de chaque programme, les autres produits disponibles et les exigences des clients. (2)
Planification et organisation du travail

Planification et organisation de leur travail

Les programmeurs doivent planifier leurs propres activités de programmation et respecter les échéanciers des projets. Ils mènent souvent plusieurs projets de front et doivent intégrer et coordonner leurs plans de travail à ceux de leurs collègues, comme les intégrateurs de sites Web, les rédacteurs et les concepteurs Web. Les programmeurs doivent souvent traiter des demandes opposées au travail et établir l'ordre de priorité des tâches. Ils doivent aussi avoir un horaire souple afin de répondre aux demandes imprévues des clients et de traiter les problèmes des applications. (3)

Planification et organisation du travail des autres

Les programmeurs peuvent coordonner et diriger les nombreuses activités des groupes d'essai et des autres techniciens d'infrastructure. (3)

Utilisation particulière de la mémoire
  • Se souvenir de l'emplacement où trouver les fichiers dans l'ordinateur.
  • Se souvenir de l'information et de la logique de programmation jusqu'à ce qu'ils puissent les noter.
  • Mémoriser des sections ou des séquences de codes de programmation fréquemment utilisés.
  • Se souvenir des noms et des mots de passe pour ouvrir une session permettant d'accéder au système informatique et au réseau.
  • Se souvenir des bogues de programmation précédents et utiliser cette information pour résoudre des problèmes.
Recherche de renseignements
  • Trouver les codes de programmation pertinents qui figurent habituellement dans Internet afin de vérifier comment les autres programmeurs ont résolu ou contourné les problèmes. Chercher, par exemple, sur Internet des moyens viables sur le plan technique pour intégrer des clips vidéo dans des sites Web ou pour trouver des solutions servant à régler les bogues informatiques. (3)
  • Chercher des exemples de codes lors de la programmation d'une fonction peu commune ou nouvelle dans un logiciel. Consulter, par exemple, des manuels techniques, des guides d'utilisation et d'application, des services d'aide en ligne ou des groupes de soutien et des collègues afin de déterminer les solutions de programmation. Dans la plupart des cas, il n'existe aucune solution immédiate. Analyser et regrouper l'information de différentes sources pour créer une solution unique afin de résoudre les problèmes. (4)
Technologie numérique
  • Utiliser des logiciels de communication. Échanger, par exemple, des courriels accompagnés de pièces jointes avec des collègues et des clients, créer des listes d'adresses, organiser des réunions et envoyer des invitations aux participants. (2)
  • Utiliser le traitement de texte. Créer, modifier et mettre en page des documents, comme des rapports, des propositions, des guides d'utilisation, des plans du flux des travaux, des horaires et des documents de spécifications. (3)
  • Utiliser des logiciels graphiques. Manipuler, par exemple, les photographies de produits du client en rajustant la taille, la couleur ou le contraste. Créer des animations et des représentations visuelles des produits des clients. Utiliser aussi les logiciels de présentation, comme PowerPoint, pour créer des diaporamas exposant le processus de développement de sites Web, y compris des éléments comme la méthodologie, l'architecture, l'accès aux données et la consultation. (3)
  • Utiliser des feuilles de calcul. Créer, par exemple, des listes de tâches et des calendriers pour les projets, faire le suivi des commentaires ou de la rétroaction, créer des tableaux et des graphiques, programmer des macros pour produire des statistiques et transformer la liste de données en différents types de listes. (3)
  • Utiliser Internet. Rechercher, par exemple, des codes de programmation, de l'information sur les logiciels ou des solutions à des problèmes. Consulter le site Web des fournisseurs, participer à des forums d'échanges et afficher des descriptions de problèmes sur des tableaux d'affichage. Visiter et évaluer différents sites Web pour regarder les caractéristiques et les fonctions spécifiques, et avoir la possibilité de se brancher directement aux systèmes des clients pour trouver et corriger les erreurs de programmation. (3)
  • Utiliser des bases de données. Concevoir, créer, gérer, mettre à jour et interroger les bases de données. Utiliser les outils de développement des bases de données pour développer des logiciels adaptés aux besoins des clients. (5)
  • Effectuer la programmation et la conception de systèmes et de logiciels. Créer, par exemple, des pages Web avec des fonctions interactives ou d'animation, élaborer une interface pour les bases de données, développer des systèmes de gestion de l'information assortis de fonctions d'interrogation, créer des fonctions de validation de l'information, programmer des fonctions de messagerie électronique, et relier les documents, les tableaux et les pages Web. Avoir des connaissances spécialisées sur différents langages informatiques et codes, et maîtriser plusieurs autres applications de développement de systèmes. Être en mesure de déterminer si un langage particulier devrait être utilisé dans une application, et offrir la capacité de programmer les caractéristiques et les fonctions pour répondre aux besoins des clients. (5)
Renseignements supplémentairesAutres compétences essentielles :

Travail d'équipe

Les programmeurs travaillent de façon autonome pour concevoir, écrire et mettre à l¿essai des applications logicielles ou rechercher la cause d¿une panne. Les programmeurs font souvent partie d¿équipes de projets à grande échelle. Dans ces cas-là, bien qu¿ils travaillent toujours de façon autonome pour exécuter les tâches qui leur sont assignées, ils doivent coordonner et intégrer leur travail avec celui d¿autres programmeurs, concepteurs rédacteurs, concepteurs Web, administrateurs de base de données et analystes de systèmes. (3)

Formation continue

Les programmeurs établissent leurs propres objectifs d'apprentissage et doivent déterminer eux-mêmes les ressources éducatives. Ils consultent régulièrement les collègues et les superviseurs, et apprennent de ces discussions. Ils apprennent aussi en lisant des revues professionnelles, des manuels sur les logiciels, des guides d'utilisation et différentes ressources en ligne. Ils participent à des activités de formation officielles, comme des cours sur des sujets techniques particuliers offerts par des fournisseurs à l'extérieur du bureau ou à un collège ou à une université. Ils participent à des conférences ou à des séminaires professionnels offerts par les associations professionnelles. Comme le domaine des technologies de l'information est un domaine qui évolue rapidement, les programmeurs doivent constamment mettre à jour leurs compétences. (4)

Date de modification :