web-dev-qa-db-ja.com

私は自分をだましていますか?プログラマーへのビジネスアナリストの移行

現在の仕事:Big 4企業のリードビジネスアナリストとして働き、大規模な再プラットフォーム化プロジェクト(4つのオンショア開発者、4つのオフショア開発者、複数のオンショア/オフショアテスター)に取り組む開発者とテスターのチームを率いています。他の小規模プロジェクトでも同様の能力で作業します。

自分の役割の範囲:要件の収集/書き出し、機能仕様の作成、UIの設計(基本的にシステムのすべてのフロントエンドの側面をマッピング)、開発者と緊密に連携して要件を伝達/明確化し、ロードブロッキングが発生したときにソリューションを考え出す、テストケースの作成(およびテストの大部分を行う)、上級管理者および主要な利害関係者との協力、ベータテスターの管理、ユーザーガイドの作成と主要なトレーニングセッション、主要なテクニカルサポートの提供。

私はVBAを使用してExcelでかなりの数のマクロを作成し(私のマクロのいくつかは現在会社全体で使用されているため、おそらく約1000人がそれらを使用しています)、SQLを日常的に使用しています(SQLコンパクトファイルとプログラムの両方)私たちが作成したSQL ServerデータとAccessデータベースに依存しています。開発者は、プログラミング、固有のシステム制限、データベースの構造などについて多くを理解しているため、私がこの役割で非常に優れていると感じているため、問題に直面したときにアイデアを伝えたり、提案を出したりするのが簡単です。

私が本当に興味を持っているのは、ソフトウェアの開発です。私はVBAでかなりの量のプログラミングを行っており、しばらくの間C#を学びたいと思っています(開発チームはC#を使用しています-私自身のためにコードを時々レビューしますが、実際に使用した経験はありません)。私はビジネスプロセスだけでなく、技術的な側面にも興味があるので、従来のBAの役割は、自分がやりたいことに対する欲求を実際に満たすものではありません。現在、マネージャーから与えられたいくつかの小さなプロジェクトがあり、それらを実行するための新しい方法(カスタムAccessアプリケーションの構築など)を見つけているので、興味をそそる場所が少しあります。

私の質問はこれです:私がしたいことは、フリーランスのビジネスとして小規模ビジネス向けのカスタムExcelまたはAccessアプリケーションを作成することです(個人の店として働いています。おそらく、プロジェクトの複雑さによっては請負業者がいることもあります)。これは明らかに、私が日雇いの仕事をしている間はパートタイムのベンチャーとして始まりますが、最終的にはフルタイムの仕事になります。私はBA /パートタイムVBAプログラマーからフリーランスのビジネス(VBAでカスタムExcel/Accessアプリを作成するところから始めます)のフルタイムの仕事に行くことができると思い込んでいますか?または、このタイプのことは、誰かが何年ものフルタイムのプログラミング経験を積むまで通常は試みられないのでしょうか?そして、中小企業(そしておそらく中規模企業)の間で、これらのタイプのアプリケーションの市場はありますか?

11
Ryan

いいえ、あなたは自分をだましているのではありません、それはできますできます!詳細はわかりませんが、彼の1人がアンダーライターとしてスタートし、インターナルソフトウェア開発のBAになり、どういうわけかフルタイムの開発に移行しました。あなたのように、彼はすでに技術的背景を持っていたと思います。

currentの雇用主で最初にそれをしようとすると、単独でやるよりもうまくいくかもしれません。あなたはより多くのサポートと助けを持っているでしょう。たぶんあなたの上司と話し、組織内の開発の役割に移行する方法を尋ねてください。そうすれば、あなたはすでにすべての人を知っており、彼らはあなたを知っています。あなたが本当にreallyreally幸運である場合、あなたの会社はより速く追いつくためにコースにあなたを送る予算があります。

VBAとAccessはプログラミングラダーの最下部です。私があなただったら、SQLのスキルがあるので、もっと高く撃ちます。 SQL Server Reporting Servicesについて学習し、レポートまたはSSISを作成して、ETL処理を行うことを検討してください。それらは現在かなり高い需要のあるスキルであり、企業環境では比較的簡単に利用できるため、特に自分の会社でこれらの役割を現在担当している人がいない場合は、スキルを習得できます。ビジネスアナリストの経験は、レポートライターにとって大きなプラスになると思います。

4
HLGEM

できます。ソフトウェア開発は、自明ではない問題と、認識して回避するために学ぶ必要がある落とし穴を伴うエンジニアリング分野であるため、特にそれを上手にしたい場合は、簡単ではありません。それには数年の真剣な研究と実践が必要ですが、概念に頭を抱えることができれば、バックグラウンドが異なっていても、間違いなくプログラマーになることができます。

2
Mason Wheeler

それが数年かかるかどうかは、主にあなたのスケジュール次第ですが、最も重要なのは、適性に結びつく傾向があるあなたの関心レベルです。都市に住んでいるか、仕事をしていて、大規模な通勤のオプションがある場合は、それを利用して、組み込みの通勤時間にテックブックを読んでください。興味のあるものは何でも。

考えられる大胆さについては、気にしないでください。おそらく、<ここに複雑な知識の山を挿入>を処理できると判断することは、開発者が行うことです。それは傲慢ではなく、最初の一歩を踏み出しただけです。

開発者の土地での傲慢さは、すべてに1つのソリューションがあり、大学以来新しいことを何も学んでいないときに、自分をプロの開発者と呼んでいます。それは開発との摩擦です。あなたのキャリアを学ぶのをやめると、下り坂が始まるので、興味は一種の鍵です。あなたはそれを持っているように聞こえます。

だからそれのために行きます。

目標が見えてきました。残りは、大きな恐ろしい問題を少しほど怖くない問題に分割しています。広告の吐き気を繰り返してください。そうすれば、あなたが思っているよりも早く、以前よりも大きくて怖い問題が発生したいと思っているフルタイムの有料開発者になります。

2
Erik Reppen

私は(もしあなたが物事をキックスタートしたいなら)SICP-コンピュータープログラムの構造と解釈に行くと思います。リンクを張るべきですが、それは単なる本ではありません。最近では、オンラインでコースを学ぶ他の人も見つけることができます。これは本当に難しい本です。すべての演習を完了することは、(残念ながら)ほとんどの開発者が行うことができないものですが、入手可能な最良の本です。 MIT OCWも良いですが、IMHOは、プログラミングのためのSICPの骨抜きバージョンです。Pythonは、複雑にするのではなく、楽しむために設計されています病的なやり方で(SICPのように)。

また、職業としてのプログラミングとスキルとしてのプログラミングを区別する必要があります。 1つは美しく、クリーンで拡張可能なコードのようなものへの献身を必要とし、もう1つはアルゴリズムのスキルのみを必要とします(実際にはかなり多いです)。 Pythonの「慈悲深い独裁者」であるGuido van Rossumは、プログラミングは今後数年で不可欠なスキルになると主張していますが、ソフトウェア開発スキルはいずれにしてもそうではありません。ほとんどの非開発者は、それを破棄するコードを作成します(開発者もこれを頻繁に行います)。キャリアとしてのプログラミングはプログラミングよりもはるかに多くのことを含み、優先順位をまっすぐにすることが重要です。

最も重要:プログラミングはloveである必要があります。それだけではありません。9から5を超える仕事であり、定数を受け入れることです。 -learning philosophy:ほとんどのエンジニアはBSまたはMScの間にトレーニングを受け、専門分野に大きな変化は見られません。プログラミングにおける生涯のキャリアにより、少なくとも10のパラダイムシフト(言語だけでなく、ツール、DBなど)が見られるようになるため、これを受け入れる準備ができている(そして喜んで)のがよいでしょう。

1
K.Steff

あなたはこれを手に入れるための良い立場にいると思います。

私のキャリアのほとんどは、技術的な側面に深く関わってきましたが、多くのプロジェクトが長年成功したか失敗したかを観察することで、結論に達しました。

ビジネスユーザーとその要件を理解していない場合、プロジェクトは失敗します。

私はこのルールの例外を見たことがありませんし、お金、ハードウェア、プログラミングの天才がどれほどの違いをもたらすようにも思えません。要件を十分に理解している本当のプロジェクトは、ハードウェア、ソフトウェアの選択の悪さ、予算の不足、またはスキルの不足が原因で失敗する可能性があります。

したがって、学士号と要件の優れた基礎により、より才能のある専門学校には欠けているかもしれない見通し、残りは学ぶことができます。

1
James Anderson