私は、システムエンジニア(SE)とプログラマーを区別しないので、以下、プログラマーとSEを、ほぼ同じ意味で書く。
自分がプログラマーになれるとは思っていない人も含め、プログラマーになって楽しく仕事をする方法を考えた。

プログラマーになるには、ソフト開発会社や、会社自体はソフト開発会社ではなくても、事業としてソフト開発を行っている会社に入るという選択を思い浮かべる人が多いと思う。
ただ、この場合、会社のやり方が、どれほど偏っていても、自分がそれに合わせる必要があり、必ずしも良質なキャリアを積めない・・・つまり、他所で通用しないプログラマーになる危険もある。
人によっては、「沢山のソフト会社を転職して、幅広いスキルを身に付けると良い」と言う人もいるが、それは、誰でも出来ることではない。

また、正直なところ、初めのうちは、全ての人が、あまりハイ・レベルなプログラマーになりたい訳ではないと思う。
そこで、割とお薦め出来る選択肢が、企業の情報部門の社内SEになることだ。
こんな書き方をすると、消極的な感じがするかもしれないが、そうではない。
アメリカでは、企業システムの半分以上が、社内で開発されていると言われている。
日本では、まだまだ、会社のシステムをソフト開発会社に依頼する場合が多いが、それでも、社内開発の割合は確実に増えている。
だからこそ、社内SEは有望なのである。

会社のシステムを外部のソフト会社が製作するというのは、実のところ、いかにソフト開発会社のSEが優秀でも無理があるのである。
つまり、可能であれば、会社のシステムは、その会社内で作ることが望ましい。
だからこそ、システム先進国のアメリカでは、ソフトの社内製作が盛んなのである。
日本は、政府の上級機関でも、IT化が悲惨なほど遅れていて、まさかと思う場面でいまだFAXが使われているが、日本の会社の中には、まだ、そのレベルのところが少なくない。
そんな事情もあり、特に中小では、社内SEの活躍場所は多い。
もちろん、「コンピューターやソフトに金をかけられるほど儲かっていない」という中小は多いだろうが、実際は、コンピューターに投資することで、短期的にも収益が上がる場合だって多いと思う。

社内業務の自動化には、Excelマクロ(VBAプログラム)が活用される場合が多く、技術者としてのキャリアがない人が、VBAで活躍する例は多い。
ただし、Excelレガシーという言葉があるように、計画性がなく、思いつきで作ったまま放置したExcelマクロがたまっていくことで、かえって、業務のトラブルになっている場合が多いのも事実だ。
だから、Excelマクロを活用するなら、管理責任を負う者を立て、その者は管理スキルを磨かなくてはならない。
とはいえ、管理責任者の下、計画的に作られ、運用されるExcelマクロは素晴らしく役に立つ。

また、どんな会社も、いまどき、Webサイトを持ち、それが、ユーザーとのインターフェースになっている場合も多く、社内Webプログラマーも重要である。
ただ、Webシステムも、高度に管理すべきものであることを理解して、それを実施しなければならない。
単に「ホームページ」を作るのではなく、技術的に押さえておくべきことがあるのである。
とはいえ、だから高度なセキュリティーが必要というよりは、「危なくない運用」をすることが重要である。
リスクのあることに関しては、システムの専門会社に頼ることも必要だ。ただし、その場合も、社内に開発要員がいた方がうまくいく場合が多い。

社内業務システムでは、マイクロソフトAccessを使えば、そこそこの企業では、社内で基幹システムを作ることも可能である。
ただし、そのようなことは、やや難易度が高いので、特に最初は、専門会社に協力を依頼しても良いが、丸投げせずに、やがては社内で開発出来るようになれば良いだろう。
Accessを使う場合、データベースにはSQL Serverを使うと良いが、そこそこの売上げがある会社でも、無料のSQL ServerであるExpressエディションで間に合ってしまう場合も少なくない。
社内開発をVisual StudioやPHP等によるWebシステムにしても良いが、Accessを使った方が、開発・保守が圧倒的に速く楽な場合が多いと思う。
ただ、Access VBAでSQL Serverを使う方法を丁寧に書いた本を、私はあまり見たことがない(私が書いても良いのだが・・・)。
また、Accessは、実は、BI(ビジネス・インテリジェント)ツールとして万能だし、AIのためのデータ作成にも便利で、人気がない(Excelに比べ)割には、極めて優れたソフトなのである。

以上から考え、社内プログラマーを目指す場合、必要なスキルとして、まずは、
・Excel+VBA
・Access+VBA
・HTML、CSS、JavaScript、PHP
のどれかが出来ると有利と思う。
そして、仕事をやりながら、Python、Javaを勉強しておくと、活躍舞台が広がる。
また、もし興味があればC言語やC++言語が出来れば、技術系の開発に進める可能性も高まる。
後は、自分で情報を得ていれば、何が必要か分かると思う。













当ブログ著者、KayのAI書。
大袈裟ではなく、今後はAIのリテラシーは必須であり、企業にとってもAIと無関係でいることは出来ません。
しかし、AIの本は、技術者向けの難しいものか、役に立たない一般論が書かれたものが大半です。
本書は、数学、プログラミング、難しいAI理論なしで、楽しい実習を通し、自分で実用AIを作れるようになることを目的としています。
本書のほぼ全ての実習のためのデータが作れるExcelマクロを無料でダウンロード出来ます。