Suis-je en train de me tromper? Transition d'un analyste d'affaires à un programmeur

11

Emploi actuel: Travailler en tant qu'analyste commercial principal pour une entreprise Big 4, dirigeant une équipe de développeurs et de testeurs travaillant sur un projet de reformatage à grande échelle (4 développeurs onshore, 4 développeurs offshore, plusieurs testeurs onshore / offshore). Travaillez également dans une capacité similaire sur d'autres projets à plus petite échelle.

Étendue de mon rôle: rassembler / rédiger des exigences, créer des spécifications fonctionnelles, concevoir l'interface utilisateur (cartographier essentiellement tous les aspects frontaux du système), travailler en étroite collaboration avec les développeurs pour communiquer / clarifier les exigences et trouver des solutions lorsque nous rencontrons des obstacles. , rédaction de cas de test (et réalisation d'une grande partie des tests), collaboration avec la haute direction et les principales parties prenantes, gestion des bêta-testeurs, création de guides d'utilisation et animation de sessions de formation, fourniture d'un support technique clé.

J'écris également quelques macros dans Excel en utilisant VBA (plusieurs de mes macros sont maintenant utilisées dans toute l'entreprise, donc il y a peut-être environ 1000 personnes qui les utilisent) et j'utilise SQL quotidiennement, à la fois sur les fichiers compacts SQL du programme s'appuie sur nos données SQL Server et toutes les bases de données Access que je crée. Les développeurs estiment que je suis assez bon dans ce rôle parce que je comprends beaucoup de choses sur la programmation, les limitations système inhérentes, la structure des bases de données, etc. il est donc plus facile pour moi de communiquer des idées et de faire des suggestions lorsque nous rencontrons des problèmes.

Ce qui m'intéresse vraiment, c'est le développement de logiciels. Je fais pas mal de programmation en VBA et je veux apprendre le C # depuis un certain temps (l'équipe de développement utilise C # - je passe en revue le code de temps en temps pour moi-même mais je n'ai aucune expérience pratique de son utilisation). Je m'intéresse non seulement au processus commercial, mais aussi au côté technique des choses, donc le rôle traditionnel de BA ne me met pas vraiment en appétit pour le genre de choses que je veux faire. En ce moment, j'ai quelques petits projets que les gestionnaires m'ont donnés et je trouve de nouvelles façons de les faire (comme la création d'applications Access personnalisées), donc il y a un peu ici et là pour me garder intéressé.

Ma question est la suivante: ce que je voudrais faire, c'est créer des applications Excel ou Access personnalisées pour les petites entreprises en tant qu'entreprise indépendante (travailler comme un seul homme; peut-être avoir un entrepreneur occasionnel en fonction de la complexité d'un projet). Cela commencerait évidemment comme une entreprise à temps partiel pendant que j'ai un emploi de jour, mais deviendrait finalement un emploi à temps plein. Suis-je en train de me tromper en pensant que je peux passer d'un programmeur BA / VBA à temps partiel à une entreprise à plein temps (où je commencerais simplement à écrire des applications Excel / Access personnalisées dans VBA)? Ou ce genre de chose n'est-il pas habituellement tenté jusqu'à ce que quelqu'un acquière des années d'expérience en programmation à temps plein? Et existe-t-il même un marché pour ces types d'applications parmi les petites entreprises (et peut-être les moyennes)?

Ryan
la source
3
Vous êtes maintenant probablement au sommet de votre carrière. Vous pouvez faire le même travail avec les mêmes compétences en 5 ans sans lire de livre. Si vous étiez programmeur, vous commencerez par le bas de l'échelle et dans 5 ans, il n'y aura peut-être même pas d'échelle !!! Ne mélangez pas passe-temps et carrière. Bien sûr, vous pourriez être programmeur, mais que font la plupart des programmeurs moyens après 10 ans? Survivre en tant que programmeur sur le marché actuel et progresser est très difficile pour la personne moyenne en raison de la forte concurrence et des défis technologiques continus.
NoChance
Je conviens qu'en tant qu'analyste commercial et homme d'affaires, j'ai la capacité de continuer à gravir les échelons. Le problème est que plus vous montez, généralement plus vous vous éloignez de la technologie et de l'implémentation. J'ai interviewé plusieurs sociétés de conseil pour des postes de conseil en gestion dans le domaine technologique, mais ces types de rôles ne m'intéressent pas vraiment. Mon objectif n'est pas d'être un pur programmeur; en fait, je n'ai aucun intérêt à travailler en tant que développeur pour être embauché en tant qu'employé, mais j'ai plutôt une petite boutique de conseil où je peux aborder à la fois les affaires et le développement.
Ryan
«un petit atelier de consultation où je peux aborder à la fois les affaires et le développement» sonne comme trop de risque pour moi. Vous voyez, le marché regorge de solutions prêtes à l'emploi et de nombreuses entreprises et entrepreneurs qui sont prêts à construire des systèmes pour aussi peu que 200 $ ou moins. Je ne pense pas que «petit» puisse durer longtemps compte tenu de l'économie et du taux de changement rapide de la technologie, sauf si vous avez une stratégie pour attirer des clients et vous concentrer sur une technologie en évolution lente.
NoChance
7
@EmmadKareem, "ne mélangez pas passe-temps et carrière" ... vous voulez dire: assurez-vous que presque toute votre vie éveillée est consacrée à quelque chose que vous n'aimez pas et environ 5% à ce que vous aimez ... sonne comme un grand plan pour le bonheur (mais certes un plan commun)
JoelFan
4
@EmmadKareem, je pense qu'il y a beaucoup de programmeurs qui travaillent depuis 10, 20 ans ou plus et sont satisfaits de leur carrière
JoelFan

Réponses:

15

Non, vous ne vous trompez pas, c'est possible ! L'un des gars ici a fait cela, bien que je ne sache pas comment, mais je pense qu'il a commencé en tant que souscripteur, est devenu BA pour la souscription de logiciels internes, puis est passé d'une manière ou d'une autre au développement à temps plein. Je suppose qu'il avait déjà une formation technique, comme vous.

Cela pourrait mieux fonctionner si vous essayez de le faire d'abord avec votre employeur actuel que de le faire en solo. Vous auriez beaucoup plus de soutien et d'aide. Peut-être parlez-en à votre responsable et demandez-vous comment vous pourriez passer à un rôle de développement au sein de l'organisation, probablement dans la même équipe pour commencer. De cette façon, vous connaissez déjà tout le monde et ils vous connaissent et ce dont vous êtes déjà capable et peuvent vous aider à vous former davantage. Si vous êtes vraiment vraiment très chanceux, votre entreprise aura un budget pour vous envoyer des cours pour rattraper son retard encore plus rapidement.

FrustratedWithFormsDesigner
la source
2
Je voudrais simplement répéter que cela peut certainement être fait - dans un poste précédent, j'ai travaillé avec un entrepreneur qui a fait exactement cela. Il a commencé à faire des demandes d'accès pour une entreprise à partir d'un rôle non-développeur, puis est devenu un consultant externe pour eux, et a finalement tourné dans sa propre entreprise et semble faire très bien.
bunglestink
4

VBA et Access est le bas de l'échelle de programmation. Si j'étais vous, je tirerais plus haut car vous avez des compétences SQL. Pensez à apprendre SQL Server Reporting Services et à créer des rapports ou SSIS et à effectuer le traitement ETL. Ce sont des compétences très demandées en ce moment et vous êtes bien placé pour les faire car elles peuvent être relativement faciles à acquérir dans un environnement d'entreprise, surtout si personne d'autre ne gère actuellement ces rôles pour votre entreprise. Je considère l'expérience des analystes commerciaux comme un énorme avantage pour un rédacteur de rapport.

HLGEM
la source
2

Ça peut être fait. Ce ne sera pas facile, surtout si vous voulez vous perfectionner, car le développement logiciel est une discipline d'ingénierie avec des problèmes et des pièges non évidents que vous devrez apprendre à reconnaître et à éviter. Cela prendra quelques années d'étude sérieuse et de pratique, mais si vous pouvez vous concentrer sur les concepts, vous pouvez certainement devenir programmeur même si votre expérience est différente.

Mason Wheeler
la source
Des cours d'études recommandés? Je suis plutôt un auto-apprenant, donc en ce moment je suis abonné à un logiciel de cours ouvert du MIT (Intro to Comp Sci) qui utilise Python comme langage d'enseignement, principalement pour que je puisse me familiariser avec une théorie de programmation solide et réfléchir davantage lignes d'un programmeur. Continuant également à étendre mes connaissances Excel / Access / VBA grâce à des projets réels au travail.
Ryan
@Ryan Vous vous trompez sur une chose: il n'y a pas de théorie de programmation solide. La programmation est un métier très immature (métier est le bon mot!) - c'est vraiment trop jeune. Les programmeurs lisent beaucoup de livres, mais les révolutions dans ce domaine se produisent au-dessus du mois. Ce qui signifie que l'attitude d'apprentissage est la seule condition préalable :)
K.Steff
1
@Ryan: Je suis surtout autodidacte. Mon "programme d'études" était "ce programme est nul. Je pourrais le faire, et le faire mieux que l'auteur. Alors voyons, j'ai un compilateur, maintenant comment commencer à implémenter des fonctionnalités?"
Mason Wheeler
2

Que cela prenne des années ou des années dépend en grande partie de vous, de votre emploi du temps, mais surtout, de votre niveau d'intérêt qui a tendance à être lié à l'aptitude. Si vous vivez ou travaillez dans une ville et que vous avez la possibilité de vous déplacer en masse, prenez-le et utilisez ce temps de trajet intégré pour lire des livres techniques. Tout ce qui vous intéresse.

En ce qui concerne l'audace de penser, ne le faites pas transpirer. Décider que vous pourriez probablement gérer cette <insérer un tas inconnu de complexité ici> est ce que font les développeurs. Ce n'est pas de l'arrogance, c'est juste un premier pas.

Arrogant dans le pays des développeurs, vous vous appelez un développeur professionnel lorsque vous avez une solution pour tout et que vous n'avez rien appris de nouveau depuis le collège. C'est le hic avec le développement. Lorsque vous arrêtez d'apprendre, votre carrière commence à décliner, l'intérêt est donc un élément clé. On dirait que vous avez ça.

Alors foncez.

Vous avez votre cible en vue. Le reste divise les gros problèmes effrayants en petits problèmes pas si effrayants. Répétez ad nauseum et vous serez un développeur à plein temps rémunéré qui souhaite qu'il y ait plus de problèmes plus gros / plus effrayants qu'auparavant plus tôt que vous ne le pensez.

Erik Reppen
la source
Observation secondaire: l'arrogance est utile dans les étapes initiales. Si je savais de quoi parlait vraiment la programmation quand j'ai commencé, j'aurais probablement abandonné deux heures après le «bonjour le monde».
K.Steff
1

Je dirais (si vous voulez démarrer les choses) aller avec SICP - Structure et interprétation des programmes informatiques. Je devrais y faire un lien, mais c'est plus qu'un simple livre; de nos jours, vous pouvez également trouver d'autres personnes pour étudier le cours en ligne. C'est un livre vraiment difficile - terminer tous les exercices est quelque chose que la plupart des développeurs ne peuvent pas faire (malheureusement), mais c'est le meilleur livre disponible. MIT OCW est également bon, mais à mon humble avis, c'est une version édulcorée de SICP pour la programmation. Python est conçu pour cacher la complexité, plutôt que de vous en faire profiter d'une manière malade (comme le fait SICP).

En outre, vous devez faire la distinction entre la programmation en tant que profession et la programmation en tant que compétence. L'un nécessite de se consacrer à des choses comme un code beau, propre et extensible, tandis que l'autre ne nécessite que des compétences algorithmiques (ce qui est beaucoup, en fait). Le «dictateur bienveillant» de Python, Guido van Rossum, fait valoir que la programmation sera une compétence essentielle dans les années à venir, mais les compétences en développement de logiciels ne le seront pas, en tout cas. La plupart des non-développeurs écrivent du code pour le jeter (les développeurs le font aussi souvent). Le fait est que la programmation en tant que carrière comprend beaucoup plus de choses que la programmation et il est important de définir vos priorités.

Le plus important: assurez-vous d' aimer la programmation, pas seulement comme ça. C'est plus qu'un travail de 9 à 5, c'est embrasser la philosophie d'apprentissage constant : la plupart des ingénieurs sont formés pendant leur BS ou MSc et ne voient pas de changement significatif dans leur domaine d'expertise. Une carrière à vie dans la programmation vous fera voir au moins 10 changements de paradigme (pas seulement des langues, mais des outils, des bases de données, etc.), donc vous feriez mieux d'être prêt (et disposé) à l'accepter.

K.Steff
la source
+1 pour la "philosophie d'apprentissage constant". La programmation consiste en grande partie à apprendre et à s'améliorer chaque jour. Si vous aimez faire ces 2 choses, alors vous aurez probablement une bonne expérience et réussirez.
B Seven
1

Je pense que vous êtes bien placé pour vous en sortir.

La majeure partie de ma carrière, j'ai été profondément ancrée dans le côté technique des choses, cependant, au fil des années d'observation de nombreux projets réussis ou échoués, je suis arrivé à la conclusion: -

Si vous ne comprenez pas vos utilisateurs professionnels et leurs exigences, votre projet échouera.

Je n'ai jamais vu d'exception à cette règle et aucune somme d'argent, de matériel ou de génie de la programmation ne semble faire la moindre différence. De vrais projets avec une bonne compréhension des exigences peuvent échouer en raison de matériel, de logiciels, d'un manque de budget ou de compétences mal choisis - mais pour la plupart, ces projets peuvent ou auraient pu être sauvés.

Ainsi, votre bonne connaissance du BA et de vos exigences vous donnera une perspective sur laquelle certains de vos collèges de techniciens les plus doués pourraient manquer, le reste que vous pouvez apprendre.

James Anderson
la source