Je suis développeur de logiciels (à temps plein ou à temps partiel) depuis près de 3 ans. J'ai toujours été du genre à avoir le don de prendre les devants et de fournir à l'organisation le moyen de faire avancer les choses. Depuis que je dirigeais mon projet de design senior à l'université, je sentais que c'était ma vraie vocation, ne pas rester assis derrière un codage de bureau. Maintenant, je sais que je dois comprendre comment coder pour que les autres développeurs me respectent vraiment. De plus, j'aime vraiment coder. Je travaille sur de nombreux projets parallèles à la maison en dehors du travail, suis au fait des meilleures pratiques de codage et essaie de continuer à approfondir ma connaissance du domaine.
Ma question principale est la suivante: quel type de choses ou de possibilités devrais-je rechercher qui m'aidera à faire évoluer ma carrière vers un rôle de gestion plutôt que de codage. Comme je l’ai dit, j’adore coder, mais j’aimerais encore plus pouvoir concevoir des choses à un niveau élevé et organiser l’équipe de manière à faire avancer les choses et à suivre leurs progrès tout en aidant sur le plan technique. décisions ici et là. Ce genre de choses me rend vraiment heureux, au lieu de rester assis derrière un bureau à coder toute la journée.
Évidemment, un de mes rêves principaux est de créer un logiciel à moi seul qui pourrait éventuellement exploser et le rendre gros, puis de commencer à embaucher une équipe et de tout faire moi-même, mais je sens que les chances que cela se produise sont bien pires. que de modifier un peu mon cheminement de carrière pour arriver là où je veux aller. Je sens que je peux obtenir la même satisfaction en le faisant pour un employeur plutôt que pour moi-même. Même si je n'avais pas ressenti cela auparavant, je pense que c'est principalement parce que je ne fais pas ce que je veux VRAIMENT faire.
Des conseils, des indications ou des choses à garder à l'esprit? Quelqu'un qui a fait cela, et si oui, comment l'avez-vous fait?
la source
Réponses:
Passer d’un rôle de développement de logiciel à un rôle de direction ou de direction prend du temps. Je me suis spécialisé en génie logiciel, en mettant l'accent sur les processus de génie logiciel, et minored en gestion des affaires et de la communication. Même avec cette expérience académique sur la façon de gérer des projets logiciels, comment recruter et embaucher, comment diriger des équipes et comment communiquer avec des groupes verbalement et par écrit, j'ai constaté que la plupart des rôles de gestion et de leadership, en particulier dans le secteur que je recherchais pour travailler, il faut au moins cinq ans d'expérience en génie logiciel (j'en ai eu deux, y compris les stages et les stages).
Entre temps, j'ai simplement poursuivi mes études sur des sujets liés à la gestion de projet.
La première chose que je recommanderais est de devenir un bon communicateur et négociateur. Apprenez à avoir les conversations qui comptent. Même en tant que développeur, des décisions doivent être prises avec les collègues, les clients et les utilisateurs. Parfois, vous devez avoir des conversations difficiles et parvenir à un accord avantageux pour tout le monde. Ce n'est pas un objectif facile, mais le livre Conversations difficiles: comment discuter de ce qui compte le plus est un de ceux que je recommanderais qui couvre ce sujet. Il y en a d'autres, comme Passer au-dessus de Non et se rendre à Oui: négocier un accord sans céder, cela serait également utile. Celles-ci sont pertinentes quelle que soit votre position.
Sur le plan plus technique, il est important de comprendre le cycle de vie du développement logiciel pour diriger et gérer des équipes logicielles. Les postes de direction signifient probablement que vous êtes impliqué dans l’ingénierie des exigences, l’architecture logicielle, la conception, la mise en œuvre, les tests, l’assurance qualité et les tâches de maintenance. Bien que vous ne puissiez être un expert du tout, un responsable ou un dirigeant doit au moins les comprendre tous. En tant que développeur, vous effectuez probablement l'essentiel de votre travail de conception, de mise en œuvre et de maintenance, avec quelques tests également. Je recommanderais beaucoup des ouvrages tels que Software Requirements (et son compagnon, En savoir plus sur les exigences logicielles ), Architecture logicielle en pratique (bien que mon université soit passée àArchitecture des systèmes logiciels: Travailler avec les parties prenantes Utilisation de points de vue et de perspectives après avoir suivi le cours d'architecture (il m'a été recommandé), et Métriques et modèles en ingénierie de la qualité logicielle .
Du point de vue de la gestion de projet, vous pouvez en apprendre davantage sur les modèles de processus et les méthodologies. Il existe des méthodes agiles, telles que Scrum et Extreme Programming, et des méthodes planifiées, telles que Waterfall et Spiral. Il existe également des cadres méthodologiques, tels que CMMI et le processus logiciel personnel / processus logiciel d'équipe. Celles qui vous intéressent dépendent de votre lieu de travail, du secteur et de la société. Il existe un certain nombre de livres sur diverses méthodologies et structures, mais je recommanderais vivement Rapid Development: Taming Wild Software Schedules pour la gestion de l’ingénierie logicielle générale et les processus d’ingénierie logicielle.
Si vous souhaitez poursuivre vos études, vous pouvez utiliser une piste de gestion technique plutôt qu'une piste de gestion d'entreprise. Si vous souhaitez occuper un poste de gestion technique, consultez les programmes de génie logiciel, de gestion de logiciel et de gestion d'ingénierie. Pour plus de filière de gestion d'entreprise, vous pouvez envisager des programmes de MBA, de gestion d'entreprise ou certains programmes de gestion d'ingénierie comportant une forte composante économique ou financière.
la source
Ces autres réponses sont excellentes, mais je vais ajouter 0,02 $. Je suis passée de développeur junior dans mon entreprise actuelle à celle de développeur senior, puis de chef d'équipe et maintenant d'architecte. Cela a pris plusieurs années. Chaque fois que je recevais une promotion, c’était parce que je travaillais déjà sur certains aspects du travail et que la direction ne faisait que le reconnaître et me donner le titre approprié. Donc, mon conseil est de ne pas attendre pour être informé que vous êtes un responsable technique ou un responsable. Il suffit de commencer à assumer les responsabilités incombant aux personnes occupant ces rôles. Après quelques mois ou un an, vous constaterez que vous faites essentiellement le travail que vous ciblez, et vous pouvez le signaler à votre direction si elle ne l’a pas remarqué.
la source
Je ne tenterai pas de fournir une réponse complète car Thomas Owens a déjà énuméré de très bons conseils (+1 à cela).
Je voulais juste ajouter quelques conseils / suggestions:
... et maintenant je vais passer en revue les liens que Thomas a postés
la source
Personnellement, je n'ai aucune envie de quitter mon poste actuel pour le moment, mais en fonction de l'état du cycle de publication, je consacre entre 10% et presque 100% de mon temps à des tâches autres que le codage. Si vous êtes patient et observateur, vous pouvez saisir d’autres possibilités que de simplement «coder» votre position actuelle. Par exemple:
Dites à votre responsable que vous êtes intéressé par ce type d'opportunités et si vous assumez bien vos responsabilités actuelles, il dirigera les opportunités vers vous lorsqu'elles se présenteront à vous. L'initiative compte pour beaucoup. La plupart des gestionnaires vous laisseront au moins observer même s'ils ne pensent pas que vous êtes qualifié pour le moment.
la source
Si vous souhaitez occuper un poste de gestion de projet, suivre des cours du soir et travailler en vue de l'obtention de votre MBA ne vous fait absolument pas de mal.
Une autre option consisterait à examiner la certification du corps de connaissances en gestion de projet PMBOK . De nombreux endroits ne vous considéreront pas à moins d'avoir quelques années d'expérience en leadership ou l'un des deux éléments énumérés ci-dessus.
Le PMBOK est un test extrêmement difficile et nécessite beaucoup d’études pour le réussir. Je pense aussi qu'ils ont des exigences en matière de gestion de projet et d'expérience en leadership, juste pour pouvoir passer le test.
la source
Il me semble que vous voudrez peut-être travailler à la gestion de projet. Un grand nombre de postes de gestion de projet au sein du développement logiciel nécessitent également une expérience de la programmation.
Je rechercherais des postes dans lesquels vous pourrez assumer des responsabilités qui vous permettront d'obtenir la gestion / direction que vous désirez. En gravissant les échelons, l'apparence peut être différente selon la façon dont les choses fonctionnent à l'endroit où vous travaillez. Mais même avec un peu d'expérience en matière de codage, des postes de GP sont disponibles si vous avez une expérience en leadership, en gestion.
la source