Mes compétences en communication seront-elles gaspillées dans une carrière en génie logiciel? [fermé]

40

Je suis dans le domaine de l'ingénierie financière (après un baccalauréat en mathématiques et un baccalauréat en informatique) depuis environ 5 ans (20% d'analyse / programmation, 80% en communication) et je suis fier de ma capacité à communiquer avec les gens et à discuter de problèmes techniques (en interaction avec une équipe). J'aime cette partie de mon travail. Aller au tableau blanc pour dessiner des idées abstraites et faire un brainstorming.

Cependant, pour de nombreuses raisons, je souhaite faire de ma carrière une entreprise de technologie (génie logiciel), mais je crains fort de tomber dans un travail de programmation stéréotypé où les programmeurs codent avec de gros écouteurs. Je sais certes que ce n’est qu’un stéréotype, mais j’ai déjà été témoin d’environnements similaires (au démarrage) et cela me fait peur de penser que je migrerais vers une carrière d’isolement.

J'aime coder et penser de manière algorithmique, mais je ne veux pas abandonner les interactions avec les gens. Je comprends qu'avoir des compétences en communication n'est qu'un aspect positif, mais je me prépare à l'échec d'une carrière réussie en passant au génie logiciel. J'aimerais entendre des éclaircissements et / ou des conseils.

Ryan
la source
14
Vous réalisez que les réponses ici peuvent être un peu biaisées, non?
JB King
2
Absolument, mais les réponses obtenues jusqu’à présent ont été excellentes et très instructives.
Ryan
J'espère que vous réalisez que votre question est assez étrange pour des gens comme moi qui sont doués en programmation mais qui sont boudés par les RH (et ne décrochent pas ce beau travail ...) car ils manquent légèrement du service de la communication. Les compétences en communication sont définitivement un atout, notamment dans le cadre d'un projet d'équipe (réunions Scrum + Standup ...) et du travail à distance. Vous constaterez également que certaines reformulations ont lieu lorsque vous passez en revue les exigences. Certaines responsabilités impliquent moins de programmation et plus de coordination.
James P.
Absolutely No ..
Louis Rhys
2
Un ingénieur en logiciel qui ne peut exprimer ses idées à la fois dans une langue parlée et dans un langage informatique écrit ne vaut rien.
Ramhound

Réponses:

53

Voici le secret de la programmation: c'est presque 100% de communication . Une partie importante de cela est la communication avec un humain; le reste consiste à communiquer ce que vous venez d'apprendre à un ordinateur.

La dernière partie est la plus facile des deux. Les ordinateurs font exactement ce qu'on leur dit et vous êtes toujours en mesure de vérifier que ce que vous avez dit est correct.

Le premier est autre chose. Les différences de terminologie, de compréhension, de priorités, de personne à personne rendent très difficile la transmission du message correct à l'alimentation de l'ordinateur. Les erreurs de communication à ce niveau sont beaucoup plus courantes que celles entre un programmeur et un ordinateur.

Les bons programmeurs savent bien communiquer avec l'ordinateur. les grands programmeurs savent aussi bien communiquer avec les gens, par un moyen de communication ou un autre.

Ces programmeurs que vous voyez ne sortent jamais de leurs écouteurs? Ils communiquent toujours, que ce soit par courrier électronique, via un système de suivi des bogues ou même par messagerie instantanée. Tout se passe, sinon ils ne peuvent pas savoir quoi dire à l'ordinateur.

Alors oui, vos compétences en communication vous seront utiles.

pdr
la source
Bon point sur la communication dans son ensemble, mais peut mettre davantage l'accent sur les réunions personnelles vers des réunions plus personnelles et écrites.
JeffO
Si vous croyez vraiment que la mise en œuvre est la plus facile des deux parties suggérées, vous travaillez avec une mauvaise équipe ou la mise en œuvre que vous faites est trop facile. Comptez le nombre d'heures de travail consacrées à la mise en œuvre par rapport à la mise en œuvre: la mise en œuvre doit clairement représenter 2/3 du total; sinon, votre responsable a besoin d'une réunion spéciale avec son patron.
Jonathan Cline IEEE
6
@ Jonathan: Je ferais une distinction assez forte entre difficile et fastidieux.
pdr
3
au fil du temps, j'ai appris que la communication avec un ordinateur est aussi difficile que pour l'homme. C’est en grande partie le code que j’écris qui est lu plus tard par quelqu'un d’autre ( un autre peut être moi-même un mois plus tard, ce qui, étonnamment, n’est pas moins difficile) - ce qui, pour moi, nous ramène essentiellement à la communication avec les humains forme écrite et indirecte. Le code est une lettre pour le futur, le codeur est un écrivain. Joyce quelqu'un?
moucher
Tout le monde peut écrire du code qu'un ordinateur peut comprendre, un bon programmeur peut écrire du code que les gens comprennent.
Michael Brown
23

Les programmeurs aimeraient peut-être coder avec de gros écouteurs (enfin, ils ne le font pas tous), mais cela ne signifie pas qu'ils ne peuvent pas communiquer, cela signifie simplement qu'ils ne veulent pas être dérangés à ce moment - - pas qu'ils ne communiquera jamais.

Les compétences en communication verbale restent extrêmement importantes pour les réunions avec le reste de l’équipe, les réunions ad hoc, les utilisateurs professionnels, les autres équipes, etc.

Les compétences en communication écrite seront également très importantes lorsque vous envoyez un courrier électronique à vos collègues avec de gros écouteurs afin qu’ils puissent vous répondre ultérieurement.

FrustratedWithFormsDesigner
la source
1
Complètement d'accord avec cela. Je mets uniquement des écouteurs pour indiquer que je suis occupé.
Ivan
7

Il me semble que vous devriez chercher un emploi en tant que consultant technique. Cela implique souvent de la programmation, mais nécessite également beaucoup de communication - avec les clients, avec les collègues, les consultants d'autres sociétés ... OTOH signifie également résoudre de nombreux problèmes techniques sans écrire de code, si vous n'aimez pas cela, vous devriez chercher probablement des chemins différents. HTH.

SL Barth - Rétablir Monica
la source
2
Êtes-vous même un programmeur?
CenterOrbit
2
Oui. Je suis également consultant technique depuis un certain temps. Qu'est-ce qui vous rend si contrarié par ma réponse?
SL Barth - Réintégrer Monica
Consultant technique en tant qu'individu qui va à la rencontre d'un client?
James P.
@ James P. C'est ce que je voulais dire, oui - et c'est ce que j'ai fait lorsque j'étais consultant technique. Aller au bureau du client et l’aider à résoudre ses problèmes techniques. Bien entendu, les développeurs ont également besoin de solides compétences en communication, mais d’autres en ont déjà longuement parlé.
SL Barth - Réintégrer Monica
6

Les compétences en communication sont extrêmement importantes pour un développeur de logiciel. Quelque part, il y a une statistique (peut-être à côté de celle-ci indiquant que 68% de toutes les statistiques sont constituées) qui indique qu'une majorité de projets logiciels échouent à cause d'une mauvaise communication. Être une personne capable de communiquer avec l'entreprise (et de comprendre l'entreprise) d'une équipe de développement logiciel doit être un bon endroit pour être.

jlnorsworthy
la source
6

Je maintiens fermement que mon plus grand avantage concurrentiel par rapport aux autres programmeurs et types informatiques que je connais est ma capacité à communiquer avec des personnes qui ne maîtrisent pas bien les concepts informatiques. Il s'agit de la compétence la plus sous-estimée et sous-développée par le membre moyen de la communauté informatique, et pourtant, elle est l'une des plus importantes.

Dans presque tous les rôles imaginables, à un moment donné, vous aurez besoin de parler à quelqu'un qui ne sait presque rien de ce que vous faites et vous devrez pouvoir lui vendre ce que vous faites.

Vous devrez peut-être également traiter avec les utilisateurs pour définir les exigences d'une spécification - ce type d'écoute spécialisé (associé aux invites et aux questions appropriées) constitue également une communication!

Bien sûr, cela présente un autre avantage: de bonnes compétences en communication facilitent grandement l'obtention d'un emploi.

John N
la source
4

Toutes nos félicitations. Vous avez un avenir prometteur en tant qu'ingénieur d'application puis responsable de l'ingénierie d'application (FAE Manager).

Dans le cadre de cette profession exemplaire, vous créerez des présentations PowerPoint pour les clients du groupe 1 avec le texte "Pile de logiciels" écrit dessus ainsi que des conceptions logicielles abstraites et très complexes en blocs rectangulaires de différentes couleurs, souvent disposés au hasard. Ces présentations seront initiées par les principaux ingénieurs en logiciels aux plus hauts niveaux de la R & D. Elles seront ensuite assimilées à la mentalité des clients ayant le plus petit dénominateur commun et seront ensuite collées dans les documents d’exigences qui seront ensuite restitués aux principaux ingénieurs en logiciels. de la R & D en tant que spécifications décisives. L'un de vos bonus dépendra de l'utilisation libérale du mot "nuage".

Jonathan Cline IEEE
la source
Il est à noter que les ingénieurs d'application gagnent en moyenne 20 à 30% de plus que les concepteurs du même niveau. C’est uniquement parce que, en tant que meilleurs communicateurs, ils sont mieux en mesure d’exiger une rémunération plus élevée; tandis que l'ingénieur de conception typique, en tant que médiocre communicateur, n'en demande généralement pas plus. La norme a donc été définie et App Engrs se marre tout le temps jusqu'à la banque, tout en laissant son travail plus tôt que les concepteurs au quotidien. Et ai-je mentionné les déjeuners en dehors des heures de travail, plus coûteux et plus coûteux, alors que les développeurs ont la chance de manger une pizza à emporter dans une salle de conférence?
Jonathan Cline IEEE
3

Vous serez mieux loti avec d'excellentes compétences en communication. Les programmeurs tête-à-tête sont souvent ceux qui ne sont pas mis sur des projets excitants, car leurs gestionnaires pourraient ne pas les comprendre aussi bien. Essentiellement, si vous ne prenez jamais l'air, vous serez catalogué comme "le gars bizarre dans le coin".

Encore une fois, nous travaillons sur des stéréotypes, et tous les environnements ne sont pas comme cela, mais au moins, de bonnes compétences en communication vous aident à mieux comprendre le monde des affaires et les personnes qui vous entourent. Vous serez ainsi mieux équipé pour traiter des problèmes complexes dans votre entreprise. domaine particulier.

Combien vous communiquez est à vous. Il serait rare que vous vous retrouviez dans une équipe pleine de programmeurs tête-à-tête avec personne qui ne veuille parler, mais si vous n'êtes pas proche de l'humour nerd, préparez-vous à être présenté rapidement. En outre, soyez prêt pour les inévitables programmeurs socialement maladroits. Il y en a toujours au moins un.

Jordan
la source
3

On peut soutenir que la plupart des projets logiciels échouent non pas à cause de problèmes techniques, mais à cause de problèmes de communication. Écrire un bon code est certes important pour un ingénieur en logiciel, mais de bonnes compétences en communication sont un atout considérable pour une équipe - et sont aussi plus difficiles à améliorer que des compétences en codage.

Mathias
la source
2

Je programme actuellement avec de gros écouteurs. Eh bien, je ne faisais que programmer. Clairement, je suis maintenant sur StackExchange ... anywho:

C'est vrai que beaucoup de programmes sont faits de manière solidaire. Pour bien programmer, vous avez besoin de cette attention et de votre vie privée. Cependant, pensez-vous vraiment que la majeure partie de votre temps est consacrée à la programmation? Une bonne partie de votre temps sera partagée entre les réunions d'équipe, les discussions de stratégie, la marche, la réflexion, les discussions, etc. Je me souviens avoir lu une étude de mon cours de génie logiciel selon laquelle les meilleurs programmeurs / les plus productifs d'une équipe sont les programmeurs sortants et NON les introvertis.

Les bons programmeurs peuvent bien communiquer avec leur équipe. Obtenir et comprendre les exigences d'un responsable technique ou d'un responsable n'est souvent pas une tâche facile. Il faut de bonnes compétences en communication pour clarifier vos tâches, ainsi que pour communiquer avec l'équipe. Si vous travaillez comme responsable technique ou responsable, les compétences en communication seront essentielles pour la cohésion de l’équipe.

Moi aussi je suis quelqu'un qui aime être sociable. Je dois admettre que, au début, j'ai trouvé la solidarité dans mon travail de programmeur un peu déprimante. J'ai toutefois pris certaines mesures pour rendre le travail plus social, notamment: 1) en refusant de déjeuner seul 2) en prenant des pauses entre le sport et le basket-ball avec des amis

Un travail de programmation ne devrait pas être anti-social.

Casey Patton
la source
2

Les compétences en communication ne seront certainement pas perdues. Même si vous passez 80% de votre temps à écrire du code de programme, vous devez savoir clairement ce que fait le code. Une communication efficace avec votre client (ou votre chef de projet) est nécessaire pour que vos efforts ne soient pas vains, et aboutissent réellement à ce qui est requis. De plus, vous pourrez expliquer plus facilement votre travail, les problèmes potentiels de conception, les implémentations plus simples, etc. à ceux qui sont moins familiarisés avec la programmation. Enfin, lors de la programmation de logiciels interactifs, des compétences en communication seraient très utiles pour concevoir une interface utilisateur permettant de transmettre les informations correctes de manière conviviale et compréhensible. Cela vous aidera également à obtenir les informations correctes de l'utilisateur pour effectuer le travail.

yoozer8
la source
1

Je suis d'accord avec tout le monde ici qui soutient que la communication est la clé de la programmation informatique. Honnêtement, je pense que d'après ce qui est décrit, vous ferez un excellent programmeur principal ou davantage du type "ingénieur logiciel". J'ai commencé comme informaticien général dans une entreprise et dès que j'ai pu prouver mes compétences en programmation, je suis passé au poste de programmeur. Étant très sociable et orienté vers le travail d'équipe, je suis maintenant le programmeur principal de deux projets. Vous constaterez que plus vous monterez haut dans la chaîne de programmation, plus vous commencerez à résoudre des problèmes de tableau blanc et de résolution de problèmes.

Si votre personnalité possède le trait de «leadership» (auquel vous faites allusion), vous atteindrez rapidement le sommet. Si vous êtes dans une entreprise qui vous permet de vous élever de cette façon.

Les compétences sociales, la résolution de problèmes et une bonne programmation sont souvent plus rares que vous ne le pensez. Les employeurs tuent pour ce genre de compétence. Je pense que vous êtes sur la bonne voie. Continuez votre bon travail!

CenterOrbit
la source
1

Je suis d’accord avec tous ceux qui disent que le développement logiciel est une source de communication abondante, et j’ajouterai que même écrire un bon code nécessite de bonnes compétences en communication.

Écrire du code correct est important; écrire du code que d'autres personnes peuvent comprendre est sans doute beaucoup plus important. Si votre code contient quelques bugs, mais qu'il est écrit de manière à ce que je puisse facilement comprendre ce qui se passe, il ne me sera pas difficile de trouver et de corriger les bugs. Si votre code est complètement correct mais écrit de telle manière que je ne suis pas sûr de bien le comprendre, je ne peux pas vraiment en être certain, et les chances de le modifier correctement dans le futur sont beaucoup plus faibles. .

Caleb
la source
1

Bien sûr, une bonne communication est importante! Ce sur quoi je voudrais me concentrer est de devenir un excellent enseignant. Des programmeurs vraiment efficaces peuvent expliquer les fondements de quelque chose qui a pris des années à comprendre en un appel téléphonique de 15 minutes. Au cours de la même conversation, vous devez expliquer les détails de manière non technique afin que la personne à l'autre bout du fil puisse prendre une décision éclairée qui convienne mieux à son entreprise sur une longue période.

Dylan Valade
la source
1

Cela dépend où tu vas. Je connais une société de négoce quantitatif où vous passeriez beaucoup de temps sur le tableau blanc à réfléchir avec des docteurs. Je connais un cabinet de conseil prestigieux dans lequel vous communiquez beaucoup, mais avec des personnes qui n’ont pas de formation en technologie ... Je connais un grand cabinet Fortune 100 non spécialisé dans le logiciel où vous feriez aussi beaucoup. de communiquer, mais ce serait principalement jouer à la politique.

OTOH, de nombreuses startups et éditeurs de logiciels ont besoin de personnel pour le codage tête-à-tête. Bien sûr, vous en communiquez , mais se lever pour faire une présentation qui vend votre entreprise est très différent de simplement parler à d'autres codeurs ...

Le seul domaine dans lequel la communication entre vraiment en jeu est l’ingénierie de vente / conseil technique / etc ... C’est là que, si vous êtes vraiment un excellent communicateur (et pas seulement un ingénieur SW qui n’est pas socialement maladroit), vous obtiendrez: payé bon argent. Il y a des ventes impliquées là aussi.

saleté rouge
la source
0

Oh, eh bien, du point de vue des gens qui viennent de l'extérieur ... Je ne peux pas vraiment dire (comme le font tous les autres) que la programmation est tout simplement une question de communication.

Ce n'est pas vraiment une communication quotidienne quotidienne basée sur le respect réciproque , les intérêts et les enjeux ... il s'agit davantage de lire dans les pensées , de soins infirmiers , et certains arguments sont certainement impliqués. Il y a aussi beaucoup de négociations , mais pas celles auxquelles vous êtes probablement habitué.

Vous ne vendez pas vraiment sh-t aux programmeurs, vous devez les jouer , ou les séduire avec des preuves et des faits lourds. Bien que cela puisse sembler juste pour des problèmes critiques de mission , appliquez-le à de petites nuisances, personne, pas même celui qui l'a soulevée, n'aurait jamais dû se soucier de, et ... bienvenue dans l'enfer de la communication .

Si vous avez un octet dans le monde extérieur ( monde de la vente / conclusion d’affaires / monde des poignées de main), il est vraiment difficile de vous adapter au type d’ interaction (plutôt juvénile, quelque peu académique) vécue par les programmeurs.

La partie commerciale de votre programme d’études sera fortement gaspillée , à moins que vous ne trouviez le moyen de gravir les échelons plus rapidement que les chats en feu.

ZJR
la source
0

Les compétences en communication sont utiles, mais les compétences techniques l'emportent sur les développeurs.

Vous seriez probablement plus heureux en tant qu’ingénieur d’application, c’est-à-dire un ingénieur qui aide les clients à adapter et à utiliser le logiciel produit par des développeurs «tête en bas». De cette façon, vous travaillez avec des logiciels, mais passez la majeure partie de votre journée à parler.

Jim au Texas
la source
0

Puisque vous avez séparé la programmation de votre interprétation de la communication (discussion avec les gens) et que vous voulez parler aux gens 80% du temps, la programmation n'est pas un bon choix. Peut-être que si vous vous retrouvez dans une situation où vous pouvez être analyste à temps plein, architecte, gestionnaire ou liaison client (vous avez l'occasion de parler à des clients et à des programmeurs, vous êtes l'inverse (désolé un peu d'humour dans l'espace bureautique.).

Il y a des phases de projets où vous pourriez passer toute la journée au conseil, mais vous devrez éventuellement écrire du code. C'est une forme de communication, mais pas comme vous l'avez décrit. Peut-être que dans un magasin à programmation par paire, vous pourrez discuter beaucoup pendant que vous codez. La plupart du temps, vous devez vous concentrer sur le clavier. Porter des écouteurs signifie que vous êtes entouré par trop de personnes qui ne le sont pas.

JeffO
la source