自分の中にプログラミング習得法を探す旅(その2:VBA編)
シリーズ投稿の第2段です。
イントロダクション+第1段はこちら↓
私が職業の上でプログラマになったのは26歳(2004年)。なぜプログラマになったのかというと「たまたま」というしかありません。ただ、その「たまたま」入った会社で、誰かから教わることもなく、独学でVBAを習得した時の経験をまとめてみました。
これは、この後ずっと続いていく独学スタイルの始まりとも言えます。
疲れ果て、辞める、休む
20代前半は人材派遣の業界でマネージメント寄りの仕事をしていました。
それなりにパソコンを駆使する仕事でしたが、それはアプリケーションの使い方に習熟することを意味し、自分が「アプリケーションを作る」必要はありませんでした。
この当時、それまで趣味レベルでJavaScript/HTML/CSSなどを理解した経験が、まさか仕事になるとは思っていませんでした。それらの分野のゲインを上げて職に繋げようという発想も当然ありませんでした。
単純にIT業界に疎かったんです。経験がなかったし、なにも知らなかったですね。
細かな経緯はすっ飛ばしますが、当時は完全に身も心も疲れ果てていました。なので務めていたマネージメント職を辞すこと、それから最低でも1ヶ月は休むこと、この2つが最優先でした。
この「辞める、休む」というタスクをクリアしたあとで、転職(実質、再就職)について考え始めました。
「たまたま」プログラマになった
じゃあ、そこからなんで、まるでジャンプするかのように急に別業界であるIT、しかもソフトウエア開発の現場に踏み込んで行ったのか ー それは結論から言うと「たまたま」です。
転職で、まずやったのが、通勤圏内で「未経験者OK」の募集案件を探して面接のアポを取ることでした。未経験でも話しを聞いてくれて、前職と違う職種ならなんでも良かったんです。
そうやって半ば当てずっぽうに行った職探しの結果、いくつかは受かり、いくつかは落ちました(当時、友人から「社会科研究でもしてるかのように就職活動を楽しんでいるね」と言われました。自分自身もフィールドワーク的な感じというか、ちょっとした冒険というか、そういう感覚はありました)。
即決するが…右も左もわからない
いくつか受かったうちの1社がソフトウエア開発職でした。
たまたまですが、たくさん応募した中で
・最も自宅から近く
・最も給料がいい
のもそこだったので、入社することを即決しました。
信じられないかもしれませんが、ほぼなにも考えずにそこに決めましたね。
即決ですから、
製品やサービスとしてなにを作るのか?
Web系なのか、アプリケーション開発なのか?
プログラミング言語はなにを使うのか?などなど、
今の自分なら最低限事前に調べそうなことを全部端折って、いきなり入社してしまいました。というか、そういうのなにも知らなかったんですよね。観点がなかった。
入社前の面談で、開発言語では主に「VBA」を使うことは担当の方から聞いて覚えていたのですが、なにを言ってるのか分かりませんでしたw
独学のはじまり
採用が決まってから入社まで確か10日前後あったんです。その間に独学でプログラミング言語を勉強しようと思いました。
普通に考えればここでVBAを勉強すべきですが、VBAがプログラミング言語だという認識がないレベルの私は、とりあえず近所の本屋さんに行きました。
プログラミング関係の本が並んでいる棚を見渡してまず思ったのが「プログラミング言語っていろいろあるんだなぁ」ということです。
同時に「どれ勉強すればいいんだ???」とも思いました。
で、「なんか、なんでもいいから聞いたことあるやつやろう」とw
それで買った本が「Java入門」...。はい、全然VBAから遠いところから勉強を始めてしまいました...。
ただ、いま振り返るとJavaはやっといて良かったなと思います。メモ帳にコードを書いて、コンパイラでコンパイルして、コマンドプロンプトで実行という流れとか、そういうVBAだと省略されることもちゃんと自分でやってみた経験が事前にあったのは良かったと思います。
まぁでも入社してから直接使える知識はほぼ何も得ることができませんでしたねw
(前置きが長くなりました。)
いよいよVBAへ???
そういう経緯で、私がVBAの勉強を始めたのは入社後になります。
あとVBAのコードを書き始めたのは入社して数日経ってからだと記憶してます。
じゃあその最初の数日はなにをしていたかと言うと環境のセットアップですね。具体的には、
1)上司に連れられてドスパラに行き、自作PCのパーツを買う
2)組み立てる
3)Windowsをインストールし
4)社内ネットワークに繋げ
5)開発に必要なアプリケーションをインストールする
こんなことで過ぎて行きました。
次はSQLの勉強
自分のPCをセットアップできたからと言ってVBAの研修が始まったかと言うとそうではありませんでした。
次に待っていたのはSQLの勉強でした。
その会社の製品は当時マイクロソフトOfficeのAccessからMicrosoft SQL Serverに接続して情報を管理していました。なので、Access/VBAでプログラムを開発する前にSQLの知識が必要とされたわけです。
私自身は実はこのSQLという宣言型言語に出会ってプログラミングに開眼したところがあります。「あ、これは楽しいぞ!」と思いました(この話はまた別の機会にでも)。
ようやくVBA
さて、 そういった前準備を経て、やっとVBAです。
さぞハードでアカデミックな研修が待っているのかと思いきや、完全にその淡い期待は裏切られましたw
どういう研修だったかと言うと、
・朝の30分ぐらいで、その日の「お題」的ななにかがふんわり提示される
・あとは夕方まで基本は放置プレイ
という感じでした!
一応1ヶ月ぐらいの工期で「大筋こういうアプリが最終的にできるように頑張ってね」というのはありました。でも、それをどっからどう作っていくかは全然指示されませんでした。
後から分かったのは、朝の「お題」は会社内でコーディングするための基本ルールからの切り出しだったということです。要は「うちの会社でコーダーやるなら、この書き方は理解して守れよ」というのを小出しにして教えていたわけです。
この状況で私はどう行動したかと言うと、就業後に本屋さんに行きVBAの本を買いましたw
研修のスタイルから察して「VBAを使いこなすための知識的なところは自分でやれ」ってことだなと思ったんです。
それからは、日中は会社でコーディング、帰宅後は家で勉強(知識的な仕入れ作業)というサイクルで技術を習得していきました。
私のやり方
ここまで書いたのは主に研修中のシーンを描写しています。
本採用後に実際の製品コードに触る機会を得ていくわけですが、新人のうちはひたすら先人のコードを読んでやり方をかき集め、その中から取捨選択して自分のコードを作っていきました。
この会社には数年いたので、自分が研修する側になることもありましたが、基本スタンスは会社の風土のままでしたね。そこまで研修のデザインをどうこうしようという観点がこのときはなかったです。つまり「丸投げ & 放置プレイ」スタイルを割と引き継いでたと思います。
こうやって文面で読むと「なんて酷い会社だ」と思う人もいるかもしれませんが、独学派の自分にはマッチしてました。「変にあーしろこーしろ言われるより全然いい」というのが個人的な意見ですね。
まとめ
一旦まとめておきましょう。
・他言語の勉強も無駄ではない。
・勉強する準備が整うまで意外といろいろやることがある。
・放置プレイも当事者に受け入れられれば一概に悪いとは言い切れない
こんなところでしょうか。
次回予告
次回は私がフリーランスになるにあたって習得に取り組んだ言語:Perlを題材にお話したいと思います。
***
2019-10-06追記:第3段投稿しました↓