paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

Pythonしかやりたくない!?一つの言語にこだわる未経験者がエンジニアとして採用されない理由

f:id:paiza:20180417180318j:plain
Photo by Ray Bouknight
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

「Python最高!」
「Pythonってほかの言語と比べて何がいいの?」
「ほかの言語は知らんけどPython最高!」
「……」
みたいな若いエンジニア(もしくはエンジニア志望者)、皆さんの周りにもいませんか?

エンジニアとして「好きな技術がある」のはもちろんとてもよいことですが、

  • 実務経験もないのに「Pythonの求人にしか応募したくない」
  • 「ほかの言語は使ったことがない」と言って好きな言語しかやりたがらない

みたいな感じで、経験が浅いにもかかわらずこだわりが強すぎる人は、転職活動ではマイナスになってしまうケースがよくあります。(別にこれはPythonに限った話ではないのですが、特にPythonにこだわりたがる人があまりにも多いので例にしました…)

今回は、「この言語しかやりたくない!」と言う人が勘違いしていることと、エンジニアとして転職するためにすべきことについてお話しします。

■「この言語しかやりたくない!」と主張する実務未経験者が勘違いしていること

◆言語にこだわりすぎると敬遠される理由を知らない

開発エンジニアは技術を使う仕事なのに、なぜ好きな技術にこだわりすぎると応募先に敬遠されてしまうのでしょう?

企業にとって開発言語とは、あくまで目的を達成するための手段にすぎないからです。

たとえば、「うちの会社の目的は、Pythonを使ってプロダクトを作ること!」という会社は、まあ、ほとんどありません。

それよりも、多くの企業は「こんなサービスを作りたい→その開発に適しているから、Pythonを選んで使っている」と思ったほうがいいでしょう。

企業の目的は「Pythonを使うこと」ではありませんから、もっと便利な言語が出てきたら、Pythonから乗り換える可能性もあります。「うちのサービスのスマホアプリを作ろう」となったら、スマホアプリに適した言語を勉強して使う必要も出てきます。

そんなときに「作りたいものに対して最適な技術」を調べたり、選定したりするのも含めてエンジニアの仕事です。ただ「好きな言語を使うこと」だけが仕事ではありません

ですから、「この言語しかやりたくない!」といった主張が強い人は「目的を理解していなさそう」「手段と目的を取り違えそう」に見えて敬遠されてしまうのです。その言語を既に極めたスペシャリストならまた別ですが…。

「自分はPythonが好きだからPythonの求人しか受けたくない」みたいな人は、ふしぎと実務未経験者が多いです。逆に経験もスキルも豊富な人は、特にメイン言語にこだわりはない人も多くいます…。

◆一つの言語だけを追求すればスペシャリストになれると思っている

なれません。

たとえば、Pythonしか使えない人が、Pythonのスペシャリストになれる可能性はありません。

スペシャリストというのは、「他の言語と比べて、Pythonはこれが得意だがこれは不得意なので、こんな開発をする場合に適しているが、こんな開発をするなら別の言語のほうが適している」「C言語で書かれているPythonライブラリの内容も読み解ける」などの知識を網羅しているレベルの人です。

現役のPythonスペシャリストで「ほかの言語は全然知らないんだけど…」なんて人はまずいません。

◆現実的な求人数や求められるレベル感を理解していない

Pythonばかり例に挙げて申し訳ないですが……近年Pythonエンジニアの平均給与が高いとか、需要が高まっているとか言われていますよね。

これは間違いではありませんが、Pythonエンジニアの平均給与がなぜ高いかというと、「Pythonが機械学習の分野で使われているケースが多い」からです。で、もっと言うと平均給与や需要が高い要因のひとつとして、機械学習系の業務は難易度が非常に高いため、実務で結果を出せる人はそれだけで価値があるからです。

だから、別にPythonさえできるようになれれば、エンジニアとしての需要が高まるわけでも、給与が高くなるわけでもありません。

ここをすっ飛ばして「時代はPythonだ!」と思い込んだままPythonだけを勉強しても、あまり思うような転職結果には結び付かないかと思います。

Pythonって初心者でも書きやすい・勉強しやすい言語ですよね。これって、裏を返せば「ちょっと勉強したら誰でも書けるようになれる」ということですから……「Pythonがちょっと書ける」だけのことが、ものすごい付加価値になるわけではありません。

◆一つの言語でプログラミングするだけの仕事があると思っている

メイン言語ひとつで成り立っているサービスなんて、まずありません。

Webサービスを作って運営しようと思ったら、たとえばRubyをメイン言語として、フロントエンドを作るのにJavaScriptやHTML/CSSを使ったりしますし、データベースを使うためにSQLを書けるようになる必要も出てきます。ほかにも、もっとサブ言語を駆使して複雑な処理を実装しているサービスもあるかと思います。

加えて、エンジニアの業務は「一人でもくもくとPCに向かってコードを書く」ことだけではありません。

グループでの開発やミーティング
サービス企画から考える開発
エラー処理やセキュリティ対策
あらゆるパターンを網羅した動作テスト
人のコードを読んで修正するリファクタリング
…などなど、これに限らずさまざまな仕事も発生します。

■エンジニアとして転職するにはどうすべきか

◆実務に使われている技術を全体的にもっと知る

「一つの言語しか使いたくない!」という未経験者の場合、開発実務の全体像や、ほかに必要とされる技術について把握していないケースが多いので、まずはそこから学んだほうがいいです。

たとえば、簡単なWebサービスを自分で作ってみると、Rubyで作るならRailsやSinatraといったフレームワークがあって、フロントエンドはこう作って、DBを操作するにはこうする……みたいな感じで、Webサービスを作って公開するまでの一連の流れ、それぞれのツールの使い方、どこにどんな技術が必要で、何の作業が必要になるのか……などがわかります。

特に「未経験から目指したい」ジャンルがあるのであれば、転職先が決まるのを待たずに、自分で勉強して実際に動くものを完成させてみたほうが手っ取り早いですし、採用選考ではよいアピールにもなります。

いろいろな技術に触れてみるのも、よい情報収集になります。同じ未経験者で「PythonしかやったことないのでPythonがやりたい」という人と、「Pythonが好きだけど、情報収集のためにRubyやPHPも使ってみたことで、それぞれの特徴や違い、何に向いているかがわかった」という人が応募してきたら、企業がどちらを採用したいかは明らかですよね。

先日、paizaのエンジニアが勉強のためにスライド作成用のmarkdownエディタを開発した話を書きましたが、現役エンジニアでも「とりあえず動くものを作ってみる」のは有効な勉強方法です。
paiza.hatenablog.com

上記の記事の内容が全然わからん……という初心者の方でも、paizaラーニングだとプログラミング未経験者から始められる「Ruby入門編」「Java入門編」などから、実際に動くWebアプリが作れる「Webアプリ開発入門」まで公開していますので、そのあたりから始めてみるのがいいかと思います。

ちなみにpaizaラーニングでは、現在期間限定で「Java入門編」を全編無料公開しています。

◆求人情報を集め、複数企業に応募をして現実を知る

paizaでなくてもさまざまな求人票を見まくって業務内容や必須要件をチェックしていると

  • 自分がやってみたいと思う求人では、どんなレベルのスキルや経験が求められているのか
  • 自分が応募できる求人では、どんな開発環境が使われているのか

といったことがつかめてきます。

また、転職活動中は気になる企業があれば実際に応募をしてみるとよいのはもちろんですが、特に未経験や経験が浅い方ほど、いろいろな企業に応募してみて、情報や比較材料を集めたほうがいいかと思います。

paizaでは、事務局にご相談いただければ応募者の方のレベルにあった求人をご紹介することもできます。

paizaの転職ステップについて詳しくはこちら

■まとめ

好きな技術、使いたい技術があるのは、エンジニアとしてよいことです。

ただ、実務においてそれにこだわりすぎると、手段と目的が逆になってしまうので、それはエンジニアとして最適ではない……という話です。

「これが好き、これしか使いたくない」で止まらず、そこからさらに自分ができる範囲を広げていくにはどうすべきか、を考えて実行に移していったほうが、エンジニアへの転職が成功しやすいでしょう。


paizaは、開発経験の浅い方や開発業務が未経験の方へ向けて、エンジニアとしての転職をサポートするサービス「EN:TRY」をスタートしました。

実際に、開発業務未経験からエンジニアになった方、採用を担当された方のインタビュー記事も掲載しています。
詳しくはこちら


EN:TRY」は、エンジニア職未経験者や経験が浅い方をITエンジニアキャリアへ導く転職サービスです。

これまでのpaiza同様、EN:TRYもプログラミング力、コーディング力で転職をする「コーディング転職サイト」です。転職希望者には「プログラミングスキルチェック」を受けていただき、提出していただいたコードをもとにスキルランクを評価します。求人には必要なスキルランクが設定されており、評価がそれを満たしていれば書類選考なしで応募が可能です。

詳しくはこちら
“EN:TRY"

まずはスキルチェックだけ、という使い方もできます。すぐには転職を考えていない方でも、自分のプログラミングスキルを客観的に知ることができますので、興味がある方はぜひ一度ご覧ください。

詳しくはこちら
paizaのスキルチェック