IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Ingénieur Full Stack : mythe ou réalité aujourd'hui ?


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    Billets dans le blog
    2
    Par défaut Ingénieur Full Stack : mythe ou réalité aujourd'hui ?
    Ingénieur Full Stack : mythe ou réalité aujourd'hui ?
    Peut-on vraiment avoir un haut niveau d'expertise du back-end au front-end ?

    Qu'est-ce qu'un développeur Full Stack ?

    Un développeur Full Stack est un informaticien capable de réaliser des tâches à n'importe quel niveau technique de la pile des différentes couches d'une application. Rigoureusement, dans le monde technologique d'aujourd'hui, il devrait donc être capable :
    • configurer l'infrastructure matérielle et le système d'exploitation ainsi que les dépendances entre les différents composants logiciels à utiliser ;
    • concevoir, manipuler et interroger des bases de données ;
    • concevoir le code de back-end et les API d'accès à ces données sous forme de webservices, en utilisant des langages dit back-end comme Java, Python, Ruby ou PHP ;
    • concevoir le code front-end qui est exécuté sur la plateforme de l'utilisateur, le plus souvent un smartphone ou un navigateur Web, dans des langages tels que JavaScript et ses bibliothèques, HTML ou CSS ;
    • être capable de gérer et planifier un projet avec des méthodes de développement agiles telles que Scrum ou Kanban, pouvoir interagir avec le client et ses besoins, et documenter l'ensemble des parties du projet.

    Pourquoi est-il important ?

    De la définition adoptée précédemment, pour le moins qu'on puisse dire, un développeur Full Stack est quelqu'un de familier avec chacune des couches d'une application informatique, même s'il a souvent une affinité ou des compétences plus étendues dans l'une d'elles.

    Cette connaissance large devrait donc lui permettre de travailler sur un projet de A à Z sans avoir à recourir à d'autres développeurs - du moins, pour les petits projets. C'est donc ce genre de profils dont rêvent les RH. Après tout, il s'agit d'avoir un seul gars capable de faire le travail de deux ou trois personnes, ce qui est intéressant en termes d'économies. Ce n'est donc pas une surprise de voir de nombreuses offres d'emploi pour ce genre de profil. Il suffit de faire une petite recherche sur le Portail Emploi de Developpez.com. Le fait qu'il soit polyvalent permet en outre de faciliter les remplacements ponctuels ou durables au sein d'une équipe.

    Pour un gros projet, le développeur Full Stack est également important. Un lead developer Full Stack par exemple pourrait rendre la vie plus facile aux autres développeurs sur le projet, puisqu'il sait comment les différentes couches communiquent et s'articulent.

    Mais qu'en est-il dans la réalité ?

    Dans la réalité, il faut reconnaitre qu'il est aujourd'hui difficile, voire impossible, de trouver des profils tels que décrits ici. Pour espérer trouver des développeurs Full Stack, avec l'allure à laquelle les technologies innovantes aujourd'hui deviennent obsolètes demain, il faut commencer par restreindre la définition de Full Stack à : back-end + front-end. Là encore, ça ne nous permettrait pas systématiquement de trouver des développeurs Full Stack à tous les coins de rue. Parce que ce qu'on voit le plus, ce sont des développeurs qui penchent le plus vers l'un ou l'autre, surtout que pour chaque couche, la pile de technologies explose constamment.


    De ce fait, existe-t-il des développeurs ou ingénieurs Full Stack aujourd'hui ? Non d'après Robin Rendle, un web designer vivant à San Francisco. « Je ne crois pas à l'ingénierie Full Stack », dit-il dans un billet de blog. « De tous les ingénieurs que j'ai rencontrés au cours des années, un seul s'est approché de ce que ce titre, ingénieur Full Stack, implique : la possibilité de naviguer facilement dans le back-end et le front-end avec un haut niveau d'expertise. Pour le reste d'entre nous, il n'est tout simplement pas possible de faire les deux », a-t-il ajouté.

    Partant de cette position, Robin Rendle estime que c'est à tort que les entreprises poursuivent les profils Full Stack, puisqu'il n’en existe pas. Et en le faisant, elles incitent les autres ingénieurs à négliger le développement front-end dans la quête de compétences pour pouvoir se vendre comme des développeurs Full Stack. En résumé, le point central de son billet est que les entreprises sacrifient le développement front-end pour recruter des développeurs se disant Full Stack, mais qui manqueraient en réalité d'expertise dans ce domaine.

    Pour lui, le développement front-end, c'est d'abord un balisage sémantique accessible : « Écrire dans une mer de spans et de divs devrait rendre inconfortables », dit-il. Mais c'est aussi : une expérience dans l'écriture de Sass / CSS clair et concis ; et se soucier profondément, même de façon obsessionnelle, de la performance web (ce qui signifie de la connaissance à propos du chargement des polices, des images, des SVG, des animations, de l'audit des scripts de tiers, etc.). Et en fonction de la taille de l'organisation ou du projet, une connaissance approfondie des frameworks comme React ou Angular, entre autres, est nécessaire pour faire des composants abstraits qui peuvent être réutilisés en permanence par différentes équipes.


    Robin Rendle

    Si l'apprentissage de ces compétences est possible lorsque vous êtes ingénieur, les faire bien ou même à un niveau acceptable exige avant tout du dévouement et de la concentration, estime Robin. « Mais je vois un mauvais design partout sur le web et je pense que c'est dû au manque de ces compétences », dit-il. « C'est parce qu'il y a un ensemble de compétences en développement Web qui sont laissées complètement à l'écart et mises de côté par les gens qui prennent des décisions d'embauche dans les organisations. »

    Il estime que le développement front-end est une activité à part entière qui nécessite des efforts à plein temps. Mais ce qu'il voit, c'est que beaucoup d'entreprises embauchent des ingénieurs Full Stack et des designers sans expérience de codage et qui ne comprennent pas la structure HTML de base. « Je vois constamment des interfaces extrêmement inaccessibles », par exemple avec « des formulaires qui ne vous permettent pas de naviguer efficacement avec un clavier », a-t-il ajouté. « Je vois des interfaces mobiles inutilisables et des applications web géantes qui sont lentes et mal fichues parce que personne n'a vraiment pris en compte le fonctionnement des navigateurs au niveau le plus élémentaire. » Non seulement cela, « mais je vois beaucoup d'outils et de processus qui tentent de remplacer le développement front-end et parfois ce remplacement se présente sous la forme d'outils de conception ou de prototypage », dit-il encore.

    Pour Robin Rendle, le développement front-end est important aujourd'hui et il sera important dans vingt ans, il ne disparaitrait donc pas de sitôt. « Il sera toujours aussi cool et ennuyeux qu'aujourd'hui, donc tout mettre en JavaScript et changer votre description d'emploi ne changera pas cela. Cela ne fera qu'amener encore plus de confusion sur ce qu'est le développement front-end. » Il pense que les entreprises qui ignorent le développement front-end pour embaucher les développeurs Full Stack le font à leurs risques et périls. « Elles perdront des millions de dollars chaque année parce que leurs sites Web sont lents, elles seront poursuivies en justice pour avoir enfreint les lois sur l'accessibilité, et elles ne seront pas en mesure de livrer de belles interfaces de haute qualité et bien organisées parce que personne ne sera là pour les construire. »

    Si une entreprise n'embauche que des ingénieurs Full Stack, elle devrait alors, selon lui, réfléchir sérieusement à la raison pour laquelle c'est le cas et devrait avoir une idée de ce qu'elle sacrifie « pour ce manque d'expertise dans ce domaine », dit-il en faisant allusion à l'ingénierie Full Stack. Pour sa part, il est convaincu que de même que la licorne est une créature légendaire, il n'existe pas d'ingénieur ou développeur Full Stack.

    Source : Billet de Robin Rendle

    Que pensez-vous du point de vue de Robin Rendle ?
    En France, les entreprises sont-elles en train de recruter des développeurs Full Stack au détriment des développeurs front-end ?
    L’avenir du développement front-end pur est-il menacé ? Pourquoi ?
    Pour vous, c'est quoi un développeur Full Stack ? Une question de développeur expérimenté ? Ou le nombre d'années ne suffit-il pas pour devenir Full Stack ?

    Voir aussi :

    Existe-t-il encore des développeurs « Full Stack » ? Pour un senior, la pile de technologies utilisées dans des projets est devenue importante
    Le développeur full stack est une chimère, selon un senior, car un projet réussi implique absolument une équipe d'experts, qu'en pensez-vous ?
    A-t-on besoin d'apprendre la programmation pendant 10 ans avant d'être un développeur accompli ? Partagez votre expérience
    Comment devenir un meilleur développeur ? La formation et l'expérience sont-elles suffisantes ? Vous êtes invités à partager votre avis
    Y a-t-il une corrélation entre diplôme et succès en tant que développeur de logiciels ? Un acteur de la sphère donne son avis
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    En gros une personne qui ne fait que A, sera toujours meilleure pour faire A qu'une personne qui fait A, B, C, et D.

    Donc demander à ce qu'un "ingénieur full stack" soit aussi performant qu'un ingénieur A pour A, aussi performant qu'un ingénieur B pour B, etc., c'est juste débile. C'est comme demander un ingénieur de 25 ans avec 30 ans d'expérience en JavaScript.


    Après, faut-il vraiment être aussi performant en tout, pour se prétendre "full stack" ? Être capable de maîtriser toute la chaîne peut être un plus, si, sur des projets donnés, on n'a pas suffisamment de ressources pour y mettre plusieurs personnes. Personnellement, je suis seul sur un développement, je suis bien obligé d'être "full stack", et pire que cela, je ne peux même pas me consacrer au développement à plein temps.

    Après, faut-il vraiment maîtriser le dernier framework à la mode, en changeant de framework chaque semaine ? Bonjour la maintenance derrière .
    Si derrière HTML5/CSS3/JS/JQuery/Node/Webpack/NPM/PHP7/PDO/SQL suffisent, pourquoi s'enquiquiner ? N'est-ce pas suffisant pour se prétendre "full stack" ?

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Bonjour

    Les développeurs 'full stack' existent: ce sont ceux qui se retrouvent dans des 'embryons' d'équipe, bien souvent pour initier un projet ou mieux une entreprise. Comme dirait Richard Dreyfus dans Jaws: "Je suis mousse, matelot, lieutenant et capitaine sur mon bateau". Bien sûr, nul n'est parfait dans les divers domains et c'est là que nlous rentrons dans l'élaboration d'une équipe.
    Après, des entreprises demandent des développeurs full-stack pour rejoindre des equips existantes: c'est là que ça blesse ! Imagines une équipe de football (coupe du monde oblige) où tu n'as que des attaquants, c'est le meilleur moyen pour que tout le monde se marche sur les pieds ! Tout le monde voudra tout faire et trouvera que ce que fait le collègue est hérétique à ses yeux ! Croyez moi, j'en sors d'une telle équipe.
    Si je suis chef d'équipe, je recherché un profil et une ou des competences qui me manqué. Demander que l'on soit parfait partout est 1) utopique; 2) idiot comme chercher un mouton à 5 pattes.
    Je me dis que les entreprises qui ne demandent que de tels profils ne cherche qu'à syphonner ou à alimenter ce genre de buzz-word et/ou recrutent de parfaits usurpateurs.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 95
    Points : 264
    Points
    264
    Par défaut
    De mon point de vue, le terme FullStack est sujet à interprétation...
    Je travaille en back sur du .Net CORE pour faire des APIs, et en front avec AngularJS ou React suivant les projets sur lesquels je travaille en entreprise. Ayant une connaissance en ALM, sachant commencer un projet à partir d'un repo local Git pour ensuite faire de l'intégration continue jusqu'à un serveur de production en agilité, je m'estime comme un profil FullStack, mais je ne m'estime pas expert car je ne me consacre pas suffisament aux différentes briques :

    • Un profil Front End saura toujours mieux optimiser son code JavaScript que moi, ne serait-ce que par une connaissance plus poussée des frameworks/packages npm à la mode
    • Un profil Back End aura peut être plus d'affinité avec certains concepts (les micro services, les bus, l'architecture par domaine par exemple, etc)
    • Même si je manipule des bases de données, un DBA sera toujours plus compétent que moi
    • Niveau ALM, je n'ai pas une expertise très poussée par manque de temps : d'autres personnes se focalisant dessus peuvent faire des merveilles (j'ai assisté à une AWSome day, et ça faisait rêver)


    Je ne suis pas un cas isolé, la plupart des ingénieurs que je connais sont dans la même situation.
    Je pense que les profils Full Stack existent mais qu'il faut être conscient qu'ils ont une expertise moins élevée, ou alors que ce sont des perles rares...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Je pense que oui des ingénieurs fullstack existent, mais ce ne sont pas les juniors qui l'écrivent sur leur CV qui le sont.
    Avec l'expérience, en pratiquant un peu de tout, tu finis forcément par avoir des compétences partout, voire une maîtrise correcte et suffisante de l'ensemble des éléments impliqués (langages, OS, ..).
    Peut-être que tu ne seras jamais un guru ultime de la techno X, mais tu auras une maîtrise de X, Y et Z te permettant d'être (très) bon dans ton travail - et c'est déjà plus que certains ne le seront jamais.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Avec l'expérience, en pratiquant un peu de tout, tu finis forcément par avoir des compétences partout, voire une maîtrise correcte et suffisante de l'ensemble des éléments impliqués (langages, OS, ..).
    Sauf que ça évolue tellement vite, surtout en front, que tes compétences d'il y a 5 ans ont de grandes chances de ne pas t’être utile (même si toute experience est forcément utile!).

    Pour le reste devops, fullstack et tout les mots à la mode sont le quotidien de quasi tout développeur dans des petites structures. Ce sont les grosses boites qui se sont amusés à segmenter les roles. L'agilité c'est la meme chose, dans beaucoup de petite structure il n'y a même jamais eu de waterfall...

  7. #7
    Membre expérimenté
    Profil pro
    Ingénieur système Linux N3
    Inscrit en
    Juillet 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur système Linux N3

    Informations forums :
    Inscription : Juillet 2008
    Messages : 419
    Points : 1 527
    Points
    1 527
    Par défaut DRH
    On se demande ce qui est enseigné dans les cursus DRH. C'est marrant, on ne demande jamais à un DRH d'être en même temps avocat et comptable. Et lui, quand il recrute, il veut la personne unique qui va tout faire, et bien...
    J'ai connu dans une entreprise où j'ai travaillé, le nouveau DG a cherché à passer de 2 postes à 1 seul avec ma collègue de bureau. Elle s'occupait de la facturation et du bon fonctionnement du logiciel ERP sur l'AS400. Je m'occupais du réseau, du parc informatique, des interconnexions entre sites... quand j'ai été embauché, il n'y avait même pas de réseau local, preuve que la micro-informatique ce n'était pas du ressort de ma collègue. Et j'aurais été bien incapable de m'occuper de la facturation sur l'AS400, avec toutes les conséquences fâcheuses en terme de chiffre d'affaire. Mais pour le DG, nous étions tous les 2 informaticiens, donc interchangeables... Il lui a fallu du temps pour l'admettre. J'ai fini par partir, la gestion de la micro a été externalisée, et ça a été beaucoup plus coûteux pour eux à terme, quand plus personne ne s'occupe de configurer les boîtes email, quand plus personne de fait les sauvegardes du serveur de fichiers, quand plus personne ne s'occupe de mettre à jour les catalogues Bosch, Valeo, Bendix, Lucas, Hella, rust'Oleum sur les postes des commerciaux, quand les nouveaux ordinateurs sont des fujitsu P4 à chipset Sis qui crament au bout de 3 ans... Ces coûts sont en temps perdu ou en affaires perdues, c'est saupoudré, masqué, contrairement au salaire d'un admin système-réseau. Tant pis pour eux.

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par micka132 Voir le message
    Sauf que ça évolue tellement vite, surtout en front, que tes compétences d'il y a 5 ans ont de grandes chances de ne pas t’être utile (même si toute experience est forcément utile!).
    Si tu ne fais que du backend pendant 5 ans, comment pouvoir encore se prétendre full stack ? Tu es maintenant un développeur backend.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 67
    Points : 131
    Points
    131
    Par défaut
    Il ne faut quand même pas exagérer la difficulté à apprendre un framework (front ou back) ...
    A ce moment là qu'est ce qu'on peut dire d'un mec qui sait à la fois programmer en assembleur, et connaît SQL...
    (Compétences prises au hasard, vous pouvez créer un couple de votre choix) ...

    Surtout si on se focalise sur 1 Framework & langage en particulier pour chaque type, il n'y a là rien d'impossible.

  10. #10
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Responsable informatique, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Responsable informatique, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 084
    Points : 5 604
    Points
    5 604
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    Ingénieur Full Stack : mythe ou réalité aujourd'hui ?
    Peut-on vraiment avoir un haut niveau d'expertise du back-end au front-end ?

    Qu'est-ce qu'un développeur Full Stack ?

    Un développeur Full Stack est un informaticien capable de réaliser des tâches à n'importe quel niveau technique de la pile des différentes couches d'une application. Rigoureusement, dans le monde technologique d'aujourd'hui, il devrait donc être capable :
    • configurer l'infrastructure matérielle et le système d'exploitation ainsi que les dépendances entre les différents composants logiciels à utiliser ;
    • concevoir, manipuler et interroger des bases de données ;
    • concevoir le code de back-end et les API d'accès à ces données sous forme de webservices, en utilisant des langages dit back-end comme Java, Python, Ruby ou PHP ;
    • concevoir le code front-end qui est exécuté sur la plateforme de l'utilisateur, le plus souvent un smartphone ou un navigateur Web, dans des langages tels que JavaScript et ses bibliothèques, HTML ou CSS ;
    • être capable de gérer et planifier un projet avec des méthodes de développement agiles telles que Scrum ou Kanban, pouvoir interagir avec le client et ses besoins, et documenter l'ensemble des parties du projet.
    Voici une définition bien étriquée du "Full stack" :
    Déjà au niveau du "backend" on ne se limite pas à Java, Php, Ruby, etc... on aussi du .NET, du C++, etc... etc...
    Y'a pas non plus que des webservices pour échanger des infos...
    Le plus souvent sur un smartphone ? Les PC n'existent plus ?
    "concevoir, manipuler et interroger des bases de données" ? A mon sens tout développeur aujourd'hui doit être capable à tout le moins de manipuler et d'interroger des bases de données... c'est pas l’apanage du "Full stack" et
    la conception doit être partagée avec l'équipe (quand équipe il y a)

    Le "Full stack" c'est le chef d'équipe, c'est lui qui connait les tenants et les aboutissants du projet et la façon dont l'ensemble est structuré, bref qui trace la route à suivre... Après on mélange beaucoup la connaissance "fine" d'un framework avec les aptitudes à la programmation. Si vous savez écrire un algorithme dans un langage X, c'est juste un problème de syntaxe pour le traduire dans le langage Y, tout développeur doit savoir "lire" du code informatique même s'il n'est écrit pas dans un langage qu'il pratique fréquemment... Aujourd'hui on se concentre souvent sur un, deux langage à la mode, avec 1 ou deux frameworks à la mode aussi sans prendre la distance nécessaire par rapport à un projet dans son ensemble. Le "Full stack" c'est celui qui sait appréhender le projet dans sa globalité même si il maitrise pas à la ligne de code près, il est capable de voir ce qui va et ce qui pêche avec justesse et capable de donner la direction pour corriger même s'il n'écrit lui même les lignes de code.

  11. #11
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Surtout si on se focalise sur 1 Framework & langage en particulier pour chaque type, il n'y a là rien d'impossible.
    Exactement,

    J'admet volontiers qu'il est impossible de maîtriser toutes les compétences possible et imaginable de l'informatique (ni même du domaine particulier du développement). C'est tout à fait possible de répartir ces "capacités" sous un angle vertical (une techno de front-end, de back end et une DB) au lieu de viser une maîtrise du maximum de Framework front-end possible.

    D'ailleurs lorsqu'on parle de "haut niveau d'expertise", vu que ce mot figure dans l'énoncé, on se retrouve souvent positionné sur un Framework (ou techno, produit) bien spécifique et non pas sur une "couche". Pas certains qu'un expert DBA Oracle soit beaucoup plus au taquet sur un projet SQL Server qu'un full stack .Net qui n'a jamais vu un pingouin de sa vie.

    Toutes les structures n'ont pas la possibilité, ni le besoin d'avoir des experts ultra certifiés à chaque niveau non plus. Doit avoir beaucoup de projet qui serait heureux de n'avoir que la navigation à la tabulation qui est bancale...

  12. #12
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Avec l'expérience, en pratiquant un peu de tout, tu finis forcément par avoir des compétences partout, voire une maîtrise correcte et suffisante de l'ensemble des éléments impliqués (langages, OS, ..).
    Tu as une bonne connaissance des technos , mais si tu ne pratique pas à temps complet tu ne peux pas avoir une expertise forte dans le domaine.
    Et aujourd'hui c'est ce qui est attendu de l'ingénieur fullstack : mec mec expert en tout.

    Citation Envoyé par Gulien Voir le message
    Il ne faut quand même pas exagérer la difficulté à apprendre un framework (front ou back) ...
    A ce moment là qu'est ce qu'on peut dire d'un mec qui sait à la fois programmer en assembleur, et connaît SQL...
    (Compétences prises au hasard, vous pouvez créer un couple de votre choix) ...

    Surtout si on se focalise sur 1 Framework & langage en particulier pour chaque type, il n'y a là rien d'impossible.
    Entre apprendre un framework et maitriser la techno y'a une marche importante.

    J'ai personnellement vécu la dérive vers du fullstack. J'ai été embauché en tant que dév php. J'avais une expertise forte en php au moment ou je pratiquais beaucoup. J'avais comme tous dév PHP de bonne connaissance en SQL et HTML/CSS.
    Sauf que mon rôle à commencer à dériver. J'ai commencer à faire de l'admin de serveur et de la gestion BDD. Puis j'ai basculer pendant un temps sur de l'android. Aujourd’hui ca fait un peu plus d'un an que je fait beacuoup de front avec angular.
    Bilan des courses :
    - J'ai perdu en expertise PHP
    - J'ai gagné en expertise Android
    - Je suis toujours nul en dba et serveur
    - J'aime toujours pas le JS
    - Je gagne pas forcément plus malgré l'ajout de nombreuses compétences

    Mais le fait est que si tu ne pratique pas régulièrement et intensivement une techno tu perd en niveau.

    Pour moi le fullstack est un très bon profil de chef de projet , voir éventuellement de lead dev car il à une très bonne vision globale , mais devra certainement délégué l'expertise à ses dév plus pointus.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre éprouvé Avatar de 4sStylZ
    Homme Profil pro
    Null
    Inscrit en
    Novembre 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Null
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 314
    Points : 1 056
    Points
    1 056
    Par défaut
    Il y avait les mêmes discussions en 2013 sur DVP.com

  14. #14
    Membre averti Avatar de goldbergg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 125
    Points : 402
    Points
    402
    Par défaut
    Citation Envoyé par Neckara Voir le message
    En gros une personne qui ne fait que A, sera toujours meilleure pour faire A qu'une personne qui fait A, B, C, et D.
    Pas forcement...
    • la personne qui ne fait que A n'est pas forcement compétente dans A (des gros nulle il y en a partout)
    • la personne qui ne fait que A peut être compétente mais que dans quelque cas d'utilisation de A
    • la personne qui fait A, B, C et D peut avoir un niveaux de maitrise suffisante pour utiliser au mieux A, B, C et D et ainsi faire A d'une bien meilleur façon que le fera jamais la personne qui ne fait que A parce qu'ils n'auront pas la même visions ni le même niveau de compétence.

    Exemple tous con qui ne concerne pas le dev, un électrotechnicien qui réalise des schéma électrique (A) qui les met en place (B) et en assure la vérification (C) et la maintenance (D) sera bien meilleur que l'ouvrier qui se contentera de juste lire le plan et en assurer la mise en place (B).
    Pour le développement c'est pareils, a mes yeux, se limiter qu'a une seul spécialité (par exemple front-end) je trouve sa au final plutôt handicapant dans une carrière de développeur...

    Citation Envoyé par CaptainDangeax Voir le message
    C'est marrant, on ne demande jamais à un DRH d'être en même temps avocat et comptable.
    Non, mais en ne mélangeant pas tous et n'importe quoi, on peut demander au DRH d'être juriste et à un avocat de faire du droit fiscal et du droit bancaire (au même titre qu'on peut demander à un de dev savoir faire du back et du front).
    Puis bon, les compétences qu'on demande a un dev Full-Stack, elles sont toutes plus ou moins lié (on les acquière quasiment toutes avec un titre de type CDI ou AL), c'est pas comme si on demandai a un dev de savoir faire de la mécanique ou du jardinage.

    Citation Envoyé par grunk Voir le message
    Mais le fait est que si tu ne pratique pas régulièrement et intensivement une techno tu perd en niveau.
    Qu'est-ce que tu appelles intensivement?

  15. #15
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par goldbergg Voir le message
    Qu'est-ce que tu appelles intensivement?
    Cela me paraît assez clair.

    Si tu fais du C++ tous les jours alors c'est régulier, on a donc le premier point.
    Mais si c'est pour corriger une pile de faits techniques qui ne touchent qu'à des bugs d'interface (placement, couleur, texte) cela ne sera pas formateur et donc pas intensif dans le sens d'apprendre et de se perfectionner.
    Il faut pouvoir toucher à des nouvelles choses tous les jours pour pouvoir monter en compétence efficacement, et avoir le temps de s'y plonger pour toucher l'expertise.

    Après effectivement on peut parler d'intensif quand est plus que régulier, mais je ne pense pas que cela soit ça qui est pointé du doigt par grunk.
    Du moins par raisonnement logique par rapport au reste de son message.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  16. #16
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Perso, suis assez mitigé, face à cet article.

    Autant je suis d'accord concernant le fait que les décideurs cherchent, à tort, des personnes pouvant tout faire, c'est plus facile, lors du recrutement...

    ... autant je ne suis pas d'accord concernant le fait que le full stack est un mythe.

    Selon moi, un full stack, c'est quelqu'un capable de gérer un projet dans sa globalité, cela ne nécessite pas une expertise dans chacun des aspects mais bien d'en comprendre les différentes mécaniques et contraintes, notamment, en termes de sécurité.

    Après, oui, on peut pousser jusqu'à l'expertise, mais ce n'est qu'un bonus, pouvant différencier un dev d'un autre.
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  17. #17
    Membre expert
    Profil pro
    undef
    Inscrit en
    Février 2013
    Messages
    959
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : undef

    Informations forums :
    Inscription : Février 2013
    Messages : 959
    Points : 3 528
    Points
    3 528
    Par défaut
    Ce n'est plus possible quand les différentes couches pondent tous les six mois des révisions techniques avec une doc de près de mille pages par révisions, à un moment donné, il faut se résoudre à distribuer les compétences... Ou à rétablir l'esc!avage.

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sinople Voir le message
    C'est tout à fait possible de répartir ces "capacités" sous un angle vertical (une techno de front-end, de back end et une DB) au lieu de viser une maîtrise du maximum de Framework front-end possible.
    Je suis tout à fait d'accord avec ça, c'est exactement mon approche mais c'est peut être spécifique au web. Ma "stack" actuelle c'est React+Redux, React Native, Symfony, Postgres, Docker, Nginx, Linux et AWS, avec focus sur l'aspect dev. Je monte toutes ces compétences en parallèle en étant bien attentif à comprendre les mécanismes sous-jacents. Ça prend du temps c'est sur mais aujourd'hui je suis 100% capable de switcher de framework front-end avec un minimum d'effort, ou de techno back-end (framework ou langage). En revanche demain administrer un cluster Kubernetes est clairement au dessus de mes compétences, je peux l'installer et le faire tourner mais il me faudra un écran avec le GIF "I DONT KNOW WHAT I AM DOING" J'ose espérer que dans quelques années en continuant dans ce sens je devienne bon dans tous ces domaines mais c'est pas magique ça demande beaucoup de temps et de travail.

    Du coup je suis quoi? Full stack? Dev Ops? Lead dev?

    Ah et la petite astuce salvatrice quand on traite avec de nombreux outils c'est d'avoir une gestion de l'actu au top, sinon ça prend un temps infini de chercher les infos et on peut passer à côté de plusieurs versions voir failles de sécurité sans même s'en rendre compte.

  19. #19
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par 23JFK Voir le message
    (.../...). Ou à rétablir l'esc!avage.
    Désolé d'être pédant, mais je ne vois pas en quoi l'esclavage résoudrait ne serait-ce qu'en partie un seul des problèmes soulevés.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  20. #20
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Désolé d'être pédant, mais je ne vois pas en quoi l'esclavage résoudrait ne serait-ce qu'en partie un seul des problèmes soulevés.
    "Where there is a whip, there's a way."

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/03/2018, 13h47
  2. Un ingénieur-développeur dans l'espace aujourd'hui
    Par Idelways dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 06/05/2011, 06h30
  3. Un ingénieur-développeur dans l'espace aujourd'hui
    Par Idelways dans le forum Actualités
    Réponses: 0
    Dernier message: 29/04/2011, 14h29
  4. Réponses: 1
    Dernier message: 26/01/2010, 16h04
  5. [Débat] Que faut-il à un ingénieur aujourd'hui pour être bon ?
    Par Developper93 dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 23/06/2007, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo