web-dev-qa-db-fra.com

Quel chapeau un programmeur doit-il ne pas porter?

Dans mon expérience, les développeurs de logiciels ont tendance à porter plusieurs chapeaux et à remplir plusieurs rôles avec différentes responsabilités. À non seulement codé, mais parfois également écrit SQL, concevant l'interface utilisateur, concevant la base de données, la manipulation graphique, voire des tests d'assurance qualité.

Si le rôle principal est d'écrire un logiciel/code, quels rôles le développeur devraient-ils ne pas continuer? y a-t-il?

L'intention de cette question n'est pas parce qu'un développeur est incapable de remplir un autre rôle-- mais avoir le rôle supplémentaire réellement fonctionne contre le rôle principal , ou devrait vraiment être un rôle dédié de quelqu'un qui ne programme pas principalement.

29
spong

Sysadmin. Développer des logiciels et une manipulation de l'infrastructure informatique se trouvent deux compétences différentes qui ressemblent à un outsider. (Tout simplement frapper sur des ordinateurs, n'est-ce pas?) Pour une petite entreprise, la tentation sera très forte pour rendre l'ordinateur responsable de toutes les machines du bureau.

Si vous avez les compétences nécessaires pour porter les deux chapeaux, génial; Mais c'est l'une de ces choses qui peuvent être un dissipateur de temps beaucoup plus grand que les gens se rendent compte, et si vous êtes auto-enseignant comme vous allez, il y a de fortes chances que vous ne le faites pas très bien.

54
BlairHippo

Vous portez n'importe quel chapeau que votre employeur demande. C'est ce qui fait de vous un joueur d'équipe. C'est ce qui fait de vous un résolveur de problèmes.

Les gens deviennent trop rattrapés dans l'idée d'être un "développeur" ou un "architecte" ou un "analyste". Vis ça. Vous devriez être un résolveur de problèmes. Le code n'est qu'un outil dans votre ceinture.

La résolution de problèmes ne se démode jamais.

Si mon employeur veut que je fasse un support technique ou construire des ordinateurs, alors soyez-le. Il pense qu'ils gaspillent leur argent, en tenant compte d'un salaire de développeur, mais c'est leur entreprise. Je suis ici pour résoudre des problèmes. Cependant, je peux le faire, je le ferai. Et si je me sens, après une certaine quantité de temps, mes talents sont gaspillés ou que ma satisfaction de travail n'est pas l'endroit où je veux que ce soit, alors je n'ai que très bien le droit de passer à un autre emploi.

Mais à la question fondamentale - il n'y a pas de chapeau que vous ne portez pas. Heck, s'ils veulent que vous fisiez du café, faites-le. Résoudre leurs problèmes; Sachez simplement que vous avez le droit de trouver un autre emploi si vous souhaitez un changement.

35
Chris Holmes

Vous devriez faire attention à devenir le gars à gars pour les problèmes matériels de burea. Cela peut inclure le dépannage PC, l'administrateur du serveur, les sauvegardes et même le système téléphonique. J'ai commis une erreur de mentionner mon expérience matérielle antérieure et, éventuellement, mes tâches matérielles/dépannage ont été séparées séparément avec mes tâches de programmation.

26
Jon Onstott

Un programmeur ne doit pas être le seul testeur de son propre code.

Les développeurs écrivent un code avec un ensemble d'hypothèses. Si les testeurs ont un ensemble identique d'hypothèses, ils n'exerceront pas la fonctionnalité inattendue en dehors de ces limites et de nombreux problèmes resteront non détectés.

De plus, afin d'aller de l'avant, Devs ne sont pas très motivés pour tenter de briser les choses, tandis que les testeurs sont (peut-être à un niveau subconscient).

Cela n'implique pas que Dev test est inutile. Tout à fait le contraire - Good Dev test permet aux testeurs de se concentrer sur la recherche de problèmes plus profonds. Cependant, le test DEV est pas un substitut pour un testeur dédié.

16
dbkk

En général, mon expérience a été mon expérience que la plupart des programmeurs ne devraient pas développer l'apparence et la convivialité de l'interface utilisateur - bien que je suis certainement capable de développer une interface utilisateur (et de créer souvent un lors de la construction d'un prototype ou d'une preuve de concept), c'est Mieux vaut à gauche à une personne des facteurs humains (qui dans notre petite entreprise est un artiste graphique qui fait également la mise en page d'écran et crée la plupart des manuels et des brochures).

En outre, les développeurs ne devraient pas faire des tests d'assurance qualité - c'est-à-dire le travail du département QA (la société que je travaille à des dispositifs médicaux intégrés, il s'agit donc d'une exigence que les tests soient effectués par un département séparé).

D'autre part, je ne vois aucune raison pour que les développeurs ne puissent concevoir des bases de données et écrire SQL, s'ils ont le fond de le faire - j'ai fait autant de fois.

10
tcrosley

Deux je peux penser à partir de la batte.

  1. Support technique. Je ne suis pas ici pour aider les clients à travailler sur le nouveau site ou à leur apprendre à utiliser des fonctionnalités.
  2. Bien qu'il soit nécessaire d'interfacer avec les clients à différents moments du processus, à moins que vous ne gérez pas de programmeur, vous ne devez pas vraiment communiquer directement avec eux sur les fonctionnalités et les implémentations de conception.

Vous pourriez dire que le développement du CSS/UI serait en dehors de la programmation "Royaume" mais de mon expérience, c'est une compétence nécessaire aujourd'hui. Vous ne pouvez pas simplement vous éloigner des tables et dépendez de quelqu'un d'autre pour la mettre en œuvre correctement. Je ne voudrais peut-être pas mettre en œuvre la conception ou modifier le code pour gérer une nouvelle conception, mais cela fait partie du travail.

Les requêtes d'écriture sont correctes, Q/A test est fine (et IMO devrait être le travail du programmeur, le fait d'avoir un service externe le faire, mais vous devez d'abord le tester). L'administration de serveur est un peu une zone grise. Selon la taille du projet ou si vous avez un serveur dédié admin, il peut être nécessaire ou non.

10
Josh K

support technique

Tant de ma journée est gaspillée en prenant des appels de soutien technique ...

Certains populaires sont:

  • "Mon compte est verrouillé" ou "j'ai oublié mon mot de passe"
  • "Mon [téléphone | clavier | souris | ordinateur] ne fonctionne pas"
  • "Mon ordinateur est lent, pouvez-vous vérifier pour quelque chose d'inhabituel?"
  • "Pourquoi X arrive-t-il quand je clique sur ce bouton? Cela devrait faire y"
  • "Je continue à obtenir ces popups ..." ou "Je pense avoir un virus"
  • "Cette personne n'est plus ici, pouvez-vous désactiver toutes leurs affaires?"
  • "Nous avons un nouvel employé, pouvez-vous les configurer avec la connexion, la carte de sécurité, le téléphone ext, le courrier électronique, etc."
8
Rachel

tout rôle qui le fait se gérer. En petites équipes, il y a souvent une tendance à faire l'un des développeurs seniors du chef de projet, mais également de le garder dans l'équipe en tant que programmeur. Cela conduit à toutes sortes de problèmes, car ce gars, en tant que programmeur, est fondamentalement non géré. Au lieu de déléguer toutes les tâches aux autres membres de l'équipe, il sera souvent tenté d'attribuer beaucoup d'entre eux à lui-même, en particulier aux tâches les plus difficiles. Donc, les tâches les plus difficiles, celles qui sont les plus susceptibles de causer des problèmes sont assignées à une personne qui n'est disponible que de 50% à titre de programmeur et de tels rapports à personne. Lorsque d'autres membres de l'équipe sont incapables de livrer, au lieu de donner un coup de pied à leur cul, il essaiera de faire leurs tâches, de faire, car en tant que chef de projet, il est responsable du succès et du moyen le plus sûr de le faire est de le faire lui-même. , n'est-ce pas?

6
user281377

Soutien technique pour quelque chose que vous n'aviez pas de main dans le développement, le déploiement ou la maintenance, et je n'ai eu aucune formation et ne sont pas tenus au courant des changements majeurs. Une partie de mon travail est devenue répondre au téléphone des clients appelant pourquoi Internet ne fonctionne pas. Je ne traite pas de cette moitié de l'entreprise, je ne peux donc rien dire d'utilisation.

Il ne faut pas avoir à faire un soutien technique, qu'il n'y a pas de problème avec. C'est être un secrétaire/support technique tout en essayant de développer des choses.

Cela devient tout à fait taxé de devoir écouter les personnes se plaindre toute la journée et ne pas pouvoir leur dire quoi que ce soit. Je conseillerais d'éviter cela à tout prix.

5
Tarka

Ventes.

Certains pauvres buggers doivent le faire, mais cela ne devrait pas être les développeurs.

5
Dan Ray

Comme je suis devenu plus âgé, j'ai réalisé que c'est mieux que si les développeurs ne font pas leurs propres déploiements (je me suis battu cette dent et un ongle). Ils ne devraient avoir aucun droit à la base de données de production, à l'exception des droits de sélection. Notre code a beaucoup moins de buggy (et la même chose n'a pas augmenté plusieurs fois, car la modification n'a été faite que dans Prod et un déploiement ultérieur de dev se réchauffer, puis fixé uniquement sur le produit à la hâte, rincer et répéter) lorsque nous Devait commencer à le donner à d'autres personnes à déployer et à ne pas être autorisés à faire des changements de production rapides, car le déploiement n'était pas parfait. En outre, nous avons arrêté de disposer de ces "mises à jour accidentelles sans la clause de la clause d'exécution qui a modifié chaque enregistrement dans le tableau".

4
HLGEM

artiste et concepteur d'interface utilisateur.

La plupart des programmeurs sont très pauvres auprès des œuvres d'art, mais les entreprises ne se préoccupent pas de payer pour un artiste pour dessiner des images et des icônes pour leurs produits et utilisent simplement "l'art programmeur" - avec des résultats hideux. (Jusqu'à Windows Vista, il s'agissait du facteur de différenciation le plus évident entre les Mac et les PC - Mac semblant beaux et amicaux, les PC étaient une horlogerie)

De la même manière, beaucoup de programmeurs ne sont pas très intéressés par l'interface utilisateur - ils se soucient principalement de leur code. Ils exposent simplement le contenu de leurs variables de membre directement dans certains champs modifiables, souvent ne prenant pas de soin où ils placent des boutons et des champs sur leurs formulaires et supposent que cela suffit, ce qui entraîne un logiciel inutilisable. (L'ensemble de l'industrie du téléphone mobile était très coupable de cela jusqu'à ce que l'iPhone soit arrivé pour leur montrer que vous pouviez réellement faire un interface utilisateur qui était agréable à utiliser)

Lotus Notes est un exemple brillant de la façon dont les deux choses peuvent être mauvaises si vous n'obtenez pas de concepteur professionnel pour aider les programmeurs à sortir.

3
Jason Williams

Écrire des tests globaux et des plans de test. Sérieusement, les gars, je peux écrire mes propres plans de test, mais cela signifie que vous voulez cuire dans le produit quelles que soient les mauvaises conditions, des hypothèses fausses et des erreurs cognitives que j'ai faites en écrivant les choses. C'était la seule chose que j'ai détestée à propos d'une entreprise que j'ai travaillé à; Où je suis maintenant, nous avons au moins des critiques de code qui vont probablement attraper ce genre de choses.

3
David Thornley

Ne portez jamais plus de "chapeaux" que ce que vous pouvez raisonnablement gérer et êtes à l'aise avec, essayant des développeurs de trou de pigeon en disant qu'ils ne devraient pas faire [~ # ~ # ~] ou - [~ # ~] b [~ # ~ ~] signifie qu'un excellent concepteur d'interface utilisateur pourrait passer inaperçu car quelqu'un pense que les programmeurs devraient rester à l'écart de l'interface utilisateur.

À la fin de la journée, tout le monde va avoir des forces et des faiblesses différentes et un bon gestionnaire/superviseur/chef d'équipe devrait connaître le meilleur moyen de diriger les personnes qui travaillent pour eux pour s'assurer que les talents sont utilisés de manière appropriée. De même, si vous n'êtes pas à l'aise avec la conception d'un UIS ou de traiter avec les utilisateurs finaux, vous permettez à votre équipe afin que vous puissiez minimiser votre rôle dans cette zone. Cependant, vous devriez être prêt à prendre des travaux supplémentaires dans une autre région.

De plus, si vous portez trop de chapeaux (par exemple programmeur, d'interface utilisateur, testeur, analyste d'entreprise, etc.), vous allez faire mal à certains d'entre eux ou vous allez vous brûler. Assurez-vous de savoir combien de chapeaux vous pouvez gérer et essayer de garder la charge de travail autour de ce niveau.

Au-delà de cela, il n'y a vraiment pas de "chapeaux" qu'un développeur ne devrait pas porter s'ils ont les compétences nécessaires pour exceller dans ce rôle.

3
rjzii

J'ai tendance à prendre n'importe quel travail qui est jeté sur moi si et seulement si:

  • Je prépends à l'avance de mon niveau de compétence et de mes implications possibles et mon patron décide qu'il est acceptable
  • Il y a une personne de niveau de gourou qui peut (et le fera probablement à un moment donné) m'aider à faire face à quelque chose d'inattendu
  • Lisez à travers une documentation, posé des questions en ligne, etc.

De cette façon, je suis surtout assuré contre mon patron et si quelqu'un se trompe, c'est au moins fixable.

1
Audrius

Le "designer" ou le "gars créatif". Vous allez de mettre de manière innocente une maquette de l'interface d'une application pour écrire un texte de marketing pour la prochaine campagne publicitaire en ligne ou des discussions sans fin sur l'ombre "droite" de bleu avant de le savoir x_x.

1
wildpeaks

Les développeurs sont des intervenants dans la situation (comme les clients, les propriétaires, etc.), ils ont donc le droit de s'attendre à un travail significatif. À mon avis, cela signifie que la possibilité de travailler avec vos forces .

Ainsi, un développeur ne devrait pas porter de chapeau qui ne fait pas dynamiser, contribuer à la croissance personnelle et entraîner des performances de pointe - et voler du temps de "chapeaux" qui font ces choses pour eux.

Autre que ce n'est pas le seul à tester son propre code, je pense que tout "chapeau" est correct si son travail est significatif pour le développeur portant le chapeau.

1
Ingvald

ce chapeau avec les canettes de bière sur le côté avec une paille. mauvaise idée si vous êtes attrapé.

éditer:

Voici le chapeau que je déteste mais cela a une grande récompense - c'est une grosse signe sur moi qui dit que si cette chose brise, c'est tout votre faute ... Ah, mais si c'est bien, mon fils est le bon garçon que nous connaissons tous Sont - maintenant retour au sous-sol ... bon garçon ... c'est tout.

Le chapeau de blâme.

0
johnny