Python開発者のスキルを選別する方法

公開されました。 最終更新日
Python:ソフトウェアエンジニアのインタビュー質問

もしあなたがPython開発者のスキルを持つ人を探しているなら、彼らを見つけることは旅の半分に過ぎないことを知ってください。Pythonのスキルとは何なのかを理解するためには、たとえ彼らを見つけることができたとしても、余分な努力が必要になるかもしれません。本当のPythonのスキルセットを理解するのは複雑なことですが、ここではこの分野の専門家であるWojtek Erbetowski氏を紹介し、このトピックを明るみに出します。

1.Pythonとは?

Pythonは最も人気のあるプログラミング言語の1つです(米国の調査では第2位)。 TIOBEインデックス 2021年9月現在)を開発しました。)1991年に初めて発表され、学習が簡単でありながら問題解決に強力な力を発揮することで人気を博しました。構文はC++ファミリーに似ていますが、様々な最新のソリューションに装備されています。

Pythonの主な利点は以下の通りです。

  • フラットな学習曲線。研究のための学者や、自動化のためのビジネスなど、技術的な経験の少ないユーザーを取り込むことができます。
  • 独立したPython Software Foundation (PSF)によって所有され、コミュニティによって導かれています。
  • 強力な科学ツール(SciPyなど)。
  • 優れたドキュメントとコミュニティのサポート。これには、多くの地域のユーザーグループや カンファレンス.

2.IT業界の採用担当者がPythonについて知っておくべきこととは?

Pythonには様々な用途があります。学者から、ネットワークプログラミングやWebアプリケーションを経て、単純なスクリプティングまで、候補者を見分けるのは難しいことが多いです。しかし、開発者にとっては、自分のドメインを変更するよりも、新しいPythonを学ぶ方が簡単な場合が多いです(例:データサイエンスからウェブアプリケーション)。

2007年、Python 3.0がリリースされました。後方互換性がないため、コミュニティから拒絶されました。それが、2020年には 94%のPythonユーザーがPython 3に乗り換えました。.

Pythonは動的に型付けされているため、スクリプトや小さなアプリケーションの作成が容易です。一方で、大規模かつ長期的なアプリケーションの構築には困難を伴うと言われています。

3.選考段階でPython開発者のスキルを確認するには?

選考は疲れるし、大変だし、時間もかかります。通常、IT企業の採用担当者は、Pythonのスキルを評価するために、履歴書審査、技術審査(コーディングテスト)、面接を行います。

以下では、それぞれの方法でPythonのスキルを確認する方法について、便利で実用的なリクルートのヒントをご紹介します。

3.1. 履歴書に基づくPython開発者のスキルの技術審査

幸いなことに(採用担当者にとっては)、PythonはJavaなどに比べて選別すべきライブラリや技術が少ない。しかし、いくつかの点で混乱しているかもしれません。

Python言語 一般的なバージョン3.7、3.8、3.9、3.10
PythonのWebフレームワーク Django、Flask、Bottle、Tornado、web2py、FastAPI
オーアールエム SQLAlchemy, Django ORM, peewee
ビルドツール セットアップツール、pip、tox
テストフレームワーク ユニットテスト、py.test
アシンシオ Python 3.5, Tornado, Twisted
データ分析ツール NumPy, SciPy, Pandas, PySpark

ハイライト

  • Python 2と3は大きく異なります。Python 2.7は、Python 2の最新(そして最後の)バージョンです。Python 3のバージョンは進化しており、最新バージョンは3.10です。
  • AsyncioはPython 3でのみ満たされています。
  • Tornado、Twisted、Geventはすべて非同期プログラミングのためのライブラリです。
  • Djangoは、圧倒的に人気のあるWebフレームワークです。
  • ユニットテストライブラリは言語に組み込まれているため、別途言及されることはほとんどありません。

認証

Python Communityは認証プログラムを提供していません。そのため、Python言語やライブラリの(独立した)証明書に出会うことは稀です。

フルスタック・デベロッパー

フルスタックとは、Python開発者がCSSやJavaScriptでHTMLページを作成することもあるということです。フロントエンドのスキルは歓迎され、ほとんどの JavaScriptスクリーニングの知識 が適用されます。

3.2. 電話/ビデオインタビューでPythonの技術的なスクリーニングを実施

候補者のプログラミングスキルを履歴書だけで判断するのは難しいため、IT企業の採用担当者は電話やビデオインタビューを行うことが多い。このような面接では、Pythonのスキルに関する質問をすることができます。多くの企業では、このような電話やビデオによる技術面接は、ITチームとのオンサイト技術面接に招待するかどうかの判断基準となっていますので、適切な技術的質問を選択して質問することは価値があります。

質問内容は募集する職種や確認したいスキルによって異なりますが、私の経験から、候補者のPythonスキルを知るための一般的な質問をお勧めします。

A. 開発者の経験に関するPythonインタビューの質問

  • Q1: あなたの履歴書に記載されている技術について、過去2年間に商業的な経験がありますか?どのような責任を負っていましたか?最大の成果は何でしたか?
  • なぜQ1を聞くのか。 この質問をすることで、候補者のPythonの最新の経験、責任、および実績について詳しく知ることができます。そのため、候補者のことをよりよく知ることができます。

B. 開発者の知識と意見に関するPythonのインタビュー質問

  • Q2: どのPythonオープンソースライブラリが価値があると思いますか、またその理由は?
  • なぜQ2を聞くのか。 この質問では、候補者はPythonのエコシステムについての知識を示すことができます。さらに、候補者は特定の技術を選択する際に何を考慮に入れているかを指摘することができます。また、フォローアップの質問として、オープンソースに対する商用ソリューションの優位性やその逆をどう考えているかを尋ねることもできます。これにより、候補者がどのように考えているかがわかります。
  • Q3: あなたが履歴書にフレームワークXを記載していることに気づきました。それについてのあなたの意見は?それは良い選択ですか?
  • Q3を聞く理由。 このようなオープンな質問をすることで、受験者が知識を持っていれば、それを証明することができます。また、「でも、なぜフレームワークYを使わないのか」という回答に基づいて悪魔の擁護者を演じることもできます。このようにして、候補者がどのように技術を選択し、その選択を正当化し、彼の意見があなたのITチームと一致しているかどうかを見ることができます。

C. Python技術に関する開発者の意思決定に関するPythonインタビュー質問

  • Q4: 最近のプロジェクトにはどのような段階で参加されましたか?技術の選択やプロジェクトのセットアップに関与しましたか?もしそうであれば、プロジェクトにどの技術を選んだか、あるいは推奨したか、その理由は何ですか?
  • なぜQ4を聞くのか。 このような質問は、候補者がテクノロジーに関する選択をどのように行うかだけでなく、決定に参加していたかどうかも示します。経験のある人を探している場合は特に重要です。

D. python開発者のための行動学的質問

  • Q5: あなたが行ったプログラミングプロジェクトの決定が失敗だったことについて考えてみてください。なぜそれが失敗だったと思いますか?なぜそうなってしまったのでしょうか?それを成功に変えるために、何か別の方法はありませんでしたか?状況を改善するためにどのようなステップを踏みましたか?この経験から何を学びましたか?
  • Q5.質問する理由 そのタイプの質問は、候補者が自分の判断をどのように受け止め、結論を導き、それまでの経験からどの程度の学びを得ているのかを知るのに役立ちます。

3.3. オンラインコーディングテストによるPythonスキルの技術審査

オンラインコーディングテストは、Pythonのスキルを審査するのに最適な方法です。以下では、プログラミングテストの利用方法と、どのテストを選べばよいかをご紹介します。

オンラインPythonコーディングテスト-スクリーニングのための主要または追加の方法

一部の企業では、履歴書を分析し、電話やビデオによる面接を行った後、候補者を選別するためにプログラミングテストを追加で使用しています。しかし、プログラマーを選考する最初の方法として、コーディングテストを利用する企業が増えています。最近の企業は、あるポジションに応募してきた候補者全員にテストを受けてもらう傾向にあります。こうすることで、採用担当者は試験に合格した候補者だけに時間を割くことができ、Pythonのプログラミングスキルを持っていることを証明することができます。一方、候補者は早い段階で採用プロセスに多くの時間を割くことを求められず、時間的にも場所的にも自分の都合の良い時に素早く(通常は1時間以内に)テストを終えることができます。

Pythonオンラインコーディングテスト - どれを選ぶべきか?

多くのPythonオンラインコーディングテストが市場に出回っていますが、通常はプログラミングスキルや実際のコーディング問題を解決する能力ではなく、受験者の知識を検証するものです。そのため、多くの経験豊富なプログラマーはそのような評価を好まず、さらに、実際のプログラミング問題を解決するための経験とスキルを示すことができないため、良いスコアを得ることができませんでした。

では、優れたコーディングテストにはどのような特徴があるのでしょうか?以下に、私が求めているトップ5の機能をご紹介します。

  1. Pythonプログラミングテストでは、技術全般としてのPythonのスキルだけでなく、フレームワークやライブラリも検証する必要があります。
  2. Pythonのコーディングテストは、いくつかのタスクで構成されています。多肢選択式のテストだけでなく、何よりもプログラミングのタスクで、その難易度は受験者が就職した場合の責任と一致していなければなりません(アルゴリズムのタスクに基づいたテストは、受験者が現実のコーディングの課題を解決できるかどうかを検証できないため、すべきではありません)。
  3. 望ましいのは、Pythonプログラミングの課題は、企業独自のコードベース上で準備されることです。
  4. プログラマーが外部のソースを使うことを禁止しても意味がありません。一番良い方法は、職場と同じような環境を作ることであり、そのためにはオープンブックの試験の方がはるかに適しています。さらに、受験者は日常的に使っているのと同じように、自分の好きなIDEを使えるようにしておくべきです。
  5. コーディングテストでは、Pythonのスキルをテストするために、コードレビューの課題を含めることもできます。これにより、候補者の経験、コード品質へのアプローチ、デバッグやトラップ発見の効率性について、非常に正確な情報が得られます。このような評価は、Pythonの上級開発者を採用する際に義務づけられるべきです。

編集部注:この記事は2016年2月28日に公開されたものです。最新の技術情報とベストプラクティスを表現するために、大幅に更新されています。

著者 - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton開発者のテクニカルスキル

Wojtekは、PythonとJavaで10年以上のAPI/Webアプリケーションの経験を持つハンズオンリーダーです。ワルシャワのJavaユーザーグループやMobile Warsawのコミュニティリーダー、MCEカンファレンスのオーガナイザーとして積極的に参加している。オープンソースライブラリへの貢献者、ソフトウェア開発者、アジャイル提唱者。営業、昔ながらの広告や新しいメディアを使った広告、Eメールマーケティング、製薬会社、EUが出資するポータルサイト、卸売書店など、さまざまなビジネス分野に携わり、ビジネスニーズを特殊なアプリに変換してきました。

DevSkillerがすぐに使えるオンラインPythonコーディング評価テスト

DevSkillerは、企業のIT採用活動を支援するために、入社1日目の環境で候補者のプログラミングスキルをテストするためのインフラを提供しています。企業が独自に開発したコードベースや、フレームワークやライブラリを使ったITプロジェクト全体を利用して、オンラインでプログラマーをテストすることができます。また、すぐに使えるPythonコーディングテストも用意していますので、技術者の採用活動にご利用ください。

シェアポスト

技術者の採用についてはこちら

ラーニングハブに登録すると、有益な情報をメールで受け取ることができます。

シームレスにコーディングスキルを検証&開発

DevSkillerの製品をご覧ください。

セキュリティ認証とコンプライアンス。お客様のデータの安全性を確認します。

DevSkillerのロゴ タレントブーストのロゴ タレントスコアのロゴ