Être le seul développeur et ses conséquences [fermé]

16

Je suis le seul développeur de mon entreprise. Je fais de la programmation (dans ASP.NET 4.0, jQuery et SQL Server 2008) et je gère la base de données et le serveur web (win 2008 r2).

J'apprécie la liberté de mettre en œuvre ce que j'aime en même temps, je sens que je pourrais tout faire mal. Je n'utilise pas de diagrammes SDLC, pas de méthodes comme Agile, etc. Je gère plusieurs petits projets. J'utilise mon temps libre pour suivre les dernières technologies et apprendre et tester de nouvelles choses. Je fais cela depuis 7 ans.

  1. Ma préoccupation est de savoir à quel point il sera difficile pour moi de m'adapter lorsque je passerai mon travail à une entreprise dans laquelle plus de développeurs sont impliqués dans un projet?
  2. Étant donné que je ne respecte aucun modèle de conception, cela jouerait-il contre moi lorsque je chercherais un emploi ou serais-je ajusté avec un nouveau travail?
  3. D'autres avantages / inconvénients auxquels vous pouvez penser?
bp581
la source

Réponses:

8

Si vous aimez cette situation avec ses libertés, il est probable que vous n'aimerez pas aller n'importe où qui considère cela comme un problème (après avoir franchi cette barrière, je sais que je le fais).

Cela joue en votre faveur sur les emplois futurs parce que vous vous retrouvez avec un ensemble de compétences beaucoup plus large que 90% des gens là-bas.

Le manque de quelqu'un pour discuter des décisions pour / contre est un problème comme Pierre le décrit (+1 pour lui), mais un collègue d'une autre entreprise qui a la patience d'écouter ce que vous essayez de faire et assez d'intérêt pour avoir un une opinion forte remplit bien ce rôle, parfois mieux qu'un collègue parce qu'ils sont d'un point de vue extérieur. (Je fais toujours cela même si je travaille dans un magasin plus grand maintenant, cela m'aide à suivre ce que les autres font pour résoudre des problèmes similaires et voir les problèmes futurs dans la conception)

Le seul autre problème que j'avais quand j'étais le seul développeur était qu'il n'y avait personne pour me soutenir quand le moment était venu de vraiment lutter contre une mauvaise direction de la direction. Votre kilométrage peut varier, mais si vous êtes le seul développeur et que toute la gestion n'est pas technique, il peut devenir très difficile d'expliquer pourquoi vous devriez ou ne devriez pas faire quelque chose et très difficile quand vient le temps de leur dire leur le dernier rêve n'est pas raisonnable d'essayer de mettre en œuvre avec la technologie actuelle.

Facture
la source
5
L'autre problème avec le seul technicien est lorsque vous avez une forte fièvre et des nausées sévères et que le serveur Web tombe en panne. On espère qu'ils ont un plan de secours autre que d'apporter un ordinateur portable à l'hôpital si vous êtes renversé par un bus.
David Thornley
1
C'est un problème, mais c'est souvent un problème dans les entreprises de taille importante aussi une fois que leurs ressources sont trop étalées.
Projet de loi
35

Quand tu es seul, personne ne peut te dire que tu as tort

Vous risquez donc de vous tromper de chemin, pendant un certain temps, sans même le savoir.

Pour cette raison, je vous encourage à trouver quelqu'un avec qui parler du développement. Non seulement en ligne, mais en réalité, physiquement.

Pas besoin de quitter votre entreprise. Être le seul a aussi des avantages.


la source
3
C'est un conseil fantastique ...
webdad3
4
Le mot clé est "peut". Si un développeur fait un effort consciencieux pour rester informé sur les différentes technologies et méthodologies, et surtout sur les données qui les entourent, alors il n'y a aucune raison de croire qu'il ferait un travail inférieur à la normale. Bien sûr, les développeurs qui travaillent dans le vide et s'en tiennent à ce qu'ils savent se rendent probablement de plus en plus obsolètes.
Aaronaught
D'accord avec Pierre ici, deux développeurs peuvent produire [code ou db ou autre] bien mieux que l'un ou l'autre ne pourrait le faire individuellement]. Les avantages augmentent avec plus de développeurs, mais le rendement diminue.
jamesbtate
5

J'ai travaillé comme le seul développeur d'une entreprise qui connaissait une technologie spécifique, comme le seul qui a fait le type de programmation que j'ai fait, et comme un entrepreneur dans des situations similaires. (J'ai également travaillé en équipe avec d'autres développeurs qui connaissaient différents outils et avec d'autres développeurs qui ont fait exactement ce que j'ai fait.)

Avantages d'être le seul programmeur

  • Comme vous l'avez mentionné, vous avez souvent la liberté d'utiliser les outils ou les langues que vous pensez pouvoir apprendre. Il n'est pas toujours nécessaire de présenter un dossier à vos pairs pour obtenir la permission de travailler avec New Technology X pendant que tout le monde utilise la technologie actuelle Y.
  • Vous avez plus de responsabilités. Essentiellement, vous travaillez à la fois comme chef de projet et développeur sur chacun de vos projets, et avec votre capacité à identifier et à mettre en œuvre de nouvelles choses, vous êtes également le chef de département. (Ne le dites pas aux vendeurs. Ils adorent parler aux décideurs et vous n'avez pas le temps de leur parler.)
  • Il n'est pas question de crédit pour le travail qui est fait: c'est évidemment vous et vous seul qui avez fait bouger les choses.
  • Vous pouvez passer plus de temps à travailler sur vos propres projets et moins de temps à des réunions sur des projets qui sont essentiellement ceux de quelqu'un d'autre (mais vous êtes là en tant que personne de soutien, sauvegarde possible, etc.)

Les inconvénients

  • Comme David le souligne dans un commentaire, vous êtes le seul développeur, donc aucun développement ne se fait sans vous. Une fois, je me suis vanté auprès de mon frère que j'étais "le gars" sur un projet particulier au travail. Il a décrit avec précision ma situation pour moi: j'étais pris au piège. Je ne pouvais pas avancer dans cette entreprise car je ne pourrais jamais me débarrasser de ce projet. (Il avait raison aussi. Il a fallu plusieurs mois de formation sur une longue période de temps avant de pouvoir le remettre à quelqu'un qui était même un peu capable de le supporter.) Il peut être difficile de prendre de vraies vacances quand rien ne peut être fait sans toi.
  • Comme le souligne Pierre, il n'y a personne sur place pour faire des revues de code ou partager les meilleures pratiques avec vous. Vous pouvez tendre la main à vos pairs de différentes manières, mais rien n'est aussi efficace que de taper un collègue sur l'épaule et lui demander de regarder votre code pendant 5 à 10 minutes.
  • Dans la même veine, vous pourriez avoir de la difficulté à acquérir de l'expérience avec de nouveaux outils. La formation hors site peut être aussi rare que les vacances: quelqu'un se plaindra que l'entreprise ne peut pas se permettre de vous arrêter de regarder Language 3.0 pendant une semaine alors qu'il n'y a personne pour garder les applications Language 2.0 en fonctionnement.
  • L'évolution de carrière peut être extrêmement difficile à gérer. Vous ne pouvez pas avoir un poste pour lequel vous pouvez vous efforcer, même un changement de titre peut être difficile à obtenir, et les revues de fin d'année n'ont pas de cadre de référence, donc un excellent travail peut passer largement inaperçu si pour aucun autre raison que personne ne comprend vraiment ce que vous faites.

Si vous décidez de déménager dans une entreprise où vous travailleriez au sein d'une équipe de programmeurs, je ne pense pas que votre expérience en solo soit susceptible de vous blesser beaucoup. Votre manque d'expérience avec les modèles de conception n'est pas nécessairement aussi important que votre volonté de les apprendre. (Il peut y avoir des situations où vous interviewez un candidat ayant des antécédents similaires et une expérience des méthodes utilisées par l'entreprise, mais cela est vrai pour pratiquement tout le monde.)

Dans le même ordre d'idées, votre manque d'expérience au sein d'une équipe est contrebalancé par votre capacité à porter de nombreux chapeaux. Certains développeurs sont de bons joueurs d'équipe mais ne développent jamais la capacité de gérer un projet; vous avez déjà montré que vous pouvez le faire.

Je recommanderais que lorsque vous êtes un développeur solo, vous devriez passer du temps à lire sur les outils et les techniques que des développeurs similaires utilisent, donc même si vous ne les utilisez pas vous-même, vous savez qu'ils existent et vous pouvez vous référer à eux lors d'une interview, ne serait-ce que pour dire "Oui, j'ai lu un peu sur les frameworks MVC, mais je ne les ai pas utilisés moi-même." Faites ce que vous pouvez pour rester en contact avec d'autres développeurs: allez à des réunions de groupes d'utilisateurs locaux, lisez et commentez des blogs (ou gardez l'un des vôtres), essayez de vous rendre de temps en temps à des ateliers, regardez des webinaires, etc. (Vous pouvez également envisager des sites comme lynda.com pour la formation interne: ce n'est pas aussi bon qu'une conférence d'une semaine ailleurs, mais vous pouvez regarder les vidéos à votre propre rythme et ne pas mettre tout le monde en mode panique parce que vous êtes en dehors du bureau.)

Dave DuPlantis
la source
2

Vos compétences en programmation se détériorent chaque jour dans ce type de situation. Le codage est la partie la plus simple du travail d'un programmeur.

La communication / travailler avec une équipe pour implémenter une solution est infiniment plus difficile. Ces compétences ne peuvent être affinées qu'en le faisant. De plus, lorsque vous faites partie d'une équipe, la plupart des membres essaient de suivre les technologies tout comme vous, donc les chances pour que l'équipe trouve quelque chose de grand sont d'autant plus grandes.

Veuillez ne pas considérer cela comme une attaque contre vous personnellement. Je suis aussi un seul programmeur, mais je cherche une équipe dès que possible.

Mat
la source
Développer seul signifie que vous passez à côté du «programmeur en carton», qui est souvent un outil utile. Fondamentalement, avoir quelqu'un d'autre pour expliquer un problème signifie souvent que la solution se présente à mi-explication (avant que l'autre côté ait la possibilité de faire des suggestions)
Phil Lello
0

Je suis d'accord avec @Pierre 303 répondre à 100%. J'ajouterais également que vous devez vous charger de vous enseigner les bonnes pratiques. Peut-être qu'une certification serait également utile.

Oui, si vous changez d'emploi, ce sera difficile ... Non seulement s'ils ont des processus auxquels vous n'êtes pas habitué, mais aussi avec des personnalités. Les programmeurs sont notoirement compétitifs. Vous n'avez pas à vous en occuper maintenant. Mais vous le ferez lorsque les programmeurs> = 1

On dirait que vous avez un bon concert ... Je m'y accrocherais.

Juste mes 2 cents.

webdad3
la source
0

Je pense que vous manquez le fait que la plupart des normes / pratiques que vous trouverez dans une grande maison de développement peuvent être appliquées facilement à votre situation. Faire ces ajustements à une équipe d'une personne a déjà été traité sur SO. Recherchez un peu de conseils:

Comment appliquer l'agile à des projets personnels?

Jeff Swensen
la source
Y a-t-il un lien pour trouver l'exemple de projet complate en utilisant toutes les méthodes comme SDLC, Agile ... etc?
bp581
Ne vous attardez pas trop sur des mots comme «Agile» et «Scrum»; leurs définitions juste formelles des méthodes que les équipes efficaces utilisaient déjà. Cependant, ils sont utiles si vous n'avez pas eu la chance de travailler dans un endroit où il fait naturellement partie de l'environnement.
Phil Lello du