現代は情報化社会と言われることもある程に、私たちの生活には便利なIT技術があふれています。IT技術を活用した様々なソフトウェアを開発・製造しているIT企業は、就職先としてとても人気があります。
今回は、そんなIT企業を目指して就職活動をしている人たちに向けて、IT企業でエンジニア採用の面接も担当していた筆者が簡単なアドバイスを紹介しています。IT企業によって求めている人材は当然異なっていますので、すべてが当てはまるわけではありませんが、IT技術を活かして利益を追求している一般的な企業であれば、共通している部分も多いので、是非参考にしてみてください。
最初の心構え「採用する側の考えを理解しよう」
「敵を知り己を知れば百戦危うからず」という言葉があります。これは敵を知った上で更に自分の事を知っていれば、百回戦っても危なくない、といった意味で、孫子の兵法で使われている言葉として有名です。
就職活動をするにあたって自己分析をしておくことは大事ですが、同じように就職先企業の事についてもしっかり調べ、相手の立場になって考えておくと採用される確率を高めることに役立ちます。
企業は利益を追求するために人を雇っていることを忘れない
福祉団体などを除いたほぼ全ての企業は、利益を追求している営利企業です。このことは当たり前すぎて多くの新社会人は意識をしていないことも多いように感じますが、大事な事です。
人を雇うということは給料を払うという事、つまり企業側にとってはコストがかかるのです。
コストを掛けたら当然それ以上の売り上げを上げなければならなくなります。売上よりもコストの方が高ければ、それは赤字ということになり、コスト削減などの対策を取らなければ近い将来その会社は倒産してしまうことになるでしょう。
直接売り上げに結びつかない職種も当然あります。分かりやすいところでいうと総務のような「会社内の様々な運営」に関する業務を行う仕事は、直接売り上げや利益に関与しないため、企業にとっては純粋なコストということになります。
IT企業の技術職の場合、ほとんどが利益を生み出すことを期待される職種です。採用する側は、採用することで企業にどのような利益があるか、将来的にどのような利益を生み出す人間になる可能性があるのか、ということを大きな判断基準にしているので、自分の今の実力や将来に対するイメージをできるだけ明確にしっかりアピールしていきましょう。
エンジニア職としてのプログラマー
IT企業の採用では多くの職種の募集があります。その中でも多いのがプログラマーという職種です。
プログラマーというのは、プログラム言語を用いてソフトウェアを実際に制作する作業を行う職種です。他のエンジニア職と同じように頭とパソコンを使って仕事を行いますが、IT企業の中では力仕事の側面が強く、とにかくマンパワーが必要なため採用人数が多くなる傾向にあります。
プログラマーという同じ職種であっても、就職先の企業や担当する仕事内容によって使われる技術には大きな違いがあるのも特徴で、必要としている分野と異なる技術力や経験は活かしにくいといった場面もあります。中途採用などでIT企業を目指している場合は特に注意が必要です。
企業にとってのアルバイトと正社員採用の違い
学生時代にアルバイトを経験しておくことはとても大事です。アルバイトの経験を通じて、社会の仕事の流れを把握していると判断されたり、指示を受けて業務を遂行する能力があると判断されるためです。
ただし、アルバイトと正社員の採用は、企業側にとっては大きな違いがあります。
一つはコストについてです。アルバイトと違って正社員を雇い入れた場合、企業側には保険やその他諸々のコストが発生します。企業によってそのコストは様々ですが、概ね支払われる給料の倍のコストが掛かっています。給与が30万円の場合、会社は60万円のコストがかかる、ということです。アルバイトの場合は実費だけの場合が殆どなので、10万円のバイト代なら企業は10万円のコスト、ということになります。
二つ目は責任です。正社員を採用した後、企業側は簡単にその社員を解雇することができません。もちろん損害を与えた等の正当な理由があれば別ですが、気に食わないといった些細な理由で解雇してしまうと、企業側の評価に傷がつくこととなり、企業の運営に支障がでてしまうため、容易な解雇判断を下せません。一方アルバイトや派遣の場合は契約を終了にしてしまえばよいだけで、安易に採用や契約終了を行うことができます。
つまり、企業が正社員を採用するということは、相応の覚悟を持って本気で良い人材を選びに来ているという事です。正社員の採用試験に挑むことは、アルバイトの面接とは全く異なっていることを十分理解しておきましょう。
新卒採用と中途採用は採用の基準が違う
IT企業に限りませんが、新卒採用と中途採用では判断の基準が異なってきます。
ここではIT企業でプログラマーのようなエンジニアを採用する際に、新卒と中途でどのように企業側の判断基準が異なっているのかを紹介しています。
先に断っておきますが、IT企業においては新卒も中途もどちらも大事な採用活動で、どちらの方が歓迎されるというものでもありません。企業には中長期の成長戦略があるもので、その中で採用枠や採用計画というものが策定されています。IT業界は中途採用でも十分に入っていける業界ですが、しっかりと求められる基準を理解して挑んでいくと良いでしょう。
新卒採用の場合は意欲が大事
新卒採用の場合でも「即戦力」に期待して技術力を重視する場合もありますが、多くの場合は学生時代の技術力には期待していないでしょう。逆に技術力が高い人は、面接などで知識の偏りや癖などを懸念されたり、変な自信を持ちすぎていて教育や矯正が難しいとと判断され、敬遠されるといったこともあります。どんな時でも謙虚さと素直さは大事です。
ではIT技術などの勉強の必要がないのかというと、そうではありません。勉強して損なことは決してありません。一番大事なのは意欲です。
新卒採用でよくあるパターンで、採用担当者が辟易するのが以下のようなパターンです。
新卒「私は***に興味があり、御社を志望しました」
面接官「***について何かされていることはありますか」
新卒「いえ、今はまだありませんが、御社に入社後には…」
こういった受け答えをするくらいなら「***」について興味があるなどと言わない方がむしろ好印象なほどです。面接官に対して印象を良くしようと、付け焼刃でそれっぽいことを言ってアピールしているのだろうと思われても仕方ありません。
何かに興味があり、どのような行動を起こした or 起こしている途中といった行動力があって初めて、その分野に対する意欲を感じ「採用した後の成長」を期待してもらえます。
中途採用の場合は実績重視
IT企業のエンジニアについては、新卒採用と中途採用では判断基準が全く異なります。
新卒採用は若いので、意欲さえあれば数年後には利益をもたらすとして採用されることも多いですが、中途採用の場合は前職の経験や実績が非常に重要となります。新卒採用から実績の少ない期間(準新卒)に転職をしてしまうと、当然ながら大幅に不利になりますので注意が必要です。
中途採用の場合は、前職でどのような業務を行っていて、全体の中でどういった役割を担当していたのか、できるだけ具体的に自分の経験をアピールしましょう。苦労した点や、その問題を解決した実績などは特に評価されるポイントになりやすいです。また、異なる業種からの転職の場合は、前職の経験を活かせると考えている点などを自己アピールするのも良いでしょう。人をまとめて大きな仕事を達成に導くといった経験などは、業種関係なく評価される実績であり、中途採用ならではの強力なアドバンテージです。
エンジニア中途採用の場合は上流工程の職種が多いかもしれませんが、プログラマーとして働くことを希望している場合は、その旨もしっかり伝えておきましょう。企業側としても、プログラマーのリーダーを欲している場合もあれば、SEやPMといった人材を欲している場合もありますし、単純に人が足りずに作業員としてのプログラマーを正社員で募集していることもあります。
採用は企業と人材のマッチングです。あなたが目指している職種と企業が求める人材が合えば、採用されることになるでしょう。
プログラマーという職種の上を見据えておこう
プログラマーという職種は、IT企業の採用が多い職種でもあり、新卒や中途で狙っている人も多いでしょう。採用が多いということは、当然ライバルも多いため、プログラマーの技術力で勝負して採用を勝ち取ることは簡単ではありません。
ここではプログラマーという仕事について少し掘り下げながら、エンジニアとして高みを目指すことの重要性について、少し紹介しています。
プログラマーという職種は力作業
プログラマーというと、IT関連で働いたことがない人からすると格好よく聞こえたり、憧れたりする部分があるのかもしれません。夢を壊すようなことを言いたいわけではないのですが、IT企業におけるプログラマーは力作業の色が強い仕事です。
雨の日も風の日も、事務所の中でパソコンに向かって仕事することが多く、清潔で安定した仕事という側面もありますが、人によっては朝出社してから夜退勤するまでの間、ひたすらパソコンに対してプログラムを入力し続け、予定通りに進んでなければ残業する・させられるといった、常に追われ続ける仕事です。
どの製造業でも同じですが予定通りに仕事を進められない人は信用を失い、当然仕事もなくなります。
大きな企業になると、広いフロアに何十人ものプログラマーが並んで座って、話し声もしない中で一日中カタカタとキーボードを入力するといったこともあるかもしれません。中国の企業を視察した際に、数百人がワンフロアに集っていた光景は、IT企業が長かった私でも恐怖を感じたほどです。
プログラマーはソフトウェアを制作する上で欠かすことができませんが、商品やサービスを作り上げるプロジェクトの中では末端の製造コストであり、短縮が難しい力作業でもあります。エンジニアの工程の中では最も下流で融通が利かない反面、売り上げや人員など技術面以外の責任が少ない職種でもあります。
進むオフショア開発(海外委託)の波
プログラマーはとにかく人数が必要な仕事で、企業側も早く商品を製造するために様々な方法を模索しています。その中で特に日本の採用に影響を与えているのがオフショア開発(海外委託)の推進です。
一昔前までのオフショア開発は、中国など人件費が安い国にプログラム作業を委託することで、製造コストを抑えるといったものでしたが、近年はかなり変わってきています。
今のオフショア開発では、中国の他にインドなども利用されることが多く、人件費は日本企業に発注するよりも安く、技術力が高く、製造期間が短いという非常に強力な選択肢の一つです。大きな欠点である言語の壁についても、海外の企業側で日本語を話せるSEを配置するといった対策が進んでおり、相対的に国内でプログラム製造をするメリットが少なくなっているのです。
現在は、IT企業側で海外企業への指示管理をする人員が欠乏していることなどが理由で見送られることも多いですが、そういった体制が整えられてくると、日本のプログラマのライバルは海外の優秀なエンジニアたちということになってしまいます。彼らは努力を惜しまず、貪欲にあなた達の仕事を奪いに来るのです。
上流工程エンジニアは日本の企業で奪い合い
日本は圧倒的に上流工程を担うエンジニアが不足しています。一方で、大量の力作業を行うプログラマーという職種は、毎年多くの新社会人が入ってくることもあり非常に多くの人が従事しています。
プログラマーという職種にこだわり、多くのプログラマーを支えるチームリーダーとして活躍しているエンジニアも多くいます。しかし、毎年多くのプログラマーが入ってくる中で、優位性を確保し続けることは簡単ではありません。特定の分野に集中して、誰にも負けない技術力を習得するような工夫が必要となるでしょう。
一方で、プログラマーとして様々な制作現場を経験した上で、どのようにプロジェクトを進めていけば効率よく制作していけるのかが分かってきます。そういったことへの工夫に注力し始めれば、SE(システムエンジニア)やPM(プロジェクトマネージャ)への道も見えてくるでしょう。
現在はどこの企業もIT化やDXといった「情報技術を活用した効率化」を推し進めている状況で、ソフトウェアの制作進行を行える技術者は、引く手数多というよりも奪い合いです。
ドラマや映画などでしか聞いたことが無いような引き抜きやヘッドハンティングのようなことが、キャリアアップという名目で堂々と行われている業界です。必ずしも上を目指さなければならないわけではありませんが、努力して自分の価値を高めていくことで、やりがいのある大きな仕事や高い報酬を得ていくことができるでしょう。
就活で気を付けること
プログラマーとしてIT業界への就職を考えている場合、採用試験は避けて通れません。採用試験の内容は企業によって様々ですが、一般的にプログラマーを採用する場合に企業がどのような点を重視する傾向にあるのかといった点を中心に、いくつかのアドバイスを紹介しています。
特にプログラマーは有名な職種でもあって、そのせいで色々と勘違いをされている場合もあります。勘違いされたまま就職を希望してこられると企業側も困ってしまいますし、何より思っている仕事と違っていたらあなた自身の貴重な時間が無駄になってしまいます。是非参考にしてみてください。
プログラマーでもコミュニケーション能力は重要
プログラマーというとパソコンに向かって黙々と作業している職種と思われがちです。実際に、プログラムの作業が山積みで、朝から晩までパソコンに向かって作業し続けて、挨拶以外話すこともなく退勤するといったことも経験することがあるかもしれません。
しかし、プログラマーと言ってもコミュニケーション能力は非常に重要視されます。
何故なら、プログラムする内容は、コミュニケーションによって伝えられ、不明点の問い合わせや完了の連絡においても人とのコミュニケーションが欠かせません。特にプロジェクトの開始時には、関わる人が全員集まってキックオフミーティングのような会議がある事も多いです。プロジェクト全体の予算や日程、担当・役割分担の確認、注意事項の周知などを目的として行われます。難しく考える必要はなく、的確に不明点を確認し、自身の作業と納品形態/日程を把握さえすればよいだけですが、人と話をするのが苦手な人は、最初は苦労したり失敗することもあるかもしれません。
そのため、プログラマーの採用試験では、「他のスタッフと円滑な連携が可能なコミュニケーション能力を有しているか」は、とても重要な判断材料とされます。
プログラマー志望の筆記試験への対策
プログラマーに限りませんが、一般的に正社員の採用試験では筆記試験が行われます。特に募集人数に対して応募人数が多い場合などは、筆記試験で一定点数以下は一律不採用ということも行われます。
プログラマーという職種は技術職で、必ずしも基礎学力が高い必要はないのですが、残念ながら採用する企業側にも時間的余裕は限られており、応募者全員と面接をしてはいられないのです。なので、最低限平均かそれ以上の基礎学力は身につけておく必要があります。
就活関係の話ではあまり耳にすることが少ないですが、一次試験の結果は面接時にも判断材料として利用されることも多いです。つまり一定の点数を取って一次試験を突破するだけではなく、その上で各科目の回答状況や間違っている問題の確認などをされて、採用の判断がされているという事です。
ここでは特に、プログラマー採用の場合にどのあたりが重視されているのかを紹介します。
数学
数学の科目は、文系の職種ではあまり見かけないかもしれませんが、プログラマーの筆記試験ではほとんどの場合含まれていることでしょう。
プログラム言語はコンピュータを扱う言語で、数学とは関係ないように思うかもしれませんが、プログラムの考え方には数学的・論理的な思考が欠かせません。四則演算や平方根のような単純な計算は、コンピュータが人間の代わりにやってくれます。大事なのは、どこでどういう計算を用いるのかという「発想」です。公式を暗記する記憶力ではなく、どういった状況で公式を使えばよいのかという思考が求められます。単純で分かりやすい例を出すと、波打った線を画面に描画するという要件があった場合、sinやcosが頭に浮かぶ「連想力が求められる」ということです。その他、確率や統計的な計算がプログラムの構造上必要とされることも多いです。
一次試験の合計点も同じくらいで面接も問題なかった2名が、採用枠1名を競い合っているような状況の場合、こういった数学の正答・誤答が運命の分かれ道になってしまうこともあるので、数学の筆記試験は他の科目よりも重点的に対策しておく方がよいでしょう。
英語
理系の学科出身の学生だと英語の授業が少なかったり、そもそも英語自体が得意でないといった人も見かけることも少なくありません。私も学生時代の事を思い出すと、不得意ではなかったものの特別好きでもなかったような気がします。
就職する企業にもよりますが、プログラマーは英語力が必要になる機会が比較的多い仕事です。英会話レベルが必要となる機会は多くありませんが、IT技術は世界的に急発展している分野のため、多くの最先端の資料は英語で書かれており、それらを読解して活用する能力が求められるからです。
逆に言うと、既存の技術を活用するだけで、積極的に最先端技術を導入しない保守的な企業の場合は、それほど英語力は必要ないかもしれません。ただ、実績の多い既存の技術であったとしても、英語の資料や議論の方が圧倒的に情報量が多いため、いずれにしても英語力が高いに越したことはありません。
英会話教室に通ったりする必要はありませんが、プログラムの勉強をする際に英語の資料を避けるのではなく、可能な範囲で読解に挑戦していくようにするなど、英語に対して前向きに取り組む姿勢は、筆記試験だけでなく面接での自己アピールにも役立つでしょう。
技術力はあまり問われないが「行動力」は評価される
新卒採用のプログラマーの場合、学生時代の技術力はそれほど重要視されない傾向にあります。もちろん技術力が高いことはよいことですが、新卒は年齢が若いため企業側は成長に期待するところが大きく、興味や熱意といった部分をより重視するからです。
特に二次試験で行われることが多い面接などでは、自分の興味や熱意をどのように伝えればよいのか、またそのためにどのような行動を起こしておけば有利となるのかを紹介してみます。
個人の勉強 (技術への自己投資)
技術力は重視しないと言いながら、結局勉強が必要なのかと批判されてしまいそうですが、個人的な勉強をしていることは評価の対象となります。ここでいうのは、「勉強の結果」ではなく「勉強の姿勢」です。口だけで綺麗ごとを並べて発言することは誰でも出来ることです。面接官は同じようなことを発言する多くの応募者の中から、「本気で行動する意欲がある人材」を採用したいので、学生時代に将来の自分に向けて自己投資をしている人は目に留まります。
更に勉強で行き詰った際に、その問題を乗り越えた体験談を話すことができたら完璧です。これはプログラマーとして非常に重要視される「問題解決能力」を示すことになるからです。
チーム開発の経験
これは学生時代に経験するには少し難易度が高いですが、友人・サークルやネット上のプロジェクトに関わるでも何でも構わないので、何らか複数人でソフトウェアの制作を体験していることは、大きなアドバンテージになります。
ソフトウェアの制作作業は、一人で行う場合と複数人で行う場合に大きな違いがあります。複数人の場合は、人が制作したプログラムを読み解き利用することも要求されるようになります。人が書いたプログラムが読み解きにくいと感じる経験をすると、自分やチームメンバーの中で「共有しやすいプログラムコードを書く」習慣が養われます。
もちろん共同開発で利用することになることが多いソース管理のようなミドルウェアの活用経験は、面接だけでなく就職した後で必ず役に立つことになるでしょう。
部活などで後輩への指導・教育
プログラムの技術的な内容に限りませんが、部活動などで後輩をまとめて何かの行事を乗り越えるような経験は、面接で好印象を与えるエピソードです。自己投資の点でも紹介しましたが、「問題解決能力」が高いことは、プログラマーにとって強力な武器となります。苦労話と乗り越えた実績は、自己アピールタイムに惜しみなく披露しましょう。
プログラム技術を後輩に指導するといった経験は、部活動や大学のゼミ室などでの機会がないとなかなか難しいかもしれませんが、それ自体が非常に良い経験になりますし、面接ではとても興味を持ってもらえるはずです。
「人に教える」という行為は、本当に理解していることが求められ、教えている際に自分の理解が浅い点に気づくなど、自己を高める機会の宝庫です。しっかりアピールすれば、現時点の技術に対する理解度だけでなく、将来的なチーム教育への貢献を期待され、採用される確率を高めてくれるでしょう。
プログラマーになりたい強い気持ちを行動に移そう
今回はプログラマー採用に向けて、採用する企業側がどのような点をみて判断しているのかという視点から、様々なアドバイスを紹介してきました。
自分の環境では実行が難しいと感じる物や、考えることが多すぎて不安に思ってしまっている人もいるかもしれません。確かに学生が企業の正社員になるということは、大きな考え方の変化を求められるので、意識改革は必要でしょう。ですが、人や企業が働いている社会という大きな集団の中では、当然のように行われていることなので、あまり難しく考え過ぎないようにしましょう。社会の一員となった自分の姿をしっかりとイメージして採用試験に挑んでください。
今回紹介したアドバイスに共通しているのは、「プログラマーになりたい」という気持ちを大事にし、その気持ちの真剣さを相手に伝えるために「どうすると効果的か」という点です。是非その気持ちを行動に移して、自分の本気度を面接官に伝えてみてください。
この記事がIT企業を目指す人達に少しでも役に立てばよいなと思います。また、今後の日本のIT企業が少しでも良い人材に恵まれるようになることを願っています。