Du bureau du brillant cinglé #1:
« La différence entre le développeur de logiciels et un ingénieur logiciel est la même que la différence entre big et large.” — Inconnu.
Ce que vous allez lire tourne principalement autour de mes pensées personnelles, de mes déductions et de mon imagination décalée.
Si vous avez des sentiments différents, ajoutez-les dans la section des commentaires et contestons!
Donc, le sujet d’aujourd’hui…
Personnellement, ça me fait chier. Chaque fois que je vois un article sur ce sujet, mon compte bancaire émotionnel est volé. Ils sont tous sur le référencement. Mots-clés inappropriés pressés en petites phrases juste pour obtenir de meilleurs classements. Aucune intention de divertir ou d’éclairer le lecteur. Parfois, de tels articles peuvent même être carrément faux.
Et même si le but de cet article de blog peut être de générer du trafic, j’ai essayé d’en faire une diatribe plus significative qu’un essai académique sans vie.
Alors, voyons comment vous vous sentez au moment où vous avez fini de lire cet article.
Sans plus tarder:
Comme il n’y a pas d’interprétations appropriées des deux termes, beaucoup de gens les utilisent de manière interchangeable.
Cependant, certaines entreprises considèrent ces termes comme des titres de poste.
La tendance générale « programmeur-développeur-ingénieur” va dans le sens suivant:
- Un programmeur est quelqu’un qui sait coder, comprend les algorithmes et peut suivre les instructions. Pourtant, cela ne va pas plus loin en ce qui concerne les responsabilités.
- Un développeur est quelqu’un de supérieur au programmeur. À l’exception du codage, ils s’occupent également de la conception, de l’architecture et de la documentation technique du composant logiciel qu’ils construisent. Ils pourraient être appelés leaders, mais pas nécessairement.
- Enfin, un ingénieur implique que vous êtes la vraie affaire. Vous êtes diplômé, avez des connaissances techniques et de préférence de l’expérience… et vous êtes capable de concevoir un système logiciel (une combinaison de composants logiciels que vos pairs, les programmeurs, ont construits). Tu es comme un surveillant. Vous pouvez voir la situation dans son ensemble. Et il est de votre responsabilité d’expliquer clairement cette « image” à votre équipe.
« En règle générale, les ingénieurs logiciels joueront le rôle de chefs d’équipe, étant à l’avant dans les relations avec les clients et prenant en charge différents projets pour l’équipe travaillant à l’arrière. » – Talha Waseem, Rédactrice de contenu technique chez InvoZone.
Au fait, cela peut également dépendre du pays dans lequel vous êtes basé. Par exemple, en France, vous ne pouvez vous appeler ingénieur que si vous êtes diplômé d’une école d’ingénieurs reconnue par la Commission des Titres d’Ingénieur.
» Au Canada, le terme » ingénieur ” est réservé à ceux qui sont certifiés par une association provinciale. Ainsi, tout le monde ne peut pas se dire « ingénieur” au Canada. » – Briana Brownell, fondatrice et PDG de PureStrategy.
D’autres spéculent que ce ne sont peut-être que des termes faits dans un but de marketing. Peut-être que les entreprises veulent que leurs listes d’emploi et leurs descriptions de travail aient l’air cool et attirent plus de candidats. Brillante !
D’accord, plongeons profondément.
Voici quelques differences
- Différences clés entre un ingénieur logiciel et un développeur
- Qu’est-ce qu’un ingénieur logiciel?
- D’accord, alors qu’est-ce qu’un développeur de logiciels alors?
- Que fait un ingénieur logiciel
- Que fait un développeur de logiciels
- Salaires des ingénieurs/développeurs logiciels
- Ingénieur logiciel vs développeur logiciel – compétences, rôles et responsabilités
- Formation en tant qu’ingénieur/ développeur logiciel
- La vie d’un développeur logiciel vs ingénieur logiciel
Différences clés entre un ingénieur logiciel et un développeur
Selon Felim O’Donnell, directeur des opérations chez Liberty IT, les développeurs travaillent spécifiquement sur la livraison de logiciels dans des paramètres serrés. Ils n’ont pas besoin de voir toute l’image. Les développeurs doivent seulement se concentrer sur la tâche qui leur a été assignée par les ingénieurs logiciels.
D’un autre côté, dit O’Donnell, un ingénieur logiciel est quelqu’un qui a une vue de 50 000 pieds sur le logiciel développé. Ils communiquent avec d’autres parties prenantes pour clarifier les exigences du projet et cherchent constamment des moyens d’optimiser le processus de travail. Ils se demandent souvent: « Existe—t-il une meilleure façon de le faire? »
Donc, fondamentalement, ce qui fait toute la différence entre un développeur et un ingénieur, c’est l’état d’esprit avec lequel ils abordent leur travail et leur appétit d’apprendre.
« À moins que vous ne travailliez dans un endroit comme Google et que vous poursuiviez cette promotion prestigieuse de « Ingénieur Logiciel de niveau 4 » à « Ingénieur Logiciel de niveau 5″, la version du titre de génie logiciel que quelqu’un utilise principalement indique simplement comment il pense du rôle lui-même. »- Justin Pincar Fondateur & CTO de Réalisable.
Honnêtement, être appelé ingénieur logiciel ou développeur, c’est bien. Ce qui ne va pas, c’est d’être appelé programmeur. Les gens qui nous appellent des programmeurs sont généralement des personnes Luddites petites et dépourvues de connaissances informatiques. Dégoûtant. Comment osent-ils dare
Je veux dire, vous passez toutes ces années à obtenir votre diplôme de CS, à travailler comme ingénieur logiciel d’élite (ou développeur), pour finir par être appelé un simple « programmeur ». »
Allez, la programmation était quelque chose que je faisais dans ma chambre à 03h00 du matin à l’âge de 15 ans.
» Génie logiciel » est ma carrière, chap. Un peu comme appeler un comptable un préparateur fiscal ou votre père par son prénom.
Oh, et au fait, vous n’êtes pas un vrai développeur de logiciels si vous ne travaillez pas sous Linux et que vous avez un clavier mécanique rainbow light de Razer.
« Pourquoi ai-je besoin de ça?— – Je t’entends crier.
Eh bien, l’apparence de votre configuration de travail définit la qualité de votre travail. Si tu ne sais pas, maintenant tu sais.
« Monsieur, c’est à Wendy.”
Je sais, je sais.
Je m’égare.
Regardons les faits
Qu’est-ce qu’un ingénieur logiciel?
Par définition, un ingénieur est une personne qui conçoit, construit ou entretient des moteurs, des machines ou des structures.
Wikipedia décrit le terme « ingénieur logiciel » comme quelqu’un qui applique les principes du génie logiciel à la conception, au développement, à la maintenance, aux tests et à l’évaluation de logiciels informatiques.
Touche à tous les métiers.
« Je préfère me dire ingénieur logiciel car cela semble plus solide et professionnel. » – Gene Mal, CTO chez Static Jobs
D’accord, alors qu’est-ce qu’un développeur de logiciels alors?
Par définition, un développeur de logiciels est quelqu’un qui développe quelque chose — assez juste.
Que signifie alors « développer » ?
Développer, par définition, des moyens de grandir ou de faire grandir et devenir plus mature, avancé ou élaboré.
D’accord.
Voyons ce que Wikipédia pense des développeurs de logiciels :
Un développeur de logiciels est une personne qui crée des logiciels. L’expression « développement logiciel » signifie souvent plus que simplement concevoir ou écrire le logiciel, cela signifie généralement quelqu’un qui gère le projet ou ne fait que les choses principales. La plupart des développeurs de logiciels sont toujours dirigés par un ingénieur logiciel principal qui guide le projet.
Bon sang, même Wikipedia est biaisé.
D’accord, discutons un peu des programmeurs maintenant.
Mes deux cents:
Si quelqu’un m’appelle programmeur, je m’associe à… un péon lazy un péon paresseux in un péon paresseux dans World of Warcraft.
Je pense que les programmeurs peuvent aussi bien être appelés développeurs juniors. Leur travail consiste à suivre le plan qui a été développé par les développeurs seniors ou le responsable technique.
Un fait intéressant: Les programmeurs passent généralement 90% de leur temps dans leur éditeur de code préféré ou sur le débordement de pile à la recherche de correctifs. Les 10% restants consacrent leur temps à jouer à Fortnite.
Que fait un ingénieur logiciel
En tant que personne considérée comme ayant un diplôme en ingénierie et une expérience, les ingénieurs logiciels peuvent incarner le rôle d’un développeur logiciel senior (ou d’un chef d’équipe technique), ce qui signifie qu’ils assument des responsabilités plus élevées que le programmeur moyen.
Certains étudiants de premier cycle considèrent l’ingénierie comme un travail d’architecture – la planification d’une solution logicielle. Le développement de logiciels, d’autre part, consiste davantage à bricoler des choses et à essayer de nouvelles choses.
« Dans nos programmes d’apprentissage, nous utilisons Software Engineer pour décrire les apprentis qui travailleront sur des problèmes algorithmiques plus difficiles et des solutions métier plus axées sur l’entreprise. Nos développeurs de logiciels travaillent sur une gamme plus petite d’applications professionnelles, d’applications mobiles et de sites Web qui nécessitent une expérience utilisateur avec un degré de finition plus élevé. »- Mike Roberts, PDG de la San Diego Code School
Que fait un développeur de logiciels
Selon la définition de Wikipedia, il semble que les développeurs de logiciels aient des responsabilités assez similaires aux ingénieurs logiciels. Pourtant, le titre d’ingénieur se classe au-dessus de celui de développeur de logiciels.
Voici ce qui me semble juste:
Un développeur de logiciels est quelqu’un à qui on donne des instructions spécifiques à suivre, mais avec qui il a la liberté et la créativité pour adopter l’approche qu’il juge la plus appropriée.
Ils ne sont en aucun cas du type ”monkey see, monkey do », mais ils suivent tout de même un ensemble d’instructions claires. Parfois, les développeurs de logiciels peuvent également être considérés comme des développeurs / ingénieurs complets.
Salaires des ingénieurs/développeurs logiciels
Comme indiqué précédemment, les termes ingénieur logiciel et développeur peuvent être utilisés de manière interchangeable.
Seulement pour certaines entreprises ou individus, ils signifient des choses différentes.
Ainsi, lorsque nous examinons les salaires, nous pouvons considérer l’un comme développeur junior et l’autre comme développeur senior ou chef d’équipe technique.
Disons, par exemple, que les programmeurs ont tendance à être considérés comme des développeurs d’entrée de gamme. Par conséquent, nous pouvons les appeler des développeurs juniors.
Comme les développeurs de logiciels se classent au-dessus des programmeurs, nous pouvons les appeler des développeurs seniors.
Et parce que les ingénieurs logiciels ont le rôle d’un superviseur (selon Wikipedia), faisant plus de choses de gestion que de codage, nous pouvons les appeler des leads technologiques.
Selon Glassdoor, le salaire moyen d’un développeur junior s’élève à environ 63 502 $/an.
Le salaire médian d’un développeur principal est d’environ 82 518 $/an.
Et le salaire moyen d’un chef d’équipe technique selon Payscale est d’environ 101 381 $/ an.
Vraiment, l’un des principaux avantages d’être ingénieur logiciel est d’avoir un salaire qui vous place dans le top 1% de la population mondiale en termes de sécurité financière.
Ingénieur logiciel vs développeur logiciel – compétences, rôles et responsabilités
Je pense que les compétences non techniques sont tout aussi importantes que vos compétences techniques. Être un bon communicateur en tant que développeur de logiciels peut faire de vous un contributeur inestimable à l’équipe.
À un moment donné de votre carrière, vous devrez faire face à des tâches que vous auriez du mal à accomplir par vous-même. Être capable d’écouter attentivement les autres membres de l’équipe au lieu de les interrompre et de faire de la programmation par paires — c’est ce qui vous aidera à établir un poste de bon développeur / ingénieur de logiciels.
Voici trois bonnes règles empiriques qui, je crois, vous aideront à devenir un meilleur développeur de logiciels et à vous élever dans le classement.
1. Posez des questions.
2. Jamais multitâche.
3. Si vous voulez que le résultat soit 10, testez 9 et 11. De mauvais résultats peuvent créer une solution solide.
Fondamentalement, quelqu’un qui veut être considéré comme un ingénieur logiciel (développeur principal ou responsable technique) devrait être capable de faire les choses difficiles que tout le monde fait.
Formation en tant qu’ingénieur/ développeur logiciel
La meilleure chose à faire est évidemment d’obtenir un baccalauréat.
C’est du moins ce que la plupart des gens pensent. Si vous avez le temps, l’argent et la patience, vous pourriez aussi bien en broyer un peu plus pour obtenir une maîtrise. Ici, vous pouvez trouver certaines des meilleures écoles d’ingénierie logicielle.
Une grande partie des développeurs professionnels, interrogés par StackOverflow, ont déclaré que leurs études étaient axées sur l’informatique et le génie logiciel.
Un pourcentage plus faible des répondants interrogés a déclaré qu’ils se spécialisaient dans des domaines connexes du génie logiciel tels que la programmation informatique, le génie informatique ou l’informatique.
En ce qui concerne l’importance d’avoir une éducation formelle en tant que développeur de logiciels, la plupart des développeurs disent qu’il n’est pas nécessaire d’en avoir une. Ce qu’ils pensent être beaucoup plus important, c’est la capacité d’apprendre par vous-même et de développer vos connaissances en dehors des heures de classe being en étant autodidacte.
De nombreux développeurs recommandent de suivre des cours en ligne ou des camps de codage. Ceux-ci peuvent certainement vous aider à décrocher votre premier emploi.
Apprendre par le biais de livres et passer des examens en ligne peut également être considéré comme une pratique très efficace pour améliorer vos compétences en codage.
Contribuer à l’open source est également très apprécié des développeurs. Vous pouvez vous rendre sur GitHub et développer votre portefeuille de développeurs de logiciels tout en contribuant à d’autres projets et en élargissant votre champ de connaissances.
Vous pouvez également essayer de rechercher un mentor.
LinkedIn, je crois, est l’endroit idéal pour trouver un mentor en 2020.
Il faut juste se démarquer du type typique à la recherche d’un mentor.
Si vous atterrissez dans la boîte de réception de votre futur mentor avec un message qui va dans le sens de « Hey cher Mike, je vous suis depuis un moment, j’adore vos affaires. Je cherche un mentor. Êtes-vous disponible? » chances il y a de fortes chances que vous n’obteniez pas beaucoup de réponses.
Au lieu de cela, soyez spirituel. Après tout, vous êtes ingénieur logiciel.
Rappelez-vous ceci— « si vous pouvez faire sourire ou rire quelqu’un, vous aurez beaucoup plus de chances de commencer une conversation significative. »
J’ai trouvé un certain succès dans les lignes suivantes:
» Hey Mike. Je voulais me présenter de manière à montrer que j’étais intéressant, intelligent et spirituel — Hélas, j’ai plutôt écrit ce message.”
Puis passez à expliquer pourquoi vous leur envoyez un message.
Bien sûr, cela pourrait ne pas fonctionner dès la première fois. En fait, si cela fonctionne la première fois, j’appelle cela un MIRACLE.
Serrez les dents et continuez à envoyer des messages. Vous finirez par trouver un mentor approprié. Et quand vous le trouverez, assurez-vous de livrer en trop. Soyez prêt à travailler gratuitement pour absorber autant de connaissances et de compétences que possible (pensées personnelles).
Cependant, votre mentor devrait être quelqu’un que vous voulez être dans 10 ans (sinon, à quoi bon avoir un mentor?).
LinkedIn cependant, peut ne pas toujours fonctionner pour votre situation. Dans ce cas, Google up rencontres de développeurs locaux dans votre ville.
Ou allez à des séminaires et n’hésitez pas à dialoguer avec les conférenciers.
Ou peut-être aller dans les universités et y trouver des personnes partageant les mêmes idées. (Cela peut être un peu difficile en raison de la situation actuelle du COVID, mais vous comprenez le problème.)
Une autre option consiste à postuler à des emplois où vous serez entouré de développeurs seniors et capable d’absorber les connaissances quotidiennement.
Assez de ça.
La vie d’un développeur logiciel vs ingénieur logiciel
Tous les types de développeurs sont susceptibles de commencer leur journée avec une tasse de café à la main tout en vérifiant leurs e-mails.
Une fois leurs réunions scrum terminées, ils avancent dans leurs tâches habituelles.
Les programmeurs (ou développeurs juniors) se concentreront probablement sur le codage.
Les développeurs de logiciels (développeurs seniors) peuvent consulter l’équipe pour voir si quelqu’un a des difficultés à accomplir une tâche particulière.
L’ingénieur logiciel (chef d’équipe technique) peut avoir d’autres réunions à assister pour s’assurer que les objectifs et les exigences du projet sont clairement communiqués à l’équipe de développement.
Après le travail, ils traînent avec des amis ou s’assoient sur leurs ordinateurs, font du travail indépendant, regardent des vidéos YouTube, écoutent de la musique ou jouent à Fortnite en essayant de remporter enfin la 1ère place après leur 47e tentative.
Leur routine au coucher consiste à regarder des vidéos d’anime (ce n’est pas le cas de tout le monde, je supposeque lol), à lire des livres de motivation recommandés par Oprah ou à faire défiler les nouvelles des hackers sous leurs yeux.