ITスペシャリストが語る芸術

-The Kay Notes-
SE、プログラマー、AI開発者、教育研究家、潜在意識活用研究者、引きこもり支援講師Kayのブログ。

Excelマクロ

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2019/12/28]AI&教育問題専用ブログ、メディアの風を公開しました。
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。

スペシャリストを目指せ

ある有名な歌手が、40歳を過ぎた時に行き詰まり、二進(にっち)も三進(さっち)もいかない状態で、歌手を止めて、別のことをしようと思ったらしい。
しかし、思いとどまり、歌手を続けた。
思いとどまった理由はこうだ。
「どこの世界でも、20年、30年とやっている人達がいて、新しく始めた自分が、そんな人達にかなうはずがない」
何かの道を長く続けている者なら分かることだと思う。
長く積み上げてきた経験に優るものはない。
そりゃ、自分がやってきたことがもう古く、その仕事が、遠くなく消えてなくなる運命である場合や、自分がやっている仕事が簡単な仕事で、短期間で十分なレベルになれる場合は別だ。

大きな会社では、新入社員は、自分がどの部署に回されるか、分からないという場合が多い。
学校を出たばかりの学生は、まだ真っ白なので、何に向いているかを会社が判断してあげようとか、いろいろな部署に入り、いろいろな仕事を経験することで幅広い人間にしようというのだろうが、もうとんでもない話である。
大学どころか、高校を卒業したら、自分が何に向いているかなど自分で分かるはずだし、そもそも、会社に人間の適正の判断は難しい(事実上、不可能)し、はなから、社員の適正を見極めるのではなく、会社にとって都合が良さそうな部署に配置させることがほとんどだ。
また、あちこちの部署を経験させるのは、あくまで、その会社のことをよく理解させるためであり、どこの会社でも通用するような実力をつけさせるためではない。会社の意図かどうかはともかく、結果として、その会社でしか使えない能力しか得られない。
そんな会社でうまく出世して部長になっても、リストラされたり、会社が倒産すると、転職の際、「あなたは何が出来ますか?」と尋ねられたら、「部長が出来ます」といったような笑うしかない答しか出来なくなる。部長は仕事の名称ではなく、「部長が出来る」を正確に言えば、「前の会社の部長が出来る」ということであり、別の会社では平社員の仕事も出来ないのである。
営業をやってたと言っても、営業のやり方は会社によって違う。
また、営業という仕事には専門性がない場合が多く、一般的には、営業の仕事には就かない方が良い(もちろん、特殊な専門性が生きる営業は別だが)。
経営者だって、高い専門性を持っている場合が圧倒的である。

長くやればやるほどスキルが上がり、20年30年とやれば、誰にも負けない確固としたものを持てる仕事を選ぶべきだろう。
ただし、日本では、学校から会社まで、庶民は代替可能なロボット人間として育てるので、専門性のある生き方をしようと思うと、学校や会社(あるいは社会)を否定しなくてはならない場合が多い。それが出来ない者が、「私は何に向いているのだろう?」とか「私が進むべき道は何だろう?」ということが分からず、特に何も出来ないサラリーマンになってしまうのである。
私の場合、初めから学校や社会を否定していたので、プログラマーになるのは簡単だった。
しかし、ソフト開発以外のことについてはあまり知らないし、そもそも、自分でやったことのないことを本当に知ることは出来ない。

プログラマーになるなら、30歳くらいまでなら、JavaやPHPといった最も仕事の多いプログラミング言語や、PythonやJavaScriptといった最も将来性があるプログラミング言語を何か1つ、少なくとも、入門書レベルなら完璧にしておけば、開発会社に入れてもらえるので、そこで経験を積めば大丈夫である。
30代後半以上であれば、Excelマクロ(VBAプログラミング)が出来れば、会社の仕事を、それで自動化させれば頭角を表せるし、Excelを使わない会社はないので、転職の際、「ExcelとExcelマクロ、滅茶苦茶出来ます」と言ったことで採用されたら(採用される可能性が高い)、良い状況になるだろう。
「うちはExcelは使わず、別のツールを使ってますが、それをやってくれますか?」
と言われたら、もう既にExcelで十分な経験がある場合を除き、止めた方が良いと思う。まずは、どこでも通用する知識が大切だからだ。
尚、Excelマクロではなく、Accessマクロ(Access+VBA)なら、SQL Serverと組み合わせれば、そこそこの会社なら基幹システムでも作れ、システムの拡張修正も早く出来る。
そこで、Accessマクロを作ることが出来るなら、開発会社に入るより、システムを社内開発する会社の開発部署に入る方が良いかもしれない。社内開発をAccessでやっている会社は合理性が高い場合が多い。
社内でシステムを開発出来るメリットは多く、アメリカでは、かなり多くの会社が、システムを自社開発しているのは、それに合理性があるからだ。社内SE(システムエンジニア)の能力は、他社でも十分に通用する。








Excelマクロ、Accessマクロで就職する

高学歴だったり、スキルがあったりするわけでもない人が、就職したい時に、どうすれば良いか少し述べてみたい。

企業が雇いたいのは、未経験なら、奴隷のように働いてくれる人で、まずは、そのような立場で採用されても良いと思う。
経験がないというのは子供と同じだということで、もし、10歳の子供を働き手として選ぶ時、まさか、「自分の意見をちゃんと言う」だの「新しいことを提案します」なんて、妄想勝ちな馬鹿な子を選ばないだろう。
健康で、絶対に遅刻せず、絶対文句を言わず、絶対逆らわず、言われたことを必死でやる子であることだけを求めると思う。
歳がいくつだろうと、経験がないなら同じことだ。
確かに、だからといって、あまりに無茶な要求をされたら、「出来ません」と言うなり、労働監督局に訴えるなり、辞めるなりすれば良いが、かなりの無茶は要求されて当たり前と思う。
明らかに道徳や倫理に反していれば(例えば、誰かを殴れと要求される等)、「出来ません」と言えば良いが、単に、「凄く面倒臭い」ことや「凄くシンドイ」ことは、やって当たり前なのである。
あるいは、道徳や倫理に反しないなら、「凄く恥ずかしいこと」をしなければならないことも当然ある。
例えば、「裸になって踊れ」なら「出来ません」で良いが、自分に関わりのないことでも、100件の顧客のところに行って、頭を下げて謝ることは、恥ずかしくて楽しいはずはないが、やれと言われたらやるしかないだろう。また、「裸になって踊れ」も、職場によっては「そんなの当たり前」かもしれない。例えば、お笑い芸人の事務所である。

ただ、いつまでも、そんなことをしたくないから、経験とスキルを得たいのである。
プログラマーになる場合はどうだろう?
SIer(エスアイアー)と呼ばれる(私は呼ばないが)ようなシステム開発会社に入るには、プログラミングやコンピューターが本当に好きな場合だけにした方が良い。
そして、本当にそんなことが好きなら、勝手に入ってスキルを上げるだろうから、私が何か言う必要は全くない。
そんな者なら、プログラミング言語の1つや2つは当然出来るはずだから、「俺、Java、無茶苦茶出来ます」と言えば、すぐ入れてくれるだろう。
あるいは、新しい分野に進みたいなら、「VBやPHPは仕事で長くやってきました。しかし、Pythonも、中級の書籍程度なら完全にマスターしています」と言えば、是非欲しいと思ってくれる会社も多いと思う。
大手に新卒で入る場合はいざ知らずだが、研修で勉強しようなどと思うのは論外だろう。

次は、それほど徹するわけではないが、ITの仕事をしたい場合である。
その場合、Excelマクロ(VBAプログラミング)の仕事を狙えばどうだろう?割と美味しい仕事と思う。
会社の事務員として、安定した仕事を持ちつつ、Excelマクロを作り、いずれは、専門のExcelマクロ社内開発要員になるのである。
何と言っても、世界中で、Excelを使わない会社はほぼない。「使わない」って会社は入らなくて良い。変な会社かもしれないから。
だから、入れる会社は多いし、たとえ、その会社でExcelマクロが使われていなくても、あなたが始めれば、すぐにリーダーになれる可能性がある。
そんなことを狙っての入社の方法だが、当然、Excelはかなり使えることと、Excelマクロの実用書程度は自力で完全にマスターすることだ。
そして、面接で、「俺、Excelはもちろん、Excelマクロ、無茶苦茶出来ます」と言えば(多少、ハッタリでも良い)、入れてくれる会社はいくらでもあるだろう。
この時、「私、Excelはもろチン、いえ、もちろん、Excelマクロ、無茶苦茶出来ます」と言ったら入れてくれない(笑。『僕は友達が少ない』に登場する美少女シスター、高山ケイトの真似)。
ただ、それで入れてくれるなら、未来はバラ色であるから、賭けてみても・・・やはり、やめておけと言いたい(笑)。
そして、こういったプログラマーになった場合、あるいは、これからなろうとする場合、Excelでなく、AccessとAccessマクロをマスターすれば、さらに有望である。
なぜなら、Accessをマクロまで使えば、少々の規模の企業でも、基幹システムだって作ることが出来るからだ。この場合は、データベースとして、Access自体のデータベースではなく、SQL Serverが必要だが、SQL Serverの無料バージョンをパソコンにインストールして勉強すれば良い。
私は、Accessの威力は散々味わった。
なぜAccessが良いかというと、Accessでの開発速度は、JavaやC#などを使うよりはるかに速いことによる。
会社の中では、「このコンピューター処理を早くやりたいが、開発会社にJavaやC#で作ってもらうと、時間がかかってしまうし、費用も高い」という物件が沢山ある。特に、儲かっている、優良な会社の場合は絶対そうだ。
そんな時、Accessで、その要求に応えれば、嫌でもモテモテのシステムエンジニア・プログラマーになれるのである。
また、開発会社に作らせると、ちょっとしたシステムの修正や追加でも、かなりお金を取られ、時間もかかる。それに面倒だ。
だが、社内の開発者がAccessでやる場合は、すぐに対応することが可能で安心だし、ある意味、タダである。
「俺、Excelマクロ、無茶苦茶出来ます」「俺、Accessマクロ、無茶苦茶出来ます」と言って就職しようではないか。








コロナ後(あるいはコロナ中)、ITで稼ぐためのヒント

新型コロナウイルスは、ただのウイルス感染問題ではなく、裏があるのは間違いないが、我々一般人の手の出せることではない。
ただ、今後、ITに弱いのは、ちょっと痛いことになるかもしれない。
もうずっと前から、ITに強くなるためには、どうすれば良いかとか、何を学べば良いかなんて話があり、それに対し、学術的専門家、現場叩き上げの専門家、怪しい専門家(笑)などが、好き勝手なことを言っているが、どれも、話半分・・・いやいや、2割程度に聴いておいた方が良い。
私が見るところ、「少しは役に立つ」なら善良な方で、「ちっとも役に立たない」どころか「損害が大きい」という「ご意見」が少なくない。

例えば、「音楽家になるには?」なんてそうじゃないか?
幼い頃からピアノを習い、長時間一生懸命練習や勉強をし、大金をかけて音大を出て、超幸運にもプロのオーケストラの奏者になっても、仕事は必ずしも面白くはなく給料は多分安い。
学校の音楽の先生にでもなれたら勝ち組で、音楽家で食べていくなどほとんど無理。
一方、米津玄師さんほどでなくても、好きなように音楽をやってきた者の方が、ずっと上手くやっていることが多いはずだ。
ITもそれと同じだ。

まず、HTMLとCSSをある程度扱えないと、何をやるにもキツい。
私は、Webデザインの専門家ではなく、HTMLやCSSは適当にしか知らないが、部分的な企業のWebサイトなら受注する程度のことは出来る。その程度で良いのではと思う。
ついでに、クライアントサイドだけでいいから、JavaScriptが少し出来れば、非常に有利だろう。クライアントサイドのJavaScriptは、少しかじっておけば、本を見ながらでも出来ることが多い。
だが、普通の人が、PHPやRubyやPythonなんか出来たって、それほど(大抵は全く)有益ではない。
それらを使うただのプログラマーになっても、シンドいだけで給料は安いのが普通だ。
スマホアプリを作っても自分では全く儲からないし、それを作る開発会社のプログラマーになったら、やっぱり、あまり(大抵は全く)良い思いは出来ない。

ただ、自分がオーナー権を持つサービスを作るために、JavaScriptやPHPやRuby等をマスターするのは良いことだ。
ただし、本当に好きなら・・・である。
企業からプログラミングを請け負って稼ぐなんてのは、余程、要領の良い人・・・変な喩えだが、物品販売の請負いや詐欺師が出来るほどの適応力があることが必要だ。つまり、頑張ればいいってもんじゃない。

ブログを使ってアフィリエイトで稼ぐってのは、私は、引きこもりの人達にやらせようと思っているのだが、HTMLやCSSが全く分からないというのでは駄目だが、逆にそれらが自在であれば、非常に有利である。
HTMLはプログラミング言語の一種に分類されることもあるが、それで言えば、最も簡単なプログラミング言語だ。
学校でプログラミング教育をやる時、ビジュアルプログラミング言語のScratchなどをやるより、HTMLをやった方が絶対に良いはずだ。
Webサイト全体はツールを使って作るとしても、細かい部分で、どうしても、HTMLやCSSが必要で、さらに、JavaScriptが出来れば、大きなメリットを出すことが可能になる。

AIをやるにも、データを自由に作成・加工出来ないと話にならない。
だから、Excelは必須だし、Excelマクロ(VBAプログラミング)が出来れば、業務処理を効率化出来る以上に、AIなどで自分の可能性が広がる。
そして、可能であれば、安価で出来るので、マイクロソフトAccessを、SQL Serverとセットで使えると、大きなデータも自由自在に扱え、熟練すると、重要な仕事も出来るようになる。

つまり、純粋なIT技術者になるのではなく、ITを武器にして趣味で稼ぐには、上で挙げたようなことが出来れば有利なのであるが、これらは、表では、あまり言われないのである。













当ブログオーナーKayのAI書。5月30日発売。
とりあえずExcelが使えれば、自分でAIが作れるように書きました。
ソニーの無償の高機能AI開発Windowsアプリ、NNCを使用します。
本書のほとんどの実習が出来るデータを作れるExcelマクロ(VBAプログラム)を無償でダウンロード出来ます。
この本で学ぶことで、会社のデータを使い、何か重要なことをAIに予測させることが出来るようになって欲しいと思います。
実習は、モンティ・ホール問題、エイリアン遭遇回避作戦、囚人のジレンマなど、なるべく面白いものを、出来る限り易しく扱えるよう工夫しました。

まずは会社の中で良い想いをして欲しい

私が人々に教えたいのは、まずは会社の中で良い思いをする方法だ。
この点に関しては、私は長く、ほぼ仕事をせずに、良い思いをし続けてきたことから、自信がある。
私は、学歴はないし、あまり認めたくはないが、頭もそう良くはない。そして、非常に立派なことをしたことは、ほぼ皆無であるが、馬鹿さが作った黒歴史ならかなりあるように思う。もちろん、ほとんど忘れたが(笑)。

さて、昔から、どんな人達が、さしたる能力もないのに、良い思いをしてきただろうか?
1980年代頃は、ワープロが使えるというだけで、スペシャリストとして重く扱われたと言えば、驚くかもしれないが本当である。
当時は、今のように、パソコンでWordのようなワープロソフトを使うのではなく、ワープロ専用機という、高価なコンピューターがあった。専用機であるだけに、むしろ、今のWordより簡単だった。
数少ないワープロ使いのOLさんに文書を作ってもらうために、部長さんが愛想笑いをしてお願いし、課長・係長クラスならペコペコして頼まないと、後回しにされて困るのだから、ワープロ使いが、いかに良い思いが出来たか想像出来ることだろう。
ほんの少し練習すれば誰でも・・・本当に誰でも出来る技能であるに関わらずである。
つまり、当時のワープロ使いのような技能、あるいは、それより若干マシな技能を持てば良いのである。

では、今は、どんな技能を持てば良いのだろうか?
まさか、Wordのようなワープロソフトではない。ワープロは誰でも出来て当たり前の時代だ。
では、プログラミングかと言えば、そうではない。これに関しては、少し説明する。
今、人気があり、また、比較的習得が簡単と言われるプログラミング言語は、何と言っても、JavaScriptとPythonだ。
だが、これらが出来て、良い思いが出来るほど、オフィスの中で有益性があるかと言うと、全くない。
敢えて言えば、役立てることは出来るが、あまりに非効率だ。
ちょっと昔、変な人達が、当時人気のあったPerlというプログラミング言語を「仕事で役立つ」「仕事で役立てよう」などという本を書き、オフィスの中で、実際に、Perlを仕事に使っていた人を見たが、彼らは単なるプログラムマニアである。
今も、「Pythonで仕事をする」なんて本もあるが、騙されてはならない。
これらのプログラミング言語は、ソフト会社や企業の情報システム部門に入ってプログラマーとして仕事をする時に使う。
しかし、その用途でも、現在の日本で仕事が多いのは、Webサービスの開発ではPHPやJava、あるいは、Rubyが少し増えてきた感じで、企業内での業務システムでは、C#やJavaが使われることが多いのではないかと思う。だが、これらの仕事は、他人とうまくコミュニケーションが取れる能力がないと難しいと言うか、辛い・・・などと、自分の職種を貶してはならないが、自分がやってきただけに実感していることでもある。まあ、その話は今回のテーマではないので、置いておく。

今は、やはり、Excelなのである。
もちろん、普通に、あるいは、多少巧妙にExcelが使えるだけでは駄目であり、ハンバーガーという資格・・・いや、モス(MOS)だったか(笑)、そんな資格は何の関係もない。昔は、ネズミという資格・・・じゃなく、MOUSEという資格があったらしい(笑)。
Excelなら、分からないことがないくらい詳しく、達人的に何でも出来れば敬われる。
ただ、それは、せいぜい、ある程度若い女性の場合で、給料は安いままだ。
つまり、ちょっといい気分になれる程度で、圧倒的な存在感とは程遠い。
しかし、マクロ(VBAプログラム)で、業務を自動化出来るとなると、恐れ敬われる。
そんな真似が出来る人は、滅多にいないからだ。
正直、これも、そう難しいことではないが、理由はいろいろながら(今はその理由を論じる時ではない)、誰も出来るようにならないのだ。
ただし、半端に出来るのでは駄目で、達人でなくてはならない。

英会話とExcelは似ている。
英会話が出来るとか、TOEIC900点以上(あるいは満点)といったところで、それだけでは何の役にも立たない。
確かにちょっといい気分は味わえるが、それだけである。
Excelにべらぼうに詳しいのも同じだ。
だが、専門的で高度な能力があれば、英語を活かせる場合がある(逆に言えば、専門能力がなければ、英語だけ出来る残念な人だ)。
そうなるのは難しいので、英語はやめておいて、まずは何かでスペシャリストになる方が圧倒的に良い。
だが、Excelマクロ(VBAプログラミング)なら、割と常識的に、それを業務に適用すれば、かなり有益であり、経験を積めば、相当な能力になる。
だから、もし、Excelマクロをやるなら、うだうだ言わずに達人になれば良いのである。
私の身近にも、ロクにExcelマクロを磨かないのに「社内での自分の扱いが悪い」と文句を言ったり、落ち込んでいる様子を見せる者がいるが、そんなこと言われても仕方がない。
とにかく、時間を注ぎ込み、超一流の能力を身につければ良いのである。イチローみたいに。
Excelマクロが出来れば、AccessでVBAを使うことも出来るようになり、さらに、AccessでSQL Serverを扱えれば、良い仕事や職場の方からやって来るだろう。

尚、天才的クリエイターや、ほとばしる創造意欲を持った人達は、私の言うことなど無視して、独自の道を行って欲しい。
上記のことは、私のような凡人の場合に役に立つはずだという意味で述べたつもりである。








プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんのファン
◆AI&教育blog:メディアの風
◆著書『楽しいAI体験から始める機械学習』(技術評論社)


当ブログは第1期ライブドア奨学生ブログです。
Kay Twitter Home

執筆のご依頼




最新コメント


月別アーカイブ
記事検索
ブログバナー&Mail


メールはこちらへ

PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ


タグクラウド
QRコード
QRコード