未経験からプログラマーを目指す方にとって、採用試験で最も重要視されるのは「面接」です。
経験者採用であれば、過去に開発した実績や保有している資格などで、ある程度技術力をはかり、即戦力で活躍できるかどうか見極めることができます。
しかし、未経験者の場合、過去の実績がありません。
そのため、面接の評価が採用試験の結果に直結すると言っても過言ではありません。
では、面接で高い評価を得るにはどうしたらよいでしょうか。
現役のシステムエンジニア兼プログラマーの視点でポイントとなる点を6つ紹介します。
志望動機を整理する
未経験でプログラマーへの転職を希望する際、「なぜプログラマーになりたいのか」、「なぜ、数ある企業の中で当社なのか」という質問は ほぼ間違いなく聞かれると予想されるため、事前に整理しておきましょう。
なぜプログラマーになろうと思ったのか
プログラマーになろうと思ったきっかけは何だったのか、整理しておきましょう。
単に「楽しそうだから」など、漠然とした理由ではなく、たとえば「健康診断の時に見た電子カルテシステムが、どのような仕組みで動いているのか興味を持ち~」のように、具体例を交えながら説明できるよう、事前にまとめておきましょう。
なぜこの企業なのか
志望動機を明確に説明できるよう、準備しましょう。
面接では、その企業のどのような点に惹かれたのか、具体的に述べるようにします。
注意すべきポイントとしては、待遇や就業場所も転職先を決める上で重要なことですが、「その企業のどの事業に魅力を感じたのか」という点を第一に考えた内容にした方が、より良い印象を与えることができるでしょう。
プログラマーに採用されやすい志望動機
面接で、プログラマー未経験者が「プログラマーになりたい」と言うのは、目標は?と聞かれて「目標を達成することです」と答えたようなものです。
「プログラマーになる」や「なりたい」というのは、それだけではない人が多いはずです。
たとえば、
- 自分でゲームが作りたい
- 自分でサイトやシステムを作りたい
- 世の中を便利にするアプリを開発したい
などあるかと思います。
こういった明確な目標がある人は、難しいことや厳しいことに耐え忍び、乗り越えることができる場合が多いと思われます。
この目標に付け加えて、御社でプログラミングを勉強したいと思った、と繋げても良いでしょう。
逆に下記のような動機では、少し弱い印象を持ちます。
- 小さい頃から計算やパズルを解くのが好きだった
- 黙々とPCを操作するのが苦ではなく、何時間でもできる
- 集中力や探究心が高く、御社の役に立つと思った
実際、これをアピールする方はかなり多くおりました。
特に「集中力や探究心が高く、御社の役に立つと思った」というのは、信用できませんね。
実は私も面接時にこのように言いましたが、「集中力や探究心が高い」ことがどのように社の役に立つかを説明できなければ0ポイントです。
他のも同様に曖昧ですが、志望動機というと本質的に自身のコアの考え方や性格適性部分を企業へのメリットとして協調しがちです。
その先により具体的な事を示さなければ「だから何?」と切り替えされかねません。
それで言葉が詰まるようでは、やはり中身がありませんし、本気さが伝わらず、ちょっと辛いことがあったらすぐに辞めそうだなと思われます。
志望動機では、多少大げさでも良いので、大きな夢を目標に、その目標のためにああしたいこうしたいという論理付けをしたほうが、明らかに印象が良いかと思います。
夢まで言わずとも、やりたい事・作りたいものでも良いと思います。
学習する意志をアピールする
プログラマーに限らず、ITエンジニアは、いつまでも古い知識にこだわっていると、ITエンジニアとしての価値は下がり、次第に必要とされない技術者になってしまいます。
ITエンジニアでありつづけるには、常に学ぶ姿勢を持ち続け、新しい技術を習得していかなければなりません。
面接官も「学習意欲をもっているか」ポイントとして見ていますので、面接でアピールすれば効果的です。
プログラマーに採用されやすい人の特徴
志望動機とも直結しますが、採用されやすい人は、言っていることに真実味のある人でしょう。
「自分でゲームが作りたい」という動機を述べても、「自分のパソコンも持っていません・・・家族用のデスクトップPCはあります。」
では、本気でやる気ないだろと思われて当然ですよね。
本気でやる気があれば、PCを買うお金くらいなんとかしてひねり出してもっとスペックのいいPCを自分で買えるはずです。(普通はそう考えます)
それに加えて素晴らしくなくてもいいので、簡素なゲームの1つでも開発して作品として提出できてほしいとも思います。
もちろん実際にはそこまで厳しくは求められませんが、もし提出できたら、高確率で採用されるでしょう。
作品の質ではなく、当人のモチベーションを買われるからです。
このモチベーションが備わっていれば、必然的に採用されやすい人の特徴になります。
- やる気がある
- 自分で勉強できる
- 好奇心、探究心がある
- 夢があり、叶えるために努力できる
裏を返せば、採用されるべくして採用されるとも言えるかも知れません。
プログラマーに採用されにくい人の特徴
主に採用されやすい人の逆ですが、加えて年齢や職歴等もある程度参考にされます。
30歳で未経験の場合、「小さい頃からプログラマーになりたくて」と切り出しても、「今まで何してたの」と言われますよね?
この場合は、そう言われないようにプログラミング10数年分のブランクを埋める努力をしていれば、まだまだチャンスがあります。
それは、口だけではなく行動をしているということだからです。
年齢や職歴に関係なく、未経験からプログラマーになるための具体的な行動が自身の志望動機に伴っています。
つまり、そうではない人は採用されにくいでしょう。
- 口では言うが行動はしていない
- 他力本願で就職してから勉強させてもらおうと甘えている
モチベーションがあることをアピールできれば採用されやすい!
上記のポイントを確実に抑えることができれば、私の思うに採用間違いなしです。
むしろ自然にこれらを抑えられるのでしたら、ぜひうちに就職に来てほしいと思います。
これは才覚や素質もあるかもしれませんが、少年の頃に抱いた大志を思い出して、夢に向かってあるき出せば自ずと行動に出るはず。
Boys, be ambitious!です。
自身の学習方法を紹介
具体的には、自分が未経験からどのようにして現在のプログラミングの技術を習得したのか、その勉強法を説明できれば一番良いと思います。
未経験の状態からプログラミングを学習し、IT企業の採用試験を受けるようになるまでに相当な学習を積んだはずです。
その勉強方法を紹介し、今後も継続するという意志を伝えましょう。
技術力をアピールする
IT業界未経験OKだからといって、全くプログラミングの勉強をせず採用試験に臨むのはNGです。
最低でも、1つ以上のプログラミング言語を扱うことができ、簡単なアプリケーションを一人で制作できる程度の技術力は必須です。
自分の技術を証明する手段として、自分で作った作品を持ち込みましょう。
自身の作品を面接の場で紹介すれば、面接官に好印象を与えることができます。
特に未経験者であれば、学習に対して前向きであることをアピールでき、より効果的でしょう。
ただし、あまりにも内容の薄い作品では逆に印象を悪くするので、次のポイントを押さえて制作しましょう。
プログラムは自分で書く
当然のことですが、プログラムはすべて自分で書きましょう。
インターネット上のサンプルソースをコピーしてつぎはぎするだけでは、技術の証明にもなりませんし、プロが見ればすぐにわかります。
時間がかかってでも、すべて自分でプログラミングしましょう。
見やすいソースコードにする
ソースコードの見やすさは重要です。
- 一つの関数の行数を長く書きすぎない
- コメントをこまめに入れる
- インデント(プログラムを書き始める位置)に注意する
以上のことに注意しながらプログラミングし、最後に無駄な処理がないか確認するようにしましょう。
バグを出さない
作品を披露している途中で、エラーが発生しては、せっかく良い作品を作っても評価につながりません。
事前に操作パターンを洗い出してテストしておき、本番で絶対にバグを出さないようにしましょう。
紙の資料も準備する
どんなことにも不測の事態はつきものです。
例えば、作品を入れたパソコンの電源が入らなくなった、使用していた外部のサーバーがメンテナンスのため停止した など、何が起こるかわかりません。
そうした最悪の事態に備え、作品を動かしている画面を紙にプリントアウトし、紙で説明できるように準備しておきましょう。
面接の中で、機会があればこうした準備をしているということをさりげなくアピールするのもいいでしょう。
「不測の事態をしっかり想定できる人」として好印象を与えることができるかもしれません。
明確なキャリアプランを考える
システム開発は、上流工程と下流工程の2つに分けることができます。
上流工程とは、お客様から依頼を受けてシステムの仕様を決める工程で、下流工程が実際にシステムを構築してのお客様へリリースする工程です。
プログラマーが活躍するのは下流工程となります。
プログラマーの場合、プログラマーを数年経験して、上流工程を担当するシステムエンジニアへ進むのが一般的なキャリアパスといわれています。
10年、20年先のキャリアプランを考える
中途採用の場合、10年後、20年後のキャリアプランを考えておいた方がよいでしょう。
- どんなプログラミング言語でも扱えるよう、プログラマーの道を極めたい。
- 将来的にシステムエンジニアとしてシステムの設計に携わりたい。
- システム開発現場を熟知した、営業マンになって大型案件を受注したい。
その目標を実現するために、いつまでに何を成すべきなのか、はっきりとしたキャリアプランを持っていれば面接でも好印象が残せます。
また、これから始まるエンジニア生活で方向性を見失うことはないでしょう。
心身の健康をアピールする
面接官は、受験者の心身が健康な状態を保てるか、という点も重要視します。
身体の面であれば、健康診断である程度確認できますが、心の面は面接で確認します。
ストレス発散方法
プログラマーはストレスの溜まりやすい職種です。
納期に追われているにも関わらず、予定通り進まない場合など、精神的に辛い時もあります。
そのためか、面接の際にストレスの解消方法を質問される場合が多いようです。
面接のための対策だけではなく、プログラマーとして働き始めた後を想定して、スポーツなどストレスを発散させる方法を見つけておきましょう。
逆質問の準備をする
逆質問とは、面接受ける受験者から、企業側に対して質問することです。
求人票やWebサイトで疑問に思っている点など、積極的に質問しましょう。
逆質問をするときの注意点
逆質問は、積極性をアピールでき、好印象を与えるチャンスですが、質問の内容によっては、評価を下げてしまう場合があります。
面接の中で一度説明されたことを質問してしまう
既に説明された内容を質問するのはNGです。
相手の話を良く聞いていない証拠で、面接の評価も下がります。
少し調べればわかることを質問してしまう
求人票や、企業のホームページ、公式パンフレットなどに記載されている内容を質問するのもNGです。
「この人はうちの会社に本当に入りたいのだろうか」と疑問に思われても仕方ありません。
実は一番大きいのは「好み」次に「スキル」だった
さて、ここまでは一般的なお話でしたが、ここからは採用担当だからこそわかる内情というか採用の真理的なところをお話します。
1度2度面接で落ちたからといって凹んでは絶対にいけません!
これだけは先に大声で言っておき、その理由がわかる本当のところをお教えしましょう。
たぶんプログラマー意外でも似たような部分はあると思います。
相性(フィーリング)のマッチング
この部分は、良く人間的な部分で「人格の良さ」や「社会人としての適合」などと言われますが、これはあくまで一般論です。
「社会人としての適合」の基準などはあってないようなものです。
なぜならプログラマーになる人の中には、中学生の時から引きこもってチャット三昧、昼夜逆転生活を送り、ハッキングや個人情報を盗んで嫌がらせをしたような人もいます。
しかもこういった人は優秀なプログラマーになるのです。
有名どころではフェイスブックのマーク・ザッカーバーグももともとはハッカーで、ハーバード大学のネットワークに不正アクセスし、全女学生の個人情報を抜き取りました。
これのどこが「社会人としての適合」があるのでしょうか、ないでしょう(笑)
「社会人としての適合」とはあくまで一般的な企業の一般的な職業に就職する場合の基準であり、クリエイティブやプログラマーの場合は相性(フィーリング)と言ったほうが正確でしょう。
社長との相性、面接官との相性、企業風土との相性、先輩プログラマーとの相性です。
しかもその先輩プログラマーもどちらかというと「社会人としての適合」がある保証がないため、どちらかというと変人的な側面が際立った方が採用率が高いように思います。
そういう意味では、プログラマーになるのに「社会人としての適合」はないほうが良いかも知れません。(これは極論です。)
相性がマッチングするかどうかは「運」マッチするまで繰り返す!
この相性の合う合わないですが、完全に「運」です。
特に、未経験のプログラマーの場合は、スキルが特出しているわけではないため、将来性と人間性で判断せざるをえません。
ですので、面接で落ちたとしたら理由は、相性のミスマッチングである可能性が多いにあるでしょう。
「なんとなくピンとこなかった」から落としたりします。
だからこそ、1度2度面接で落ちたからといって凹んでいる暇はないわけです。
やはり、性格的相性や趣味が合ったほうが物事を教えやすくコミュニケーションも円滑ですからね。
ただでさえ、オタクやコミュ障の多い業界だからこそ、性格や趣味のマッチングも重要なわけです。
その時たまたま必要とされていた!タイミングのマッチング
未経験でもプログラマーとして採用されるチャンスがあることとして、思わぬところを買われることがあります。
特にプログラミング以外に、制作案件全般を請け負っている企業の場合は、他にもあらゆる業務が存在します。
例えばクリエイティブ関係企業であれば、デザインやイラスト、ライティング、その他の雑務もあります。
もし、イラストが書けるなら、プログラミングとは関係がなくともそういったところはアピールしておきましょう。
それでいて、その企業がたまたまイラストが書ける人がいると助かるという状態だった場合、案外あっさり採用されたりします。
この時、「プログラマーになりたい」ことを強く伝えて、配属だけでもプログラマーにしてもらいましょう。
小さな企業ですと、曖昧に仕事しているとやりたかったことがやらせてもらえず、そのままイラストレーターになってしまう可能性があります。
つまり、関連職では即戦力並の能力や特技があれば、企業としては「しばらくプログラマーとして試験的に採用して、3ヶ月で伸びなければそっちで活躍させよう」と考えてくれます。
これはこれからプログラマーを目指す人には大きなチャンスですので、3ヶ月で必ずプログラマーとして頭角を現しましょう。
こういったことは私が知る少ない例の中にも多分にありました。
採用では何が決定打となるかわかりません。
面接時に話の脱線を恐れず自分が得意なことは片っ端からアピールできるようにしておきましょう。
未経験者がプログラマーに採用されたら?
ここまで説明したような方法であろうとなかろうと、未経験者でプログラマーとして就職できたとしましょう。
そこから苦労するのは、おそらくあなた自身です。
未経験者のプログラマーとしてどのように立ち回ればいいか考えましょう。
ちなみに、立ち回る云々の前に、前述した相性的なマッチングがあると、この部分は非常にイージーなものになるでしょう。
とはいえ、油断はダメですが。
未経験でもプログラミングスキルを磨く
「ぼくを未経験でもプログラマーと採用したなら会社が責任もって1から育てくれる」
この姿勢は断じて持ってはいけません。
そういう企業もあるかもしれませんが、昔から技術は教わるものではなく盗むものと言われるように、基本的には独自で身につけるという認識を持ちましょう。
そのためには独学あるのみです。
どうしてもわからない場合や、先輩プログラマーが書いたコードへのヘルプは問題ないでしょうが、ネット上に答えが落ちているなら自ら見出すのがベストです。
そういった姿勢が人の見る目を変えますし、自身のスキルアップにも繋がっていきます。
自分の人間性やアイデンティティに自信を持つ
一見関係ないように思えますが、プログラマーはとにかく変人が多い業界だと自負しています。
いわゆるオタ集団です。
それも範囲は幅広く、アニメオタクからゲーム配信実況者、軍事オタクまで勢揃いしているので、先輩だからといってそういった話に無理についていくとにわか扱いを受けかえって嫌われかねません。
それよりも、自分の趣味を追求して、自分も○○オタとして呼称されるくらいのほうが名誉なことです。
あまり自分をプライベートな部分を見せたくはないと思いますが、もしマニアックな趣味を持っているなら、オタ友を作るチャンスかもしれません。
そうやって人間関係を構築すれば、プログラミング関係のことを教えてもらう際にもわかりやすい例えや、○○でいう××のように、共有できるオタ知識が思わぬところで役に立つでしょう。
プログラミングに関係する諸々の概念は、プログラミング用語だけで解説するのはとても難しいため、教える側も何で例えたら理解してくれるかはわかっておきたいものです。
少し脱線しますが、プログラマーの知人には、GWの数日間に車で北海道の全ての道の駅を制覇するタイムアタックを敢行しているドライブオタクがいました。
なぜ単にドライブ好きではないかといえば、彼の場合は最短ルートを極めていて、どの道がどうか、あの道は5月でも雪があるとか、熟知していたからです。
ちなみに、北海道はあの広い土地に100以上の道の駅があります。
この難しい処理を、どうやって素早くこなすかは、プログラミングでいうアルゴリズム開発に似ているような気がしました。
まとめ
未経験から、プログラマーになるための面接対策を紹介しました。
冒頭でも述べましたが、未経験者の場合は実績がないため、面接の評価が採用試験の結果に直結します。
事前にしっかりと準備し、面接に臨みましょう。
公判では、採用者目線からも語りましたが、ここで改めてまとめますと、実際に採用になるには「運」や「相性」・「趣味」のマッチングによるところが多いことがわかったかと思います。
また、「相性」・「趣味」のマッチングがあったほうが、プログラマーとして採用された後の人間関係も円滑の可能性が高いでしょう。
そのために、面接ではプログラミング技術や当たり障りのない自己アピール以外に、オタアピールを忘れないようにしましょう。
そして何より、1度2度面接で落ちたからといって凹んではいけません。
マッチングするまで数打つことも大切です。