VBAスキルを身につけてきた人が、VBAプログラマーとしてのキャリアに進むかどうかは悩みどころの一つです。
なぜなら、VBAプログラマーとして働くことを考えると以下のような悩みが浮かんでくるからです。
・VBAプログラマーの求人や募集は本当にあるのか?
・VBAより他の言語を学んだ方がいいのではないか?
・VBAプログラマーの仕事の内容やレベルはどのようなものなのか?
・今の自分のVBAのスキルで仕事をやっていけるのか?
上記のことがイメージできず、悩んでしまうものです。
しかし、このような悩みは実際に働いてみないと分かりません。
そこで、20代後半で非IT職から未経験でVBAプログラマーに転職した人にVBAエンジニアの実態について聞きました。
以下で、VBAプログラマー・エンジニアの「需要や将来性」、「求人や募集」、「仕事の中身」まで詳しく説明していきます。
目次
営業事務で未経験からVBAプログラマーに転職
筆者は、営業支援業務事務として数年間働いた後、未経験でVBAプログラマーに転職しました。
転職のきっかけは「もっと評価される環境で、さらにVBAのスキルを伸ばしたい」と感じたことです。
営業事務として働いていた当時は、複数社に送付していた依頼書を自動で出力できるVBAツールを作成し、年間240時間分の業務効率化に成功しました。
しかし、非ITかつ営業が中心の会社だったために、十分な評価を得ることはできませんでした。
そうした環境から、適性に評価されスキルを伸ばせる環境を求め、VBAエンジニアへの転職を決意しました。
実際に転職をしてよかったことは、大きく3つあります。
・開発に集中できる
・自分のスキルレベルが客観的にわかるようになった
・働き方が柔軟になった
前職とは違い、開発に集中できる環境で柔軟に働けており、充実した日々を過ごしています。
プログラマー未経験で、非IT職からVBAエンジニアに転職した話は以下で詳しく紹介しています。興味がある人は読んでみてください。
VBA専門プログラマーはどのような仕事をする? 仕事内容を紹介
これからVBA専門プログラマーとして働きたいと考える人にとって、仕事内容や仕事のレベルは気になるところです。
そこで、非IT職種からVBAプログラマーに転職した筆者が、VBAプログラマーの仕事内容や仕事のレベルについて紹介していきます。
VBAプログラマーとして日々こなしている業務は大きく3つに分けられます。
仕事内容1|発売しているツールの保守(バグ修正、機能追加)
仕事内容2|新しいツールの開発
仕事内容3|ツールの使い方についての問い合わせ対応
VBAはツールの性質上、バックオフィスで日々使われているものがほとんどです。
そのため細かなバグ修正や、機能の要望、使い方の問い合わせは少なくありません。
サポート担当を通して、私たち開発に入ってくる情報をもとにプログラムの開発・修正を行います。
時にはユーザーと直接やり取りしながら、ヒアリングし、要望を実現していきます。
例えば、転職して最初に担当したのは、一覧で入力した情報を元に請求書を発行するツールの機能追加でした。
「請求先ごとに自分で修正できる注意書きを入れたい」という要望に応えるための案件でした。
請求書発行のタイミングが近かったこともあり、2日ほどでプログラムを作成し機能を実装しました。
転職して1年も経ち、仕事に慣れてくると、月に20~30件ほどの修正や機能追加を行うことになります。
VBAプログラマーの仕事のレベルや難易度とは?
VBAプログラマーとしての仕事のレベルは、案件によって様々です。
簡単な修正のみで終わる難易度が低い仕事もあれば、ツールをゼロから設計して開発する難易度の高い仕事もあります。
そこで難易度が低いものからの3種類について、それぞれ具体的な案件を紹介します。
難易度「低」の事例|保守案件1
難易度「中」の事例|保守案件2
難易度「高」の事例|ツール作成
難易度「低」の事例|保守案件1
難易度が低い仕事の多くは、保守案件です。
もちろん修正や機能追加も含む保守案件には難易度の高いものもあります。
しかし多くは単純なエラー回避を加えるなど、簡単な作業となります。
例えば、ユーザーから「数値が異常」や「ツールが止まってしまった」といった問い合わせがあると、開発部署で内容を精査します。
具体的には、同じエラーを再現し、どの処理で異常が起きているかを特定していく作業になります。
問題箇所を見つけたら、想定通りの処理になるようコードを修正し、リリースします。
特に難易度の低いものだと、ある値を入れた時のエラー処理をプログラムに数行追加して終了することもあります。
細かな案件も多く、業務のおよそ3割程度はこうした難易度の高くない案件の対応です。
難易度「中」の事例|保守案件2
難易度「中」の仕事の多くも保守案件となります。
ただ保守案件といっても中規模のバグや機能追加です。どちらかといえば、バグ対応の方が多い印象です。
例えば、実際にバグ修正を行う際、小さなバグであれば一部の修正で済みます。
しかし、ある程度規模が大きくなると、影響範囲は想像している以上に広くなります。
例えば、「入力した値を基に計算される項目の再計算が実行されてない」というバグ事例がありました。
このバグは、リリースしているツールの多くの機能で参照されている数値でした。
そこで、どの機能から参照されているのかを洗い出し、それら一つ一つの数値を確認しながら修正していきました。
続いて、修正したプログラム影響する可能性がある機能を一つ一つ調べて、問題なく動作することをチェックしていったのです。
このようにチェックすべきプログラム量が膨大になることに加え、VBAプログラムや製品の知識が要求されます。
そのため、保守案件といっても難易度が低いとは言えません。
しかし、慣れてくれば対応は難しくありませんし、依頼頻度の高い仕事です。
仕事の割合としては全体の5割程度です。
難易度「高」の事例|ツール作成
VBAプログラマーとして最も難易度が高い仕事はゼロからのツール作成です。
難易度が高い理由は、「膨大な工数」と「仕様決定に知識」を要するからです。
工数がかかるのは、ゼロからツールを作成する場合、以下の工程をこなす必要があるからです。
工程1|要件設定
工程2|仕様決定
工程3|プログラム開発
工程4|動作チェック
上記の工程をこなすだけでも、数日はかかります。
また「仕様決定に知識が必要」という理由もあります。ツール作成では、対象分野の知識を身につける必要があるのです。
例えば作成すべきツールが、会計業務で使うものだとします。そうすると、会計についての専門知識を学ぶ必要があります。
実際、専門用語を理解しないと、目的に合ったツールを作成できません。
そのため、自分で調べるだけでなく、会計知識の深い先輩社員に何度も話を聞き、会計についての知識を深める作業から始めなくてはなりません。
そこまでしてようやくユーザー要望を満たすツールを作ることができます。
このようにツール作成には知識を補う必要が生じるので、難易度は高くなるのです。
VBAプログラマエンジニアの求人や年収とは|400~500万が相場
VBAプログラマーの年収が気になる人も多いです。
まず年収相場をお伝えすると400~500万程度です。500万を越える年収が提示されているケースがありますが、これはVBA経験年数が長いことが必要です。
とくに未経験からVBAエンジニアになる場合、500万をこえるのは難しいです。
以下で実際の求人をいくつか紹介します。
求人事例1
求人事例2
求人事例3
仕事内容にもよりますが、相場(400-600万)通りです。
VBA以外の言語で年収が高いプログラム言語|PythonやJava
一方で、機械学習で人気のPythonエンジニアの年収相場は500~1000万円です。
求人事例|Python
また多岐にわたる分野で採用されているJavaエンジニアの年収相場も400~800万円と高い水準となっています。
求人事例|Java
このようにPythonやJavaのようなプログラミングスキルと比較すると、VBAの年収相場は少々見劣りしてしまいます。
しかし、VBAは学習がしやすく、様々な企業で使われているため、どこでも重宝されるスキルと言えます。
VBAを使った副業について
ここまでVBAプログラマーの仕事について紹介してきました。
VBAプログラマーの仕事であれば、副業で収入を上げることが可能です。
例えば、私はVBAスキルを使って5万円の案件を受注したことがあります。
この案件は10時間で仕事を終えたので、時給5千円の仕事でした。
また、ランサーズやクラウドワークスといった在宅でも出来る仕事の求人サイトを見てみると、3000円~600,000円まで幅広い案件が募集されています。
VBAを使った副業については、以下の記事で詳しく紹介しています。
ぜひ合わせて読んでみてください。
VBAプログラムの需要はどれくらいか?
VBAプログラマーの需要は比較的高く、安定しています。
その理由は、VBAは金融関係のシステムに関わる案件が数多くあるからです。
こうした案件を発注する企業は資金に余裕があることが多いです。
実際、金融関係のツール開発依頼は多く、一度開発すれば定期的メンテナンス業務も発注されるため、継続的に依頼されます。
また需要が高い理由は、金融関係のツール開発が多いだけではありません。
Excelは汎用性が高く、多くの企業で広く浸透しているアプリケーションのため、色々な場面で必要とされます。
実際、エクセルを使わない企業はほとんどありません。中小企業から大企業までどこでもエクセルを使って仕事をしています。
こうした特性から、大規模なシステム開発案件だけでなく、小規模な事務作業を効率化するレベルの案件も少なくありません。
そのためVBAプログラマーの需要は高く安定して人材の募集が行われています。
実際、私も働いて感じるのは、VBAプログラマーも昨今の人手不足の例外ではなく、需要に対する供給は追いついていません。
特にVBA開発が可能なレベルの人材は不足していると感じます。
他の知識を持っていると強い|SQLや経理知識
VBAに加えて、SQLなどのデータベース関連の技術もあわせて持っていると、月に50~70万円の高単価案件も十分狙えます。
また、案件の多い経理知識(金融業界)の業務知識もVBAの知識と組み合わせると強みになります。
このようにVBAと他のスキルを身につけておくことで、キャリアアップしやすいです。
VBAプログラマーに将来性はあるか
VBAプログラマーの将来性は非常に高いといえます。
理由としては、下記の点があげられます。
将来性1|予算の大きい金融業界で案件が多いこと
将来性2|汎用性の高いMicrosoftOffice製品を扱えること
将来性3|(将来的に)機械学習結果の簡易的なデータ分析ツールの作成が期待できること
これらの理由を考慮すると、VBAの案件がなくなることはまずありません。
豊富な案件がある以上、VBAプログラマーに将来性はあると断言できます。
また、VBAプログラマーの中には、私のように非IT職から独学でVBAを身につけた人も少なくないでしょう。
そうした人は、新しいスキルを身につける学習欲の強い人も多いはずです。
その性格を活かして、VBAと他のスキル(金融業界の業務知識やデータ分析に関する専門知識など)を身につけていけば、間違いなくキャリアを伸ばしていけます。
VBAの将来性については、以下の記事でも紹介していますので合わせて読んでみてください。
VBAの資格はプログラマーには必要か?
VBAプログラマーになるためには、資格が必要かどうかを考える人がいます。
しかし、VBAプログラマーになるにはVBAの資格は不要です。
例えば、VBAエキスパートという資格がありますが、これを取得してもVBAプログラマーとして働くには全く役に立ちません。
なぜなら、資格より実績・経験だからです。
実際、転職時には「VBAエキスパートという資格を持っています」より「○○という案件をやって、○○の成果を上げました」という人が信頼できます。
例えば、医者に病気を見てもらうとき、「医師免許を持っています」という人より「内科の領域で10年間のキャリアがあり、1000人以上診てきました」という人の方が受診したくなります。
このように実績のほうが圧倒的に大切です。資格は不要なのです。
このことについては、以下の記事で詳しく紹介しています。興味がある人はぜひ合わせて読んでみてください。
VBAよりJavaや他の言語を学ぶか?
プログラミングを始めるのであれば、VBAよりもJavaを学んだ方が良いと考える人もいます。
しかし、それは一概に判断できることではありません。
そもそも、VBAとJavaでは使われる用途や特徴が大きく異なっています。
具体的にはそれぞれ、次のような案件が多いです。
代表的な用途1|予算作成ツール
代表的な用途2|作業効率化ツール
代表的な用途3|データベースと連携したシステム
代表的な用途1|金融系管理システム
代表的な用途2|生産管理システム
代表的な用途3|Androidアプリ
上記のような傾向があります。
つまり、VBAは普段の作業を効率化するような用途で使われることが多い一方で、Javaは大規模な基幹システム開発などに使われることが多いです。
はっきり言って、言語自体の特性も違うため、VBAとJavaのどちらが優れているかは言えません。
開発したいツールによって使用される言語が違うだけです。
そのためやってみたい仕事や、進みたい業界などを考え、よりマッチしている言語を選択すればいいでしょう。
VBAプログラマーになるなら強みを理解し、それを活かすべき
VBAが他の言語に劣っていると考えたり不人気だと考える人は多いです。
しかし、VBAには他にはない強みがあります。以下の2点です。
強み1|汎用性の高いExcel上で動くツールを作成できる
強み2|Excelが非常に幅広く使われており、需要がある
実際、多くの企業や個人でエクセルが使用されています。
そのため、エクセル作業を自動化できるVBAにはそれだけで大きな価値があります。
VBA開発を通じて、時間やコストをとられる単純な作業を自動化できます。
その過程で改善する視点も養えるので、VBA習得はキャリアとしても大きな強みとなります。
またVBAでも大規模システムから、簡易的なツールまで数多くの案件があります。
例えば、フリーランスでは在宅案件も多く、その他のスキルもあわせて持っていれば、月に60万円という高単価案件を受けることもできます。
VBAが分かれば、他の言語も勉強しやすい
Excel作業の延長で学び始められるVBAは、他の言語への足がかりにもなります。
なぜなら、プログラミング言語は本質的には同じだからです。
一つの言語を習得すれば、他の言語の習得はそこまで難しくないのです。
例えば、私はVBA以外のプログラミング言語でJAVAを勉強しています。
JAVAの勉強していると、JavaもVBAも本質的には同じことに気づきます。
もちろん、JavaとVBAは言語特性に明確な違いがあります。
しかし、繰り返しや配列といった基本の考え方の部分は同じです。
このように、プログラミング言語は本質的には同じです。
そのためVBAを習得してれば、他の言語の理解は加速します。
非IT職からVBAエンジニアへのキャリアチェンジは悪い選択ではない
ここまでお伝えした通り、VBAにはVBAだけの強みがあります。
またVBAを足がかりにして他の言語を習得することも可能です。
以下で、私が実際に非IT職からVBAエンジニアへキャリアチェンジした話を紹介しています。
興味があれば、合わせて読んでみてください。
もしVBAプログラマーとしてキャリアを進みたいなら、ぜひその意思を信じて進んでほしいと思います。