Quelle est votre définition du « vrai développeur » et comment le dénichez-vous ? Un blogueur expose son point de vue

Le 23/11/2010, par Idelways, Coordinateur publications
Mise à jour du 23/11/2010

Nous avons passé en revue hier (lire ci-avant) un billet du blogueur Steven Benner. Son article a suscité sur Développez.com de nombreuses réactions et un débat intéressant.

Mais il a une suite.

Après s'être attaqué (d'une manière assez caricaturale) aux catégories des développeurs, l'auteur expose, dans un billet plus recherché, sa propre définition du « vrai développeur », comprendre les qualités qui doit réunir un bon développeur.

Selon lui, les vrais développeurs sont ceux qui peuvent apprendre vite, apprendre par la pratique, et ne jamais arrêter d'apprendre.

La définition de Benner ne serait donc pas incompatible avec les développeurs qui utilisent du code trouvé sur Google (ou Bing). Bien au contraire.

Ces développeurs, en arrivant à trouver et à adapter rapidement des solutions à leur travail font justement preuve de capacités d'apprentissage et d'adaptation.

Pour trouver les vrais développeurs, Benner donne quelques pistes. Parmi lesquelles, il recommande de mettre les candidats à l'épreuve mais sur des compétences de haut-niveau, non pas sur des patrons de conceptions ou d'obscures problèmes algorithmiques.

Des problèmes théoriques, utilisés par certains recruteurs pour départager les candidats, feraient passer à côté de certains "vrai développeurs". Car ces derniers peuvent de ne pas arriver à se rappeler de solutions à des problèmes qu'ils ne rencontrent que rarement, voire jamais.

En revanche, il déconseille de recruter les développeurs qui s'intéressent plus à l'informatique théorique qu'à l'expérience effective. Benner les considère même comme "une épine perpétuelle dans le pied de l'industrie du développement".

Source : le blog de Steven Benner

Et vous ?

Êtes-vous d'accord avec la définition de Benner ?
Quelle est votre propre définition du vrai développeur et comment faites-vous pour les dénicher ?

Sur le même sujet
Les rubriques (actu, forums, tutos) de Développez
Retrouvez le dossier complet de la rédaction


Poster une réponse Retrouver la discussion sur le forum

Avatar de pseudocode pseudocode
Rédacteur/Modérateur
le 23/11/2010
Il revient à ma mémoire une définition d'un de mes professeurs. C'était dans un autre contexte, mais c'est applicable à l'opinion de Steven Benner.

Face à un problème :

- Les mauvais développeurs croient connaitre la bonne méthode

- Les bons développeurs connaissent déjà la bonne méthode

- Les grands développeurs ne connaissent pas la bonne méthode, mais savent comment la trouver
Avatar de air-dex air-dex
Membre Expert
le 23/11/2010
Citation:
Envoyé par Idelways Voir le message
Selon lui, les vrais développeurs sont ceux qui peuvent apprendre vite, apprendre par la pratique et ne jamais arrêter d'apprendre.

[...]

Êtes-vous d'accord avec la définition de Benner ?
Totalement d'accord ! Le développement, c'est la loi de l'évolution : si tu restes sur tes acquis, tu meurs (ou tu va faire de la bureaucratie/du management, autre forme d'évolution). Les développeurs d'il y a plus de 20-25 ans ont dû laisser le Fortran, le COBOL et autre Lisp de côté pour rester dans la course. De même, les développeurs actuels devront dire un jour adieu à Java, C# et Python (voire C++ ?) pour peut-être le langage D et Google Go.

Étrangement, il n'y a que le C qui arrive à traverser les époques. Jusqu'à ce qu'il soit décrété comme étant "trop vieux pour l'Informatique" ?
Avatar de cs_ntd cs_ntd
Membre Expert
le 23/11/2010


Mort de rire quand j'ai vu les 5 classifications.

Indéniablement dans la catégorie 1 et 5, c'est affolant...

C'est plus fort que moi... Par exemple, si jamais je sens, dans un bout de code, que ya une ligne de trop, la moindre instruction inutile, je peux passer des heures (des jours ) dessus, pour trouver THE solution, parfaite, belle brillante, absolument magnifique...
Il faut comprendre, même si ça implique un truc du genre v^=~(0xAF << (i >> 3));


Perfectionnsite jusqu'au bout des ongles... Capable de passer des heures à ré-indenter un code qui desfois met des TAB de 4 espaces et des TAB de 3 espaces ^^
Et bien sur fondamentalement incapable de rendre n'importe quoi à l'heure, ni de rendre quelque chose si ce n'est pas parfait, à moins de me faire violence, ou de n'avoir d'autre choix

Tout le contraire de moi dans la vie "normale", je met le bazar partout ou je passe

Quand à la catégorie 5, c'est exactement ça... Je passe plus de temps à réfléchir comment faire plutôt que de le faire vraiment...
Si on me laisse faire, je re-cré à chaque projet un nouveau "framework" de travail, ultra-générique avec des hacks dans tous les sens (au sens : code non-documenté qui, si on le supprime, empêche le fonctionnement), portable toussa toussa.
Bref un truc qui permettra de coder à l'avenir de manière plus performante, et plus rapide , chose qui prend bien sûr 300 fois le temps de développement du projet... .

Je crois que je suis relativement "lourd" pour les gens qui travaillent avec moi

Et je suis aussi d'accord avec la manière dont il sépare les "bons" développeur des "mauvais", mais je pense que celà peut s'appliquer de manière plus générique :
- Il y a ceux qui ont envie d'apprendre, qui sont curieux, qui cherchent à savoir le pourquoi du comment, cherchent à résoudre eux-même les choses.
- Et il y a ceux qui se contentent de vivre sur leurs aquis, ne se posent pas de questions, et qui estiment qu'ils "savent" des choses et que c'est bien suffisant comme ça.

Je pense que ça se retrouve dans la vraie vie. En gros ya les Hackers et les Autres...
Mais c'est plus un état d'esprit concernant un domaine, plutôt qu'une aptitude naturelle.

Je pense qu'un "jeune" développeur, curieux, touche à tout, qui expérimente (càd : essaye d'inventer des solutions à ses problèmes de manière intelligente) etc... sera toujours meilleur en un sens que quelqu'un qui à apris la norme et qui se contente de l'appliquer, ou que quelqu'un qui se contente de dire :

Citation:
Regarde, si je divise par 2 c'est trop petit, alors je vais diviser par 1.5 parcequ'on sera plus proche du résultat attendu...
(je déteste les gens comme ça )
Avatar de Guilp Guilp
Membre chevronné
le 23/11/2010
Moi je suis souvent de ceux qui doivent reprendre le code de quelqu'un d'autre...

Donc forcément, je suis extrêmement anti hacks ou cheats, de code "bordel"!! J'insulte haineusement ces programmeurs environ 20 fois dans la journée pour me faire perdre (à moi, à mes collègues et à tout le monde) des centaines d'heures... Eux qui ont crû économiser quelques petites heures à engendrer un code bordélique et ultra crade plutôt qu'un code un minimum propre...

Je ne suis pas un perfectionniste pour autant, je fais en sorte de rendre mon travail à l'heure, je fais des compromis... Mais avec un code un tant soit peu propre et réutilisable avec si possible aucun hack ! (et si il y en a un, je le documente à mort).

Bref, je ne sais pas ce qu'est un "vrai" développeur, mais selon mon humble avis, un mauvais développeur est un développeur qui code sans réfléchir.

(Et on peut coder "directement" dans un projet sans pour autant que ça soit irréfléchi. Simple exemple : en s'inspirant d'une méthode agile. Mais des classes bordéliques et fourre-tout remplies de hack en tout genre... Le cauchemars!!)

ps: lors d'une mise à jour d'un article (comme c'est le cas ici), y a-t-il moyen de mettre un lien qui va directement au post de mise à jour sur son fil de discussion forum? S'il y en a un, je n'arrive jamais à le trouver (alors qu'avant, il était souvent dans le texte même de la mise à jour de l'article). merci ^^
Avatar de epsilon68 epsilon68
Membre émérite
le 23/11/2010
Citation:
Envoyé par cs_ntd Voir le message
Je crois que je suis relativement "lourd" pour les gens qui travaillent avec moi
on se connait?
Avatar de sevyc64 sevyc64
Modérateur
le 23/11/2010
Je me reconnais très bien dans ce que dit ce Steven Benner autant dans le premier que dans le second post.

Si j'en crois son classement, certes exagéré mais pas si loin de la réalité que ça, je suis à la fois dans la première et dans la cinquième catégorie, suivant les circonstances, avec une préférence pour la cinquième et une haine viscérale de la quatrième catégorie que l'expérience mais surtout l'age n'arrange pas.

Citation:
Envoyé par pseudocode Voir le message
Il revient à ma mémoire une définition d'un de mes professeurs. C'était dans un autre contexte, mais c'est applicable à l'opinion de Steven Benner.

Face à un problème :

- Les mauvais développeurs croient connaitre la bonne méthode

- Les bons développeurs connaissent déjà la bonne méthode

- Les grands développeurs ne connaissent pas la bonne méthode, mais savent comment la trouver
Je suis donc un grand développeur, alors

JE hais les tests qu'il faut parfois passer en entretien, pondre un bon de code, comme ça sur le pouce sans pouvoir préparer, ni réfléchir, comme si on avait tout en mémoire, comme si développer c'était comme réciter les tables de multiplications à l'école primaire.
Et généralement j'échoue.
Avatar de el_slapper el_slapper
Expert Confirmé
le 24/11/2010
autant son premimer post me parait caricatural au possible, autant j'apprécie le fond du deuxième : l'important, c'est de savoir s'adapter. Se couler dans les pratiques locales, ou du moment.

Pour les tests : j'ai été amené à en faire, et à réfléchir au sujet, face à une hiérarchie traumatisée(à juste titre) par quelques recrutements hautement malheureux. J'aurais aimé pouvoir testé l'adaptabilité des gens, mais j'avais pour contrainte "un QCM, pas plus de 15 minutes, on est pas là pour faire chier les gens pendant 2 heures". Je me suis donc limité à un petit test sur les bases techniques utilisées en local, juste pour vérifier que les gens qui annoncent "15 ans d'expertise dont 12 en COBOL" sont capables de comprendre un code basique dans ledit langage.

Eh bien ça a suffit à éliminer la moitié des candidats..... Pour l'autre moitié, ceux qui n'avaient pas bidonné leur CV(parceque mon test, il ne vole vraiment pas haut), ils ont gardé la méthode "standard" : le courant doit passer(en bref, à la tête du client). C'est évidemment suboptimal, mais il est difficille d'évaluer réellement quelqu'un en quelques minutes.

D'ou ma conclusion : un test pour éliminer les boulets, c'est pertinent. Un test pour trouver la perle rare, c'est de la clownerie.
Avatar de ymajoros ymajoros
Membre du Club
le 24/11/2010
Je ne sais pas ce qu'est un vrai développeur, mais je sais ce qu'est un vrai bloggueur de seconde zone ;-) C'est du n'importe quoi : que des avis (stéréotypés), pas de faits.

Sur le fond : prétendre que les théoriciens sont à éviter... C'est un peu simpliste.
Avatar de dtravailloux dtravailloux
Candidat au titre de Membre du Club
le 24/11/2010
Un vrai développeur, puisque c'est de ça qu'il s'agit est celui qui sait souffrir..en silence..

[mode 10ème degré]
pris entre les demandes délirantes des commerciaux, les délais du chef de projet intenables, un salaire de misère, une reconnaissance proche de zéro....il doit faire preuve d'abnégation ou tout envoyer bouler et faire autre chose...

Après tout, il m'a fallut 4 ans pour me rendre compte de la situation et cela fait déja 6 ans déja que je suis parti vers d'autres horizons. Maintenant que je suis de l'autre côté, j'ai pas l'impression que cela ait changé beaucoup...
[/mode 10ème degré]

bon courage les gars !
Avatar de Astraya Astraya
Membre expérimenté
le 24/11/2010
Citation:
Quelle est votre définition du « vrai développeur » et comment le trouvez-vous ?
Un vrai développeur ça serai avant tout un développeur qui ne ce dit pas tout savoir, fait des erreurs, les comprends, les corriges et en refait d'autres etc... Un personne qui avance par l'échec, pas en lisant des articles...
Avatar de ymoreau ymoreau
Modérateur
le 24/11/2010
Citation:
Envoyé par pcaboche Voir le message
En même temps, un perfectionniste reste perfectionniste, quel que soit le budget ou le temps alloué.
Les perfectionnistes sont d'éternels frustrés, qui finissent par en avoir rapidement marre des pratiques de leurs collègues.
Mince je m'y retrouve totalement, et je ne suis pas sûr que ça soit une bonne chose ^^

Concernant l'article, comme dans beaucoup de caricatures, ça part d'un fond de vérité. Il y a évidemment des gens plus nuancés, mais les tendances énoncées ne sont pas fondamentalement fausses non plus je trouve.
Avatar de danbo52 danbo52
Membre du Club
le 24/11/2010
J'aime le développeur qui ne sait pas forcément tout, mais qui a l'idée d'aller puiser les bribes de solutions pour en faire un beau joujou, restant toujours homme du terrain.

Je reste d'accord sur la priorité de la mise en pratique, même si c'est moche, mais tant que ça marche à merveille, on y va!

Un bon développeur pense son travail et aux utilisateurs, voilà ce que j'y vois après des années à constater des défaites en terme de produits ERP en particulier.
Avatar de Virgil Scipion Virgil Scipion
Membre actif
le 24/11/2010
Je vois pas la différence entre la 1ère et la 4ème catégorie...

Moi je me baserai sur un autre critère : le souci du mec qui passe derrière. Certains font des trucs ultra porc parce qu'ils ne se posent pas de questions, et d'autres perdent du temps à faire des choses claires en pensant aux types qui reprendra leur code (et parfois c'est eux mêmes ce type )

En tout cas, les architectures ultra carrées, super propres, respectant à la lettre la conception de haut niveau, ça fait joli mais c'est atroce pour ceux qui doivent s'y soumettre. Surtout quand on a connu uniquement du code fait à l'arrache et dans l'urgence, modèle tellement horrible qu'on dirait le fils caché d'Elephant Man et de Quasimodo
Avatar de Flaburgan Flaburgan
Modérateur
le 24/11/2010
Citation:
Envoyé par Virgil Scipion Voir le message
Je vois pas la différence entre la 1ère et la 4ème catégorie...
Le travail du premier marche de manière efficace, je dirais.
Avatar de notia notia
Membre éclairé
le 24/11/2010
Citation:
Envoyé par Idelways Voir le message
Quelle est votre propre définition du vrai développeur et comment faites-vous pour les dénicher ?
Question bien difficile.
Il existe des personnes ayant plus d'expérience dans le développement que d'autres. Il existe des personnes qui décident de consacrer plus de temps à un apprentissage perpétuelle que d'autres.
Faut-il pour autant éjecter ceux qui font de l'informatique que durant leurs horaires de travail, ceux qui ont peu d'expérience, ceux qui se disent qu'il y a peut-être une autre vie en dehors de l'informatique ?

Dans une équipe de développeur, même le mec de niveau moyen peut apporter quelque chose de positif à l'équipe. Il peut être le comique de service qui apporte une ambiance conviviale ou encore le bosseur fou qui une fois la tache complexe expliquée se mettra au travail.

De plus, avec un peu de recule, chacune des classes définies par Benner, peut trouver sa place au sein d'un projet.
Option 1
5 et 3 -> Conception : ils pourraient pondre les grandes lignes de l'application
1 et 2 -> developpement : avec la confrontation des différents points de vue il y a une chance de voir apparaitre 1) un code maintenable et 2) des délais respectables
4 -> correction de bug.

Option 2
1 -> chef de projet
2 -> Conception
3 et 4 -> développement
5 -> Fonctionnelle ou testeur

Etc...
Avatar de pcaboche pcaboche
Rédacteur
le 24/11/2010
Citation:
Envoyé par notia Voir le message
Dans une équipe de développeur, même le mec de niveau moyen peut apporter quelque chose de positif à l'équipe. Il peut être le comique de service qui apporte une ambiance conviviale ou encore le bosseur fou qui une fois la tache complexe expliquée se mettra au travail.
Le pire, c'est qu'on peut les 2 à la fois : le comique de service et pourtant un mec compétent. Parce que quand on arrive à un certain niveau de compréhension et qu'on voit tout ce qu'il se passe dans la profession informatique (développement, conduite de projets, RH, commercial, etc) on se dit que tout cela n'est qu'une vaste blague. Et on finit par tout prendre à la légère comme si rien n'avait vraiment d'importance.

En face, par contre, vous avez des gens qui se prennent vraiment au sérieux sans avoir conscience de leur propre médiocrité, d'où un certain regard condescendant et réprobateur : "mais c'est qui ce type ?". - "Ce *type*, c'est celui qui a optimisé nos systèmes et les a rendus utilisables, entre autres..."

Par contre pour le côté "bosseur fou", je ne suis pas trop d'accord. On m'a toujours appris que la plus grande qualité d'un développeur, c'est d'être paresseux. Sinon pourquoi on passerait autant de temps à expliquer à des machines comment travailler à notre place, hein ?
Avatar de pseudocode pseudocode
Rédacteur/Modérateur
le 24/11/2010
Citation:
Envoyé par pcaboche Voir le message
Parce que quand on arrive à un certain niveau de compréhension et qu'on voit tout ce qu'il se passe dans la profession informatique (développement, conduite de projets, RH, commercial, etc) on se dit que tout cela n'est qu'une vaste blague. Et on finit par tout prendre à la légère comme si rien n'avait vraiment d'importance.
Autant de lucidité à 30 ans, imagine avec 8 de plus.
Avatar de pcaboche pcaboche
Rédacteur
le 24/11/2010
Citation:
Envoyé par pseudocode Voir le message
Autant de lucidité à 30 ans, imagine avec 8 de plus.
Dans 8 ans, je pense que j'en aurai eu marre de l'info et que j'aurai ouvert un bar à putes en Thaïlande...

Du coup, quand on me pose la question "où vous voyez-vous dans 10 ans ?", je me sens obligé de mentir, de peur de ne pas être pris au sérieux...

Avatar de pseudocode pseudocode
Rédacteur/Modérateur
le 24/11/2010
Citation:
Envoyé par pcaboche Voir le message
Dans 8 ans, je pense que j'en aurai eu marre de l'info et que j'aurai ouvert un bar à putes en Thaïlande...
Je savais bien que j'avais loupé un tournant décisif dans ma carrière.
Avatar de _skip _skip
Expert Confirmé Sénior
le 26/11/2010
Citation:
Envoyé par pcaboche Voir le message
Parce que quand on arrive à un certain niveau de compréhension et qu'on voit tout ce qu'il se passe dans la profession informatique (développement, conduite de projets, RH, commercial, etc) on se dit que tout cela n'est qu'une vaste blague. Et on finit par tout prendre à la légère comme si rien n'avait vraiment d'importance.
Ou alors, comme moi, on déserte tout ce qui est administrations, services publics et grosses structures pour travailler dans des petites start-up et des plus petites équipes.
On gagne moins d'argent mais ça évite d'avoir à passer sa langue sur des surfaces velues ainsi que de développer des pulsions psychopathes à terme, surtout si on supporte pas le gaspillage et les process interminables et inefficaces.
Avatar de teppyogi teppyogi
Invité régulier
le 29/11/2010
Il ne manque pas l'artiste qui, à force de revoir ses specs, de rendre son code plus propre, etc. finit par ne rien livrer ? Je me serais bien classé dans cette catégorie
Avatar de professeur shadoko professeur shadoko
Membre émérite
le 29/11/2010
Citation:
Envoyé par air-dex Voir le message
Totalement d'accord ! Le développement, c'est la loi de l'évolution : si tu restes sur tes acquis, tu meurs (ou tu va faire de la bureaucratie/du management, autre forme d'évolution). Les développeurs d'il y a plus de 20-25 ans ont dû laisser le Fortran, le COBOL et autre Lisp de côté pour rester dans la course. De même, les développeurs actuels devront dire un jour adieu à Java, C# et Python (voire C++ ?) pour peut-être le langage D et Google Go.

Étrangement, il n'y a que le C qui arrive à traverser les époques. Jusqu'à ce qu'il soit décrété comme étant "trop vieux pour l'Informatique" ?
pas totalement d'accord: je fais partie de ceux qui apprennent lentement (surtout parce que je ne tiens jamais rien pour acquis et que , ayant mauvais esprit, je m'interroge sur les motivations de tout ) ... ça m'empêche pas de rebatir sans cesse sur des acquis anciens ....
En terme d'efficacité de codage je me considère comme un "lent à l'allumage" ... j'aurais jamais pu opérer en SSII mais chez des éditeurs de produits ça a super bien marché.

Mon conseil pour les chefs de projet: pour faire un bon ragout il faut de la viande et des légumes .... la diversité dans les équipes est une richesse.
Avatar de mortapa mortapa
Futur Membre du Club
le 29/11/2010
Citation:
Envoyé par pcaboche Voir le message
Parce que quand on arrive à un certain niveau de compréhension et qu'on voit tout ce qu'il se passe dans la profession informatique (développement, conduite de projets, RH, commercial, etc) on se dit que tout cela n'est qu'une vaste blague. Et on finit par tout prendre à la légère comme si rien n'avait vraiment d'importance.
Si seulement c'était valable uniquement dans le domaine de l'info le monde serai un vrais bonheur.

Citation:
Dans 8 ans, je pense que j'en aurai eu marre de l'info et que j'aurai ouvert un bar à putes en Thaïlande...
j'aurais enlever pute et remplacé par concert, enlever Thailande pour un pays moins trash mais grosso modo l'idée est là
Avatar de lordrt lordrt
Invité de passage
le 01/12/2010
l'option 3 n'est pas mal, pourquoi se prendre la tête pour développer quelque chose qui existe déjà et qu'on peut adapter à son besoin
Avatar de rhabib rhabib
Membre à l'essai
le 01/12/2010
il existe une autre catégorie la sixieme
les programmeurs Jongleurs
Avatar de Jimmy_ Jimmy_
Membre chevronné
le 01/12/2010
Developper ça sert à rien, on ne monte pas dans la hierarichie en developpant. On reste en bas avec un salaire qui va avec.
Donc pour moi le bon developpeur ne developpe plus, c'est un indien ou un chinois qui le fait a sa place. Le bon developpeur integre , optimise ou fait des revues de code.
Il est déjà architecte ou chef de projet technique.
Avatar de mortapa mortapa
Futur Membre du Club
le 01/12/2010
Citation:
Envoyé par Jimmy_ Voir le message
Developper ça sert à rien, on ne monte pas dans la hierarichie en developpant. On reste en bas avec un salaire qui va avec.
Donc pour moi le bon developpeur ne developpe plus, c'est un indien ou un chinois qui le fait a sa place. Le bon developpeur integre , optimise ou fait des revues de code.
Il est déjà architecte ou chef de projet technique.
Quelle vision passionnante de la vie
Avatar de pcaboche pcaboche
Rédacteur
le 01/12/2010
Citation:
Envoyé par mortapa Voir le message
Quelle vision passionnante de la vie
Code :
sed -e 's/passionnante/réaliste/' | sed -e 's/vie/gestion de projets/'
Avatar de mogwai162 mogwai162
Membre Expert
le 02/12/2010
Bonjour.

C'est une caricature. En ce qui me concerne un bon développeur est un mélange des cinq catégories.

En effet :
  1. A quoi sert de faire des solution élégantes si vous êtes lent ou si votre programme bugge régulièrement.
  2. A quoi sert de faire un chef d'œuvre si vous êtes trop lent (tiens c'est pas la même chose que le 1 ça ?)
  3. Il faut pomper sur le code que vous pouvez trouver ou le code que vous avez déjà vous même écrit mais il faudra programmer quand même non ?
  4. Si votre code est pourri vous faites comment pour le modifier quand dans 6 mois vous ne saurez plus comment vous avez fait ?
  5. Sans théorie sans un minimum de réflexion, vous programmez comment vous ?
Avatar de sevyc64 sevyc64
Modérateur
le 02/12/2010
Citation:
Envoyé par Jimmy_ Voir le message
Developper ça sert à rien, on ne monte pas dans la hierarichie en developpant. On reste en bas avec un salaire qui va avec.
Donc pour moi le bon developpeur ne developpe plus, c'est un indien ou un chinois qui le fait a sa place. Le bon developpeur integre , optimise ou fait des revues de code.
Il est déjà architecte ou chef de projet technique.
Est si c'est un choix de carrière ?
Pourquoi un développeur doit obligatoirement évoluer dans sa carrière vers un poste de chef de projet ou d'architecte ? Qui impose cela ?

Je me demande d'ailleurs si les développeurs sont les plus compétants pour gérer des équipes et des projets ? Pour ceux que j'ai rencontré ce n'était pas le cas.
A chacun son boulot !!! Laissons les développeurs développer et laissons gérer les projets par des personnes capables de gérer des projet.
Avatar de velight velight
Membre à l'essai
le 02/12/2010
Je suis plutôt indécis. Il y a certainement d'autres catégories de développeurs. Moi par exemple, je saute sur la dernière des technologies et j'apprends tous les jours un peu plus. Je pense que tout le monde est comme ça.
Avatar de ypicot ypicot
Membre éprouvé
le 05/12/2010
La catégorie "celui qui apprend" me fait penser à un test que j'ai passé il y a qques années.

On m'a posé qques questions techniques pointues. J'ai répondu aux deux premières, et j'ai séché sur la 3ème. Et j'ai simplement dit "je ne sais pas". Mon interlocuteur a fait la gueule, je me suis dit que c'était grillé. Il m'a alors dit "ha... bon... tant pis... et qu'est-ce que vous feriez pour savoir ?". Je lui ai expliqué : collegues, bouquin, ... en lui donnant au passage qques titres.(c'était à la fin des années 90, internet était beaucoup moins développé à l'époque)
Il m'a alors regardé avec un grand sourire : "ok, c'est bon pour moi".
En fait, pour réussir le test, il fallait donner des pistes de recherche et surtout surtout avouer son ignorance (plutôt que de raconter n'importe quoi).

J'avais trouvé cette approche intéressante, où on privilégie la tête bien faite à la tête bien pleine.

Yvan
Avatar de plouiserre plouiserre
Membre régulier
le 05/12/2010
Citation:
Envoyé par lordrt Voir le message
l'option 3 n'est pas mal, pourquoi se prendre la tête pour développer quelque chose qui existe déjà et qu'on peut adapter à son besoin
J'ai travaillé avec des gens de cette catégorie, et leur travail était ignoble.
Je peux te dire que la plupart du temps, ce qui est piqué dans un site est beugué donc tu mets trois plombes à le reprendre.
Le deuxième soucis c'est qu'il y a le risque que le code pris ne corresponde pas à l'architecture de ton application ce qui est pas génial.
Enfin bonne chance pour maintenir un code qu'on trouve sur internet et permettre à tes collègues de pouvoir s'en servir.

Pour moi cette catégorie est la pire que j'ai rencontré dans ma courte vie professionnelle et j'espère ne plus travailler avec des gens comme eux.

Car prier pour que ca marche n'est pas professionnel.
Avatar de _skip _skip
Expert Confirmé Sénior
le 06/12/2010
Citation:
Envoyé par plouiserre Voir le message
J'ai travaillé avec des gens de cette catégorie, et leur travail était ignoble.
Je peux te dire que la plupart du temps, ce qui est piqué dans un site est beugué donc tu mets trois plombes à le reprendre.
Le deuxième soucis c'est qu'il y a le risque que le code pris ne corresponde pas à l'architecture de ton application ce qui est pas génial.
Enfin bonne chance pour maintenir un code qu'on trouve sur internet et permettre à tes collègues de pouvoir s'en servir.

Pour moi cette catégorie est la pire que j'ai rencontré dans ma courte vie professionnelle et j'espère ne plus travailler avec des gens comme eux.

Car prier pour que ca marche n'est pas professionnel.
Ben attention alors parce que ça tu risques d'en voir plus d'un et plus d'une. La mode d'aujourd'hui, à ce que je peux voir, et principalement chez les juniors c'est de chercher le "framework" qui fait tout ce qu'on demande.
Tant pis si au final on comprend rien de comment ça fonctionne.

Ca vous donne des gens qui sortent du Spring-hibernate pour des sites basiques ou un peu de jdbc suffirait amplement. C'est cool, c'est sur-architecturé, c'est marrant jusqu'au jour où on commence à se prendre des stacktrace de 50 pages dans la figure parce qu'un obscur mécanisme de magie noire qui fait de l'injection de dépendances ne fonctionne plus suite à un changement mineur.

Utiliser des frameworks ok, mais les comprendre un minimum avant. Sous peine de finir avec des solutions ridiculement complexes qu'on ose plus toucher tellement on sait pas ce que ça brasse.

PS: C'est du vécu personnel
Avatar de turcotm turcotm
Membre du Club
le 07/12/2010
Salut,

Moi je crois être 1/5 de tout ca. Tout dépend du contexte du projet et du client. Donc tout dépend de la tâche a accomplir.



Je trouve ce Monsieur assez no 5. Il devrait peut être ce diversifié sur les point 1 a 4.



Merci
Avatar de plefebv plefebv
Membre à l'essai
le 07/12/2010
Un développeur tout seul, ça n'existe pas.

Parce que ça n'a aucune fonction, aucun projet, aucun employeur ou client, aucune équipe autour de lui, et en définitive aucun emploi et aucun moyen de vivre.

La question de ce qu'est un bon développeur est fonction de tous ces paramètres.
Le choix des outils, et de l'environnement de développement et de déploiement de la solution, sont autant de paramètres supplémentaires.
Tel ou tel développeur maîtrise ou ne maîtrise pas l'environnement, sait ou ne sait pas s'y adapter, le remettre en question ou non, s'intégrer à son entreprise et à son équipe ...

Les réponses sont données par le résultat acquis.

Sur un projet d'ampleur:
- Si on néglige la part algorithmique, on s'expose à une solution inefficace.
- Si l'on néglige le côté définition et conception (y compris abstraction), on est certain d'aboutir trop lentement, à un produit trop spécifique pour les besoins du client.
- Si l'on se perd dans les outils ou la théorie, on reste sur son nuage sans aboutir.
- Si l'on néglige les outils ou la théorie, on mettra tellement de temps pour aboutir qu'on ne pourra pas y arriver dans des délais raisonnables. Ou alors on arrivera à une approche qui ne sera jamais pleinement fonctionnelle, et pour achever le tout il faudra tout reconcevoir.

Pour moi, le bon développeur est un chef de projet capable de développement dans n'importe quel langage (structuré, fonctionnel, objet, déclaratif, ou autre), sur n'importe quelle plateforme, en top-down, en bottom-up, ou en itératif.
De la pratique il sait remonter à la théorie (il sait théoriser son expérience pratique), et pour lui la théorie n'existe que par ses conséquences pratiques.
Il sait travailler en équipe et sait qu'il ne fera pas tout tout seul.
Il a un bon relationnel et entretient son réseau; Il peut recruter du monde sur un projet.
Il a une passion pour un domaine technique dans lequel il excelle.

Sur un projet, il passe:
- 20% de son temps à le définir;
- 10% de son temps à en vérifier/assurer la faisabilité, et à définir la plateforme;
- 30% de son temps à le concrétiser;
- 20% de son temps à en assurer le suivi;
- 20% de son temps à assurer sa veille technologique, entretenir son réseau, et à se former pour le projet suivant.
Avatar de Dormeur74 Dormeur74
Nouveau Membre du Club
le 15/12/2010
Je n'entre pas dans les détails techniques qui conduisent un programme à planter ou à ne jamais planter.

Pour moi, le développeur à fuir comme la peste est celui qui :
- n'indente pas son code pour en rendre la structure compréhensible au premier coup d'oeil,
- ne renseigne pas assez ses instructions à l'aide du pseudo-code qu'il a utilisé
- choisit des noms de variables épouvantables du genre CIEXYZTRIPLE (Type VB)

Bref le développeur qui laisse derrière lui une bouillie infâme qui donne envie de tout reprendre de zéro pour gagner du temps.
Avatar de Chedi Chedi
Candidat au titre de Membre du Club
le 18/12/2010
sincèrement je trouve aucune catégorie qui je la trouve adapté à moi
Avatar de super_bus super_bus
Membre du Club
le 04/01/2011
Bonsoir à tous,

Je ne pense pas que définir ce qu'est un développeur vis-à-vis de lui-même soit judicieux. Le mieux est de la qualifier vis-à-vis des autres intervenants.

Pour un utilisateur lambda, il s'agit de celui qui sait répondre à son attente, c'est à dire respect des fonctionnalités, aucun bogue, rapidité dans l'exécution de ses traitements, toujours à l'écoute des désirs de l'utilisateur ...

Pour un patron, il va de soi que cela tourne entre la rentabilité et le cout. Donc bonne connaissance du ou des langages, rapidité dans l'écriture des programmes (au sens le plus large), aucun besoin de formation, peu de maintenance, facilité à la mise en œuvre, et à l'évolution, grande capacité d'adaptabilité (au changement d'environnement), et aussi, sinon le plus important, savoir s'intégrer à un groupe de travail, et donc ne pas être individualiste.

Pour un chef de projet, il s'agit du respect des délais, de ne pas faire une usine à gaz, d'être autonome, de connaitre le métier du client ...

Pour l'écriture, en général on exige la lisibilité des programmes, de ne pas se faire plaisir en construisant un programme dont seul l'auteur sait de quoi il en retourne, car il faut toujours avoir à l'esprit que l'on travail pour un autre développeur qui fera par la suite la maintenance, de pratiquer la programmation structurée, ainsi que la modularité sous forme de bibliothèques réutilisables, de créer une bonne documentation dont on néglige souvent ...

Et pour finir, la qualité essentielle du développeur est son sens du relationnel, car beaucoup d'informaticiens sont orgueilleux. On ne peut rien leur dire ou leur demander sans qu'ils se fâchent. Ils ont tendance à se prendre pour Dieu, même si leur pouvoir de création est important, ils restent des humains.

Sinon pour revenir au classement, je n'en connais que deux : les bons et les mauvais. Et je peux vous assurer qu'il y a beaucoup de mauvais développeurs,
car ils se prennent tous pour des bons. Seul l'humilité est la règle.
Avatar de olivieram olivieram
Inactif
le 08/02/2011
Bonsoir à tous et à toutes,

Je viens ce soir d'envoyer un mail à mon responsable pour lui préciser que je voudrais passer "expert technique" et j'ai pensé que je lui prouverai mes qualités plus tard, en lui parlant de mes compétences en algorithme par exemple.

Bon gré, mal gré, je suis rentré chez moi et j'ai un peu surfé sur le net.
J'ai trouvé donc cette discussion très intéressante pour mon avenir.
Pas parce que je me destine chef de projet ni responsable avec des tâches administratives à faire mais parce que j'ai envie d'apprendre + de choses.
Et pourtant je suis développeur depuis + de 10 ans.
Pendant ces années là, je n'ai trouvé que des gens surchargés de travail tandis que moi je n'avais besoin que de quelques minutes à plancher. C'est dire si je suis vraiment chanceux ou alors je suis un crack

Mais, j'ai conscience que l'important dans la réalisation de logiciels, c'est la probité : les vertus, la droiture, etc. C'est tout à fait ce que j'ai pressenti quand j'ai commencé à faire de la programmation (il y a fort fort longtemps).

En effet, l'ordinateur est sans faille et il fait exactement ce qu'on lui dit de faire sans se détourner de sa tâche et cela quoique ce soit de ce qu'on lui dit de faire.
Du coup, et c'est là que je vais citer un film éponyme (vous le connaissez par coeur) : il était bien le contraire d'un ordinateur.

Alors, quand on dit développeur 'bon' ou 'mauvais' c'est sûrement nos consciences qui nous parlent.
Parce que lorsque l'on développe on pense pour le bien d'autrui et pas pour soi. On pense comme on le fait, on pense comme un ordinateur, avec droiture et respect.
Et c'est là que l'on viendra nous dire que ce n'est plus ce qu'il faut faire encore aujourd'hui ?
Avatar de fmdao fmdao
Membre régulier
le 09/02/2011
Citation:
Envoyé par olivieram Voir le message
Bonsoir à tous et à toutes,

On pense comme on le fait, on pense comme un ordinateur, avec droiture et respect.
Donc un ordinateur vous a dit "Cogito ergo sum". Et vous l'avez cru !

Le programme avait du être écrit par un developpeur d'une toute autre catégorie. Dieu peut-être ?
Avatar de la.lune la.lune
Membre confirmé
le 04/03/2011
Est ce que là on mélange entre un ingenieur logiciel et un developpeur ;possible que je me trompe. Mais n y a-t-il pas une difference? D'après un ingenieur logiciel il dit que l'ingenieur ne code pas en génerale; Il modélise , étudie la faisabilité,definit l'environement de travail......Si on distingue ses deux cas!
Comment allons nous les categoriser :l'un independament de l'autre !
Après faire le produit cartesien et voir le resultat d'une bonne équipe de développement!
Je pense que dans le monde actuel la direction vers la programmation orienté composant serait plus productif et efficasse.
Vu l'independance et la libérté de chaque developpeur de coder dans le language où il se sens en paix! ça restera au chef de s'occuper du tout après.
En tout cas chacun serait responsable de son(ses) composant(s)!
Avatar de Depite Depite
Nouveau Membre du Club
le 07/03/2011
Aussi honnête que l'on veuille être, je doute qu'on puisse autodéterminer la catégorie à laquelle on appartient mais qu'on donnera plutôt celle à laquelle on veut appartenir (nuance).

Pour le reste, il est probable que chaque catégorie a ses aspects séduisants et ses défauts et qu'on a donc surement envie de nuancer sa réponse.

Pour mon compte, j'aimerais être consédéré comme faisant partie de la première catégorie dans la mesure où l'élégance peut toujours être revue ultérieurement si son absence pose problème.

Malheureusement je sais très bien avoir une bonne part de 2ième catégorie et même surement un peu de la dernière !

Pour les considérations de carrière: autodidacte total et indépendant, je vis depuis 20 ans de mes développements que je livre toujours en retard et toujours avec des bugs! Mais j'en vis et ma famille aussi.

Je n'ai pas de casquette spécifique "développeur", "chef de projet" ou "analyste" car j'occupe en général tous les postes mais pour moi les vrais moments de bonheur sont l'analyse et le codage.
Avatar de pussin pussin

le 14/04/2011
Personnellement, je cherche un développeur PERL depuis longtemps...
L'offre est Ultra intéressante, au sein d'une équipe jeune et dynamique... (25 - 27 ans)... avec une rémunération Plus qu'intéressante...
Et impossible de trouver une seule personne...

Alors Où sont passés LES DÉVELOPPEURS PERL !!!???
 
 
 
 
Partenaires

Hébergement Web