皆さん、こんにちは。アーサーです。
私は、大学卒業後、総合系コンサルティングファームに就職し、入社3年目を迎えたITコンサルタントです。
前回の記事 「『文系出身+プログラミング未経験』でもITコンサルタントになれる、ただし……」 では、文系出身でもITコンサルタントになれるかどうかについてお話しました。今回は、ITコンサルタント志望の大学生が入社前にどれくらいプログラミングを勉強しておいた方がいいのかをお話しします。
就活を控えている大学生や、内定はもらったけれど、プログラミングの経験がなく、入社後についていけるか不安な方に向けてお話ししていきます。
どのプログラミング言語を業務で使うのかは、配属されるまでわからない
プログラミング未経験であれば、業務で使うプログラミング言語を入社前に先取りして勉強しておきたいと思う人もいるでしょう。
「最新のテクノロジーは使わない?意外と地味なITコンサルタントの実態」 で書いたように、ITコンサルタントといっても、最近は開発の仕事まで行う会社が増えてきています。
開発の現場で使われる言語は、JavaScript、TypeScript、Java、Pythonなどたくさんありますが、どのプログラミング言語を使うかは、実際にプロジェクトに配属されないとわからないのが実情です。
ITコンサルタントは数多くのプロジェクトに関わりますから、入社前にいずれかの言語を学んだところで、実際のプロジェクトで使われない可能性が大きいということです。
総合コンサル入社時は高度なスキルは必要ない
では、入社前にプログラミングを全く学ぶ必要がないかというと、そうではありません。
細かい部分は異なりますが、どのプログラミング言語も、似たような概念や記法(書き方)があります。
この共通部分や感覚を理解していれば、たとえプロジェクトで未経験の言語を扱うことになっても、より早く対応できます。
そのため、入社の時点で習得しておくと「お得」という意味では、特定のプログラミング言語を完璧に習得していることよりも、プログラミング言語に共通する概念を理解していることが大切だといえます。
どのプログラミング言語から勉強するのがよいか
プログラミング言語の共通概念を理解するには、JavaScriptから学んでみるのがおすすめです。
JavaScriptは、どのパソコンでも使うことができ、初心者でも勉強を始めやすい言語です。
画面表示を操作するための言語なので、自分が書いたコードの結果がすぐに画面上に反映されます。また、YouTubeなどにもたくさんの講義動画がアップロードされているので、取り組みやすいと思います。
また、JavaScriptを勉強する過程では、HTMLとCSSにも触れることになります。
この2つは厳密にはプログラミング言語ではなく、そこまで難しいものではないため、入社後の研修で扱われないことがあります。そのため、JavaScriptを学ぶ過程で、最低限のHTMLとCSSの知識をつけておくといいでしょう。
私は入社前にプログラミングスクールに通い、Pythonという言語を学びました。機械学習(人工知能)によく使われる言語ということもあり人気が高いのですが、プログラミングを始めるまでの準備がやや大変で初心者には馴染(なじ)みにくいルールがあるので、最初に取り組むにはややハードルが高いプログラミング言語だと思います。
面接で求められるのは、粘り強さと思考力だ
総合系やIT系のコンサルティングファームでは、面接でプログラミング経験の有無を問われる場合があります。具体的にどの程度のスキルが求められているかは、志望している採用枠によるでしょう。
経験者やエンジニアの枠でエントリーするのなら、相応のスキルや完成物が必要ですが、コンサルタント職なら、そこまで経験がなくても不利にはなりません。
今回は、コンサルタント職を志望した際の面接でのアピールポイントについてお話しします。もちろん技術力があるに越したことはないのですが、経験者でない新卒採用ならば、能力以上にポテンシャルの有無を重要視するはずです。
プログラミングスキルよりも重視されるのは以下の3点だと考えています。
1. 開発系のプロジェクトに配属されても、問題なくやっていけるか
2. わからないことがあっても、調べながら最後までたどり着くことができるか
3. 機械的にコードを書くのではなく、自分なりに考えて改善したことがあるか
1. 開発系のプロジェクトに配属されても、問題なくやっていけるか
コンサルタント職といっても、最初はプログラミングコードを書くなど、技術寄りの仕事をすることがあります。そのため、面接官からしたら、全くプログラミングを勉強したことがないと言っている人はあまり採用したくないでしょう。
何か1つでもプログラミング言語の勉強をしていて、1つでも完成物があれば、開発のプロジェクトに配属されてもうまくやっていけると思われるでしょう。
2. わからないことがあっても、調べながら最後までたどり着くことができるか
実際にプロジェクトに配属されて開発業務に携わるとき、経験者であってももちろん知らないことがあり、調べながら開発を進めていきます。そのため、自分がプログラミングを勉強して、苦労したことや、それをどのように解決したかを話すことができれば印象がいいと思います。
3. 機械的にコードを書くのではなく、自分なりに考えて改善したことがあるか
開発業務に携わる場合も、コンサルタントである以上、ただ開発するだけでなく、開発過程で、どうすればより良いものになるかを考える必要があります。そのため、この点をアピールすると、配属先で、期待成果を出してくれるのではないかと評価されるでしょう。
以上の点を踏まえたエピソードの例がこちらです。
1カ月かけてHTML、CSS、JavaScriptを使ったウェブサイトを作ったが、作る際に●●のような苦労があって、xxというメディアで調べたらなんとか解決して、一般公開することができた。
しかし、いざ一般公開しても、月に10人ぐらいしかサイトを訪問していないことがわかり、●●を改善することで、月に200人以上が訪問するサイトにすることができた。
この例では、基本的なウェブサイトを作成しただけなので、この人のプログラミングスキルは高いものとは言えませんが、入社後にITコンサルタントとしてやっていけるだけの十分なポテンシャルを示すことができていると思います。
ITコンサルタントとして大手のコンサルティングファームに採用されるような人は、何年もプログラミングの勉強をしてきた猛者、というイメージがあるかもしれませんが、実際にはそうではありません。
ぜひ、未経験だからといって諦めたり、自分にはプログラミングの適性がないと思い込んだりせず、簡単なところから、一歩ずつ勉強してみてください。
▼同シリーズの他の記事はこちら
・ 最新のテクノロジーは使わない?意外と地味なITコンサルタントの実態
・「文系出身+プログラミング未経験」でもITコンサルタントになれる、ただし……
(Photo:Andrey Suslov/Shutterstock.com)