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

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sondage : quels sont les conseils pour d�buter en tant que d�veloppeur de logiciels ?
Partagez votre exp�rience

Le , par Bill Fassinou

1.3KPARTAGES

10  0 
Sondage : quels sont les conseils pour d�buter en tant que d�veloppeur de logiciels ?
Apprendre le langage que vous utilisez au bureau en profondeur, vraiment en profondeur
55 %
S'habituer au refactoring et ma�triser ses outils
48 %
Chercher � avoir beaucoup d�exp�rience
45 %
S'associer plus souvent � d�autres d�veloppeurs
40 %
�crire des tests unitaires et les ex�cuter en CI
38 %
Enseigner ce que vous apprenez
32 %
Lire au moins deux livres par an sur le g�nie logiciel
12 %
Autres (� pr�ciser dans les commentaires)
5 %
Voter 129 votants
Sondage : quels sont les conseils pour d�buter en tant que d�veloppeur de logiciels ?
Partagez votre exp�rience

Existe-t-il une m�thode universelle ou une m�thode pratique pour r�ussir ses d�buts en tant que d�veloppeur de logiciels ? Beaucoup de bouquins vont dans sens, mais chaque d�veloppeur finit par se faire son propre avis apr�s quelques ann�es d�exp�rience dans le domaine de l�ing�nierie. En fait, il en vient � dresser une liste de quelques habitudes qui, d'apr�s lui, permettent de grandir plus vite et de mani�re cibl�e, et qu�il aurait aim� conna�tre d�s ses premiers pas en tant d�veloppeur professionnel de logiciels. Voici une liste de r�gles recueillies dans la communaut�.

Lire au moins deux livres par an sur le g�nie logiciel

Il y a un tr�s grand nombre de livres de g�nie logiciel, et ce, dans un nombre tr�s �lev� de langages de programmation. Selon les personnes � l�origine de cette recommandation, chaque fois qu�ils ont donn� de leur temps pour lire lentement et compl�tement un livre conseill� sur l'ing�nierie logicielle, cela les a fait progresser. Il ne s�agit pas en effet de lire des bouquins pour se constituer un palmar�s. Mais ils conseillent qu�en lisant, il faille prendre des notes, discuter des chapitres, griffonner des paragraphes, essayer des choses, et si possible revenir en arri�re pour relire certaines choses.

Dans le choix des livres, il faut �viter les livres dat�s et surtout, vous devez rechercher des livres qui vont plus loin que ce que vous savez maintenant. Il peut s'agir d'un bouquin sur une technologie sp�cifique ou sur les pratiques du g�nie logiciel. Ils d�conseillent aussi de lire des livres via des blogues, des vid�os, etc. Selon eux, ces canaux sont juste compl�mentaires aux livres. Ils sont des formats courts qui parcourent la surface, contrairement � un livre qui va en profondeur. D�apr�s eux, les livres sont des connaissances approfondies et bien organis�es. Enfin, il y a une derni�re �tape.

Elle consiste � r�diger des critiques sur un livre une fois que vous avez fini de le lire. Cela vous aide � d�velopper votre sens critique, mais aussi vous permet de trouver d�autres alternatives � la r�solution d�un probl�me, qui peuvent parfois se r�v�ler meilleures que les conseils du livre. Notez bien, il ne faut pas �tre ambitieux, un seul livre tous les six mois suffit.

Apprendre le langage que vous utilisez au bureau en profondeur, vraiment en profondeur

Pour ceux qui recommandent cette approche, plusieurs d�veloppeurs n�ont qu�une ma�trise partielle des langages qu�ils pr�tendent conna�tre ou ne les connaissent qu�en surface, ce qui n�est pas un avantage. D�apr�s eux, conna�tre en profondeur le langage que l�on utilise au travail est l�une des meilleures d�cisions qu�un ing�nieur peut prendre afin de donner un �lan d�cisif � sa carri�re. En outre, ils recommandent aussi de ne pas h�siter � plonger dans les langages tr�s populaires, notamment ceux qui reviennent tous les ans dans le top 3 des index.

Sur cette position qu�ils adoptent, ils estiment que, plus en connaissez et plus vous �tes � m�me de juger de leurs forces et de leurs faiblesses. De m�me, plus vous connaissez de langage et plus vous pouvez en choisir facilement de nouveaux et migrer plus facilement d�un langage � un autre.


S'associer plus souvent � d�autres d�veloppeurs

Le jumelage est-il aujourd�hui d�mod� ? Ceux-ci pensent que c�est le cas. Selon ces derniers, le jumelage contribue pourtant � donner naissance � de grands programmeurs. D�apr�s eux, c�est cette approche qui donne lieu aux plus grands sauts professionnels, ajoutant que ces sauts se r�v�lent parfois plus significatifs que la lecture de n�importe quel livre. Ainsi, quand vous exposez vos id�es sur un probl�me ou lorsque vous exposez votre code, requ�rez des commentaires, etc., vous apprenez beaucoup et vous devenez beaucoup plus performant avec le temps.

�crire des tests unitaires et les ex�cuter en CI

Cette quatri�me approche recommande d��crire des tests unitaires et de les ex�cuter en CI (continuous integration - int�gration continue). D�apr�s ceux-ci, les tests unitaires permettent de sauver votre �quipe d�ing�nieurs et �vitent que vous introduisiez dans votre code des erreurs graves, qui pourraient co�ter cher � votre organisation. Ils permettraient �galement de se pr�parer � des changements majeurs � l�avenir.

S'habituer au refactoring et ma�triser ses outils

Le refactoring ou le r�usinage de code est une technique disciplin�e de restructuration d'un code existant, qui consiste � modifier sa structure interne sans changer son comportement externe. Le but est de faire une s�rie de petites transformations qui pr�servent le comportement. Chaque transformation (refactoring) fait peu de choses, mais une s�quence de ces transformations peut produire une restructuration importante. Comme chaque refactoring est petit, il est moins probable qu'il se produise des erreurs. Le syst�me continue � fonctionner apr�s chaque remaniement.

Cela r�duit les risques qu'un syst�me soit gravement endommag� pendant la restructuration. Selon cette recommandation, s�habituer au refactoring vous aide � devenir un expert dans la r�duction de la taille du code, dans l�am�lioration des performances d�un syst�me, y compris sa vitesse� Cela permet �galement de savoir extraire une m�thode d'un code, renommer une variable, passer � une constante... Enfin, ma�triser les outils du refactoring consiste � avoir une parfaite connaissance de ses EDI et les extensions servant au refactoring que vous avez ajout� � ces derniers.

Chercher � avoir beaucoup d�exp�rience

L�on estime qu�une bonne ing�nierie logicielle est le r�sultat de beaucoup d�exp�riences, vous devez donc en obtenir assez. La plupart des ing�nieurs ont tendance � se laisser influencer par les s�niors, car ces derniers ont l�air de tout savoir ou d�avoir r�ponse � tout. Selon cette recommandation, l�on peut rem�dier � cela en �tudiant les profondeurs de plusieurs langages, en travaillant avec les autres ing�nieurs, en recherchant des opportunit�s de travailler sur diff�rents piles, domaines et projets stimulants. Il ne faut pas non plus avoir peur de changer d��quipe � mi-chemin d�un projet.

En outre, ils recommandent aussi de se porter volontaire pour travailler sur de nouveaux projets et essayer de nouvelles technologies.

Enseigner ce que vous apprenez

Cette recommandation suit le dicton qui dit que : � la meilleure fa�on d�apprendre une chose est de l�enseigner �. L�approche consiste � parler de ce que vous apprenez ou ce sur quoi vous travaillez, en public devant d'autres ing�nieurs et d�veloppeurs. La prise de parole en public vous oblige � correctement vous pr�parer, ce qui vous am�ne � �tudier en profondeur les rouages de votre sujet de pr�sentation. Cette approche est �galement connue sous le nom de �Learn in public�, et fonctionnerait tr�s bien. Cela vous transforme en bon enseignant et mentor.

Et vous ?

Selon vous, quels sont les conseils pour d�buter en tant que d�veloppeur de logiciels ?

Voir aussi

Sondage : l'�ch�ance des t�ches oblige-t-elle les ing�nieurs IT � faire des heures suppl�mentaires gratuitement ? Partagez votre avis sur le sujet

Sondage : quelles sont les pires erreurs � �viter dans le cadre d'un entretien d'embauche dans la fili�re informatique ? Partagez vos avis

Sondage : quels sont les langages de programmation que vous d�testez le plus en 2019 ? Pourquoi ? Partagez vos avis
Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !

Avatar de Matthieu Vergne
Expert �minent https://www.developpez.com
Le 28/09/2020 � 20:01
Des conseils un peu en bazar, tout de m�me. Certains sont fonction des habitudes de chacun (livre vs. recherches internet), d'autres sont sp�cifiques � un contexte (bureau vs. perso), m�thodes (refacto, tests), g�n�ralit�s (exp�rimenter, enseigner).

Seuls conseils g�n�raux � prodiguer : pratiquez et trouvez ce qui vous pla�t !

Pratiquer permet d'une part de renforcer l'exp�rience et donc gagner en rapidit�, et d'autre part de d�couvrir de nouvelles choses et donc d'augmenter les chances de trouver des choses qui plaisent. Une fois qu'on a trouv� ce qui nous pla�t il faut se focaliser dessus et pratiquer, encore et toujours, en essayant de se mettre dans une situation qui permette de le faire et d'obtenir des retours constructifs sur ce qu'on fait. D�s lors qu'on a la motivation pour s'am�liorer, la situation qui le permet, et qu'on pratique dans ce sens, le reste vient tout seul.

Dans la liste, les deux seuls que j'appuie clairement sont donc avoir de l'exp�rience et enseigner ce qu'on apprend (plus g�n�ralement pr�senter sa fa�on de faire). Peu importe le contexte, pratiquer et partager ses connaissances permet de se forger. S'associer � d'autres d�vs va dans le m�me sens que l'enseignement, mais �a peut se faire de bien des mani�res (pair/group programming au bureau, contributions aux projets open source, projets persos avec des connaissances) et il y a des tas de raisons pour que �a ne marche pas (personnes laxistes, tendance � suivre l'avis du groupe, etc.). Il ne faut pas s'associer � des d�veloppeurs en vue d'obtenir des connaissances (�a arrive souvent mais pas forc�ment tout seul), mais plut�t dans l'objectif de proposer des solutions nous-m�me qui pourront �tre challeng�s par les autres. A contrario, l'exp�riment� profitera plus de ce genre de pratique en laissant les autres proposer des solutions et les challenger en posant les questions qui vont bien.

Lire des livres, c'est bien quand on a ce qu'il faut pour en avoir et pour en lire. Mais l'important est surtout de savoir chercher l'information, et internet suffit bien. C'est d'ailleurs le plus � m�me de recommander des livres le cas �ch�ant, mais sinon partir d'une page Wikip�dia et parcourir les liens, y compris les liens externes amenant � des sites sp�cialis�s, �a aide d�j� beaucoup. Les livres sont une source d'information parmi d'autres, compl�mentaires.

Apprendre le langage en profondeur, � prendre avec des pincettes. Je n'utilise pas qu'un seul langage dans mon boulot, et je ne vais certainement pas tous les creuser � 100%. Par contre, quand on cherche � r�soudre un probl�me, il est important de r�fl�chir par soi-m�me � comment on le r�soudrait avec ce qu'on conna�t d�j� (et � accepter qu'on n'en sait rien si c'est le cas), puis chercher (e.g. demander aux coll�gues, internet) comment d'autres l'ont r�solu dans le langage qui nous int�resse. Il faut ensuite mettre en pratique ce qu'on a trouv� pour confirmer que �a fait bien ce qu'on a lu, jouer avec pour confirmer qu'on a bien compris comment �a fonctionne, et prendre la solution qui satisfait le mieux notre besoin parmi ce qu'on a trouv�.

Cette notion de challenger ce qu'on a compris et ce qu'on a fait est � la base de l'am�lioration. C'est en confrontant nos connaissances � des cas pratiques qu'on les confirme ou les corrige, augmentant ainsi leur quantit� et leur qualit�, et donc notre expertise. Les tests unitaires partagent ce point : il s'agit de confirmer qu'on a bien fait ce qui est attendu. Les pr�server dans une CI permettra de ne pas r�gresser.

S'habituer au refactoring fait partie de l'am�lioration continue. Il est important d'avoir � l'esprit qu'on fait rarement (jamais ?) bien du premier (deuxi�me, troisi�me...) coup. Les m�thodes agiles ne sont pas populaires pour rien : dans un domaine o� on d�couvre les besoins au fur et � mesure, il faut (i) faire au mieux avec les infos du moment et (ii) revenir dessus quand c'est n�cessaire. Le refactoring est cette �tape interm�diaire qui permet de pr�parer (ii), sans quoi le jour o� on revient dessus on ne comprend plus rien et il faut tout refaire.

Donc conclusion : pratiquez et trouvez ce qui vous pla�t !
11  0 
Avatar de VBurel
Membre averti https://www.developpez.com
Le 02/10/2020 � 12:41
pour les d�butants mon conseil, c'est de pratiquer en s'amusant, sur un objectif concret: un programme ou un service que vous utiliserez vraiment.
Le reste viendra tout seul.

Et surtout n'attendez personne, n'attendez pas de faire des �tudes ou d'avoir un diplome, n'attendez pas de savoir ceci ou cela,
n'attendez pas que qqn vienne vous dire que c'est bien ou mal ... juste faites le.
7  0 
Avatar de scandinave
Membre �prouv� https://www.developpez.com
Le 29/09/2020 � 10:25
Personnellement, les trois plus gros probl�mes � r�soudre que je constate chez la majorit� des dev juniors sont :

  • Apprendre � prendre son temps : Trop souvent, le Dev va vouloir r�pondre � un probl�me en copiant la premi�re solution trouv�e sur le net et passer � autre chose. De la m�me mani�re, je vois souvent des dev ne pas lire les stackstrace et juste copier-coller les solutions StackOverflow en boucle en esp�rant que cela va fonctionner. Chaque solution demande d'�tre comprise et test�e pour �tre impl�ment�e correctement. Et cela est formateur. Coper-coller du code, n'apporte rien. Il faut donc prendre le temps de lire en d�tail la documentation du langage/framework pour comprendre comment il marche et quelles sont ses fonctionnalit�s.
  • Apprendre � d�finir ou va quoi : Je vois trop souvent des probl�mes parce que les r�les des composants/classes ne sont pas respect�s. La vue qui fait des appels BDD, un couplage fort entre chaque composant, etc. Savoir qui fait quoi et comment s�parer les composants en r�duisant les adh�rences est pour moi fondamental. Pour cela Uncle Bob en parle tr�s bien.
  • Maitriser son environnement de dev : Je vois trop de d�veloppeurs utilisant leurs IDE comme un bloc note ou ne maitrisant pas git, ne sachant pas la diff�rence entre un rebase ou un merge. Dans le premier cas, c'est une perte de temps. Dans l'autre, un manque d'autonomie pour le travail en �quipe.


Une fois cela maitris�, le Dev est � mon sens quelqu�un d'autonome sur qui je peux me baser pour travailler. Le reste viendra tout seul avec l'exp�rience. Mais si le dev ne maitrise pas cela rapidement ( ~1-2 ans max ), sa carri�re va en prendre un sacr� coup.
7  1 
Avatar de VBurel
Membre averti https://www.developpez.com
Le 06/10/2020 � 7:43
Citation Envoy� par Pierre Fauconnier Voir le message
il me semble que l'on m�lange deux trucs qui n'ont pas grand chose en commun: D�veloppeur de logiciels et programmeur.
Pourrait-on d�finir ce qu'est "un d�veloppeur de logiciels"?
ouaip, Le d�veloppeur est un peu � la filaire informatique ce que l'auteur est � la filaire du livre.

Le d�veloppeur n�a pas besoin d��tre expert en langage ou autres technologie � la mode pour cr�er et d�velopper des logiciels ou des services IT. De m�me qu�un auteur n�a pas besoin d��tre expert en grammaire ou technique d�impression pour imaginer et �crire des histoires.

Ce qui demande de l�exp�rience et un savoir faire solide, c�est ce qu�on appelle � l�industrialisation �, c�est � dire l��criture d�un code source qui a vocation � �tre optimal sur plusieurs axes (charge CPU, fiabilit�, portabilit�, consommation �lectrique etc..) et �tre valid� le plus rapidement possible (le code valid� coute d�ailleurs de plus en plus cher aujourd�hui). Mais quand on commence � industrialiser, le d�veloppement proprement dit est termin�.

Dans les ann�es 90, Le d�veloppeurs pouvait �tre capable de tout faire : le prototype, le pr�-produit, et le produit. Aujourd�hui c�est un profile assez rare du fait que toute les phases de construction d�un logiciel se sont complexifi�s, de la conception � la mise en ligne / en prod, et du fait que les attentes utilisateurs sont bien plus difficiles � satisfaire qu�il y a 20 ans.
4  0 
Avatar de
https://www.developpez.com
Le 29/09/2020 � 13:55
Cr�er un programme et le maintenir pendant au moins quelques mois en l'am�liorant me semble �tre un bon conseil pour d�buter, et peu importe le programme que ce soit un driver d'imprimante ou un front web. L'id�e c'est de d�couvrir le cycle de vie d'un programme par l'exp�rience : design, architecture, impl�mentation, versions, tests, etc.

Devoir mettre � jour un programme met en lumi�re l'utilit� des tests et de l'importance d'un code bien organis� et pas inutilement complexe. Quel d�butant n'est pas tomb� dans le pi�ge d'une solution �l�gante et super dynamique qui g�re tous les cas, sauf celui qui doit �tre impl�ment� dans 6 mois parce qu'on y avait pas pens�, et qu'il faut changer une grosse partie du code ?
3  0 
Avatar de pmithrandir
Expert �minent https://www.developpez.com
Le 04/10/2020 � 20:18
Le plus important, comprendre que l on ne confiera jamais un probleme neuf a un junior, donc des solutions existent d�j�. Le bon dev, quelque soit son niveau cva estimer plusieurs solutions et choisir celle qui est la plus pertinente.

Un dev � qui on demande d ouvrir un serveur ftp et qui commence � le coder n � pas sa place dans mon �quipe. Qu il y arrive ou pas.
Celui qui me d�veloppe depuis 0 des lib python de base non plus.

Bref, ayons tous dans notre m�tier l humilit� de reconna�tre que 99% des probl�mes ont �t� r�solu pas des gens plus intelligent que nous et essayons de comprendre les solutions possible et comment les d�partager. Sans pr�tendre faire mieux.
3  0 
Avatar de Matthieu Vergne
Expert �minent https://www.developpez.com
Le 05/10/2020 � 19:52
Citation Envoy� par pmithrandir Voir le message
J'ai bien dit, lib de base.

[...]

De mon cot�, peu m'importe que les mecs de mon �quipe comprennent 100% du code des lib que l'on utilise. De toute mani�re, personne dan la boite ne maintiendra le code qu'ils auront pondu 5 ans plus tot...
Si ton conseil est de faire du code jetable sur lequel personne ne reviendra, fallait le dire tout de suite. Du coup je comprends mieux le focus.

Sinon, les libs de base changent selon le contexte et le temps. Dans une bo�te, on sera parti sur tel langage avec telles libs, dans une autre le m�me langage mais avec d'autres libs, et tu auras l'air bien con � ma�triser cette troisi�me lib que tu pensais �tre une lib de base mais qui n'int�resse pas les bo�tes qui t'embauchent.

Je suis pas convaincu qu'un d�butant ait pour premier objectif de se faire un panel de libs. En tout cas, ceux qui passent leur temps � se mettre � jour sur les nouvelles lib qui font la hype ont moins de temps pour ma�triser les bases du d�v (commun � tous les projets), ce que je trouve bien dommage.

Citation Envoy� par MarieKisSlaJoue Voir le message
Sinon j�ai r�pondu autre, pour moi le seul premier conseil et de ne pas rejoindre une SSII.
Pourtant, si on tombe bien, c'est un bon moyen de s'assurer un job de technique sans tomber dans le travers de l'"upgrade" en chef de projet. Quand tu as fini ta mission, tu passes � une autre, ce qui te permet de toucher � diverses technos, dans diff�rents contextes, et donc de pratiquer beaucoup plus.

Et puis �a n'existe plus les SSII. On parle d'ESN maintenant.
3  0 
Avatar de MarieKisSlaJoue
Membre expert https://www.developpez.com
Le 06/10/2020 � 8:58
Citation Envoy� par Matthieu Vergne Voir le message

Pourtant, si on tombe bien, c'est un bon moyen de s'assurer un job de technique sans tomber dans le travers de l'"upgrade" en chef de projet. Quand tu as fini ta mission, tu passes � une autre, ce qui te permet de toucher � diverses technos, dans diff�rents contextes, et donc de pratiquer beaucoup plus.

Et puis �a n'existe plus les SSII. On parle d'ESN maintenant.
Si on tombe bien, l� est tout le probl�me, pour 1 bonne c'est 10 pourris. On peut toucher un plein de techno hors SSII. D'ailleurs il n'est pas dans l'int�r�t d'une SSII de te laisser toucher � des technos que tu ne connais pas, car ils sont l� pour vendre des experts, or on ne peut pas �tre expert sans avoir pratiqu� de fa�on r�currente une techno.
Le seul endroit ou on peut �tre expert en quelque chose en ayant juste eux trois jour de formation et lu une doc.... c'est en SSII, mais on l'est juste au moment de la facturation.

Il aurait des tas de chose � reprocher encore au SSII qui montre que ce n'est pas un bon endroit pour �voluer et devenir meilleurs, au pif, les SSII on la facheusse tendance de recruter n'importe qui, m�me le plus mauvais. Car au mieux il sera quand m�me plac� sur un truc pourri mais sera factur�, au pire il ne passera pas la p�riode d'essai.

Or pour un junior, �tre entour� de vrai expert et bon d�veloppeur est important, les SSII ne sont pas l� pour attirer et garder les bons d�veloppeurs.

Bref, les SSII devraient tous simplement dispara�tre du paysage informatique, �a serait mieux pour le monde de l'IT en g�n�ral.

Et bien s�r je continue de dire SSII, car je n'ai aucune consid�ration pour ces structures et que changer de nom, ne change pas le fond.
3  0 
Avatar de
https://www.developpez.com
Le 28/09/2020 � 22:55
Les sites web il faut savoir faire le tri, il y a �norm�ment d'articles type medium ou quora ou les mecs te font un historique de l'informatique pour conclure un truc bateau et en effet c'est une perte de temps. Par contre il y a des p�pites, personnellement j'ai �norm�ment appris en lisant le blog de Martin Fowler que je recommande chaudement (pour les anglophones).
2  0 
Avatar de epsilon68
Membre exp�riment� https://www.developpez.com
Le 04/10/2020 � 15:17
pour moi, seulement 2 conseils :
- aimer ce qu'on fait
- comprendre en profondeur chaque ligne qu'on ecrit
2  0