この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ITコンサルってプログラミングができないとダメなのかな?
今回はそんな疑問にお答えします。
- ITコンサルのプログラミング力の実態
- ITコンサルにとってプログラミングが必要なケース、できると有利になるケース
- ITコンサルが学ぶべきおすすめのプログラミング言語
こんにちは、おっくそです。
「ITコンサルってプログラミングができないとダメなのか」
「ITコンサルにどれだけプログラミングが求められるのか」
気になる方も多いと思います。
ITコンサルを目指す方にとっては、プログラミングを勉強すべきなのか迷う方もいるのではないでしょうか?
もしくは現役ITコンサルの方で、「プログラミングができないけどこのままで大丈夫かな?」と不安に感じる方もいるでしょう。
そこで今回は「ITコンサルにプログラミングが必要なのか」について僕の経験も元に書いていきます。
「ITコンサル業界として、プログラミングができる人はどれだけいるのか」についてもご紹介しますね。
最後まで読んでいただくことで、「ITコンサルにプログラミングが必要なのか」という疑問は解消すると思いますので、ぜひご覧ください。
【著者プロフィール】
・新卒から勤務していたアクセンチュアを退職しフリーランスとして2022年に独立
・フリーランスのITコンサルとして案件を受けている
ITコンサル業界のプログラミング事情
まずはITコンサル業界のプログラミング事情についてご紹介できればと思います。
最初に断っておきますが、僕自身が見てきた世界ですので、あくまでも参考情報として捉えてください。
ITコンサル全員がプログラミングできるかというと、できない人もいるのが現状です。
ITコンサルというと、DX戦略策定のような戦略コンサルよりのものもあれば、システムアーキテクチャを考えるアーキテクトのような役割もあります。
もしくは僕のようにプロジェクトマネジメント領域(PMやPMO)を主戦場にする方もいます。
そして年次が低いメンバーは、各プロジェクト内でコンサル業務やSE(システムエンジニア)業務をすることになります。
ITコンサル領域は上記の感じなので、プログラミングができないとダメかというとそうではないですね。
新卒メンバーはプログラミング未経験で入ってくる人たちも多いです。
また本記事ではプログラミングに視点を置いていますが、アーキテクチャを考える立場であればサーバー構成やネットワーク、クラウドなどのインフラ領域の知見が必要になってきます。
なので結局どんな業務をするのかによって、プログラミングスキルの要否が変わってくるわけですね。
コンサルよりのプロジェクトで多く経験を積んでいた方もいれば、エンジニアよりのキャリアをずっと歩んでいる方もいます。
(エンジニアとITコンサルの線引きはどこ?違いはなに?という話にもなってしまいますが、その話はまた今度ということで)
ITコンサルにプログラミングは必要なのか?
「ITコンサルにプログラミングは必要なのか?」という疑問があると思いますが、この疑問に対しては「場合による」という回答になります。
上記で書いたように、「ITコンサルとしてどんな業務をするか」によるからです。
なので「すべてのITコンサルにプログラミングは必要?」という問いに対しては「No」です。
つまりITコンサルには「プログラミングが必要なケース」があるわけですね。
また「必須ではないけどプログラミングができることで有利になるケース」というのも存在します。
- プログラミングが必要なケース → must
- 必須ではないけどプログラミングができることで有利になるケース → nice to have(あるとよい)
なのでプログラミングが「マスト(must)になるケース」と「ナイストゥハブ(nice to have)のケース」をそれぞれ紹介していきますね。
ITコンサルにプログラミングが必要なケース
まずはITコンサルにプログラミングが必要なケースをご紹介したいと思います。
2パターン紹介します。
データ分析を行う時
まず1つ目はデータ分析を行う場合にプログラミングが必要になります。
Python(パイソン)やR(アール)と呼ばれる統計向けのプログラミング言語を使ってデータ分析をする業務ですね。
言うまでもなく業務としてプログラミングをするので必要になるということ。
ただすべてのITコンサルがデータ分析をやるわけではありません。
あくまでもITコンサルタントという職種が行う業務の1つと考えてよいですね。
ちなみに僕はデータ分析をしたことはなく、PythonやRも触ったことがあるレベルです。
設計する時
ITコンサルにプログラミングが必要なケース2つ目は、「設計する場合」です。
まだ経験が浅い人はシステム開発プロジェクトに入ることが多くなると思いますが、その中でシステムの設計業務をすることもあるでしょう。
そんな時にプログラミングの知識がないとシステムやアプリケーションの設計をすることはできません。
プログラミングする力が必要というよりは、「プログラミング的な思考力が必要」という方が正しいかもしれないですね。
バリデーションチェックを行なって、次にこの処理を行い、最後にデータベースに登録する、等。
プログラミングの経験があることで、システムがどのように動くのかを把握することができ、設計に活かせるということです。
プログラミングができたら有利になるケース
必須ではないけど、プログラミングができた方がITコンサルにとって有利になるケースがあります。
それは、開発工程の見積もりを行う場合などです。
- この機能を開発するのにどれくらいの工数がかかるのか
- メンバーの数は足りるのか
- このバグを改修するのにどれくらいかかるのか
このように開発工程に関わる見積もりの場面になると、プログラミング経験があった方がより正確な見積もりに繋がりますよね。
もしくは自身でプログラミング経験がなくても、開発工程を経験していれば感覚は養えるのではないでしょうか。
見積もりだけでなく、開発工程の中に入っていく場合もプログラミング経験があると有利になります。
どういうことかというと、例えばPMOとして開発チームの中に入って課題・改善をしていく場合ですね。
進捗が遅れている開発チームのどこに課題があるのか、何が原因なのか、改善していく際にプログラミングを行う開発工程を知っていると有利になると感じます。
ITコンサルが学ぶべきプログラミング言語とは?
最初に紹介したデータ分析のように、ITコンサルにとってプログラミングが必要な場面もあれば、なくても大丈夫な場合もあります。
ここでは「ITコンサルが学ぶとしたらどんなプログラミング言語がよいのか」についてご紹介していきますね。
データ分析で使うPythonやRなどは省いています。
システム開発言語
まずはプロジェクトで開発するシステムでの言語です。
JavaのシステムであればJava、WebアプリケーションであればTypescriptやPHPになるでしょうか。
僕が開発を経験した時に学んだ言語
僕が開発を経験したプロジェクトで使っていたのが、まさにJavaやTypescriptでしたね。
ABAPなどのパッケージ開発言語
システム開発においては、イチから作るカスタム開発/スクラッチ開発とパッケージ開発があります。
パッケージで有名なのがSAP(エスエーピー)ですが、パッケージ専用の言語があり、SAPの場合はABAP(アバップ)という言語。
このABAP、市場価値は高いので、SAPのコンサルタントの方は学んでみてもよいかと思います。
Excelマクロ(VBA)
ここで少し経路を変えて紹介するのがExcelマクロです。
このExcelマクロを動かす言語がVBA(Visual Basic for Applications)ですが、よく単純に「マクロ」と呼ぶことが多いですね。
ITコンサルだけでなく、コンサルという業界はまあ頻繁にExcelを触ります。
分析資料、一覧資料、設計書、あらゆるものがExcelで作られるんですよね。
そんなExcelを一括で処理したり、一連の処理を自動化したりできるのがマクロなわけです。
このマクロを作ることができれば、めちゃくちゃプロジェクト現場で重宝されるんですよ。
とくにスタッフ時代(部下もいないメンバーの頃)にマクロができれば、それだけでバリューになります。
システム開発の工程とは関係ないですが、コンサル業務として重宝されるので紹介しました。
SQL(プログラミング言語ではないが)
もう1つ、紹介したいのがSQL(エスキューエル)です。
データベースを扱う言語なので、プログラミング言語ではないのですが紹介します。
ここでお伝えしたいのは、データベースを作るようなDDL(Data Definition Language)というより、いわゆるSelect文やUpdate文などのDML(Data Manipulation Language)のことです。
これもシステム開発プロジェクトやデータ分析などで使うことになる可能性が高いんですよね。
調べたらすぐ分かるものですが、「Select文ってなに?」という方は軽く勉強してみるとよいと思います。
プログラミングの勉強方法
データ分析ならPythonやR、システムの開発言語、マクロやSQLなどいろいろな言語をご紹介しましたが、どのように勉強すればよいのか。
プログラミング言語であればネット上に無料講座があったりしますから、調べてみてもよいでしょう。
ただ、いざ調べてみると体系的に学べるのか不安になったりするんですよね。
そんな時はやはり本です。
僕もJavaやディープラーニングの本を買って勉強したりしました。
たくさん種類があると思うので、自分に合いそうなものを選ぶのがおすすめです。
「わざわざ本を買って読むのが苦手」という方は、オンライン講座もおすすめ。
Udemy(ユーデミー)では色々な講座があるので、ぜひ探してみてください。
僕もAngularの勉強をしている時に、Udemy(ユーデミー)にお世話になりました。
順番にステップごとの動画になっているので、自分のペースで進められますし、分からなければ質問もできます。
定期的にセールを実施しているので、そのタイミングを狙うのがおすすめ。
Udemyホームページでチェックしてみてください。
クラウドなどのインフラ系や資格の勉強もおすすめ
プログラミングの話をこれまでしてきましたが、プログラミングにこだわる必要はありません。
例えばAWSなどのクラウドに関する勉強や、プロジェクトマネジメントなどの資格に関する勉強など、学ぶ価値のあるものがたくさんあります。
ITコンサルとしては、システムのアーキテクチャを考えたり、プロジェクトを管理したり、プログラミングを使うデータ分析以外の業務があります。
自分がどんな業務につきたいかによって、勉強する分野を考えてみてください。
僕もAWS SAAという資格や、スクラムマスターの資格を取ったりしてきました。
僕の勉強方法については上記の記事でもご紹介していますが、実は資格の勉強もUdemy(ユーデミー)でできるんですよ。
恐るべし。
もちろん参考書で勉強してもよいですし、オンラインであればUdemy(ユーデミー)といった感じですね。
コンサルとしての基礎スキルを鍛えることも忘れずに
プログラミングのようなITスキルも重要ですが、コンサルとしての基礎スキルを鍛えることも忘れずにいきたいですね。
例えばロジカルシンキング。
いくらプログラミングなどのITスキルを高めたとしても、そもそもロジカルシンキングの力がなければITコンサルとしてやっていけません。
「ロジカルシンキングに自信がない。どうやって鍛えればいいか分からない」
そんな方は、まず本を読んでみることをおすすめします。
まずどんな考え方を持つべきなのかを知ることができると思いますよ。
僕がアクセンチュアに新卒入社した際に、推薦図書として読んだのが「考える技術・書く技術」という本です。
論理的に考えるという基本的な思考力を学べると思うので、気になる方はぜひ。
まとめ
ITコンサルにプログラミングは必要なのかについて、現役の視点からご紹介しました。
そもそもプログラミングが必要なケースと、プログラミングができると有利なケースがあります。
- プログラミングが必要なケース(データ分析や設計をする場合)
- プログラミングができると有利なケース(開発工程の見積もりをする場合)
それを踏まえて、ITコンサルが学ぶべきプログラミング言語をご紹介しました。
- 自分のプロジェクトでのシステム開発言語
- マクロ(VBA)
- SQL(プログラミング言語ではないが)
またプログラミングだけでなく、ITコンサルとしてはクラウドや資格の勉強もおすすめであること、そしてロジカルシンキングなどのコンサル基礎も高めることもお忘れなく。
勉強方法としては、参考書籍もありますが、Udemy(ユーデミー)というオンライン講座サービスもおすすめなので自分に合った方法でITコンサル力を高めていってください。
「ITコンサルとしてどんな勉強していけばよいか分からない」という方は、僕でよければ相談に乗れますので、TwitterのDMかお問い合わせから聞いてもらって大丈夫です。
最後まで読んでいただきありがとうございました。