エンジニア派遣・SES企業と、受け入れ先との間で深刻化している「エンジニア採用のミスマッチ」。採用担当者は、受け入れるエンジニアの技術力を直接確認することが法律で禁止されているため、エンジニアとしてのスキルを正確に把握できません。その結果、エンジニアの能力と採用担当者の期待値にズレが生じてしまいます。
そんなIT業界の課題を解決できる画期的なWebサービスがあると聞きつけました。その名も『アルゴ式 技術力ヘルスチェック』(以下、技術力ヘルスチェック)。Webテストによって、エンジニアの技術力を測定・可視化することができます。本サービスを開発した株式会社アルゴ式の代表取締役 中村 聡志氏に、具体的なWebテストの内容とエンジニアの必須能力についてお話しを伺いました。
株式会社アルゴ式
会社所在地:東京都台東区3-26-10-901 設立年月日:2022年3月3日 代表者:中村聡志 URL:https://algo-method.co.jp
アルゴ式 技術力ヘルスチェック
エンジニアの技術力をWebテストによって測定し、企業がエンジニアの技術力を見極めきれないことによるミスマッチを未然に防ぐサービス。コーディング力や課題の処理速度など、従来の資格取得状況では可視化できなかった実践的なエンジニア技術力も可視化できる。
「アルゴ式 技術力ヘルスチェック」とは?
「アルゴ式 技術力ヘルスチェック」は、どのような課題感から生まれたサービスなのでしょうか。
世の中の多くのエンジニア派遣・SES企業と受け入れ企業の間には、「エンジニアの技術力が共有されていない」という課題があります。エンジニアの技術力が、コーディング力や課題の処理速度などの実践的なスキルではなく、IT資格の有無や実績、所属企業のブランド力などで判断されています。そのため、受け入れ企業側では正しくエンジニアの技術力を評価できていないのです。
派遣企業にとっても、採用担当者と目線が合っていない状態でエンジニアの技術力をアピールするので、エンジニアの能力と採用担当者の期待値にズレが生じ、ミスマッチによるトラブルや案件の継続率低下につながるケースがあります。
なるほど。周囲のSES企業から、そういった課題を聞くこともありますか?
ええ、各SES企業の従業員にヒアリングを積み重ねた結果、エンジニアの教育が十分行き届いていない実情が浮き彫りになりました。また、各企業の採用担当者に話を聞いたところ、業務委託で欲しい基準のエンジニアにリーチできていないことも明らかになっています。
そもそも、なぜエンジニアのスキルを実際に見ることができないのでしょうか?
労働者派遣法第26条第6項において、派遣エンジニアの面接や選考が禁止されているからです。またIT人材が不足しているため、派遣・SES企業側に有利なパワーバランスになっており、派遣先の会社がエンジニアのスキルについて細かく確認したり要求したりするのが難しいです。その結果、エンジニアの技術力がブラックボックスになり、エンジニアの受け入れや派遣会社の見極めで苦労している企業が多いように感じます。
なぜこのようなことが起こるのでしょうか?
このミスマッチの背景には、エンジニア派遣・SES企業側の事情があります。エンジニアの技術分野の教育には多くのコストが必要となるため、自社では必要最低限の教育のみを提供して、それ以上の学びは派遣先に任せるようなケースも存在するのです。
その課題を解決できればエンジニアにとってもメリットが大きいですね。
ええ。私たちは「公平な教育を世の中に届けよう」をビジョンに掲げ、これまで『アルゴ式(beta)』という個人向け学習サービスを無料で公開し、2万人に利用いただいています。ただ、それだけでは興味のある人にしか教育が届かないということを痛感しました。
なぜ興味のある人にしか教育が届かないのでしょうか?
「企業としての利益がない」という理由で教育の場が十分に提供されていないからです。本来は企業がポテンシャルのある社員に必要な教育を提供しなければならないのに、企業利益につながらないと判断され学びの機会が失われているケースが多いのです。企業にとって有益な情報が可視化されれば、現状の課題を減らすことにつながるのではないかと思い「技術力ヘルスチェック」を立ち上げました。
なるほど。「アルゴ式 技術力ヘルスチェック」を活用する具体的なメリットについて教えてください。
まず、今まで可視化できなかった現場での「実務力」を測ることができることです。当社はエンジニア経験が豊富なメンバーで構成されており、教材作成のプロフェショナルでもあります。シリーズ累計20万部突破の「5分で論理的思考力ドリル」シリーズの執筆などで培った経験をもとに、どうすれば人の能力を正確に測れるのか、どのようなコンテンツなら多くの人に伝わるのかを熟知した上でプロダクト設計しています。
他社のプロダクトとの違いはどんなところにあるのでしょうか?
技術力ヘルスチェックの他にも、エンジニアの資格の取得状況やコーディングのスキルを確認できるプロダクトは世の中に多数ありますが、「測定結果がどうあれば安心できるエンジニアなのか」を掲示してくれるものは、私の知る限りありません。
一方で私たちは、ご利用いただく企業と、その企業が大切にしている技術力に関する観点を、しっかりとすり合わせた上で、現場で実際にプログラミングができるのか、普段から学習意欲を持って幅広い知識を身に着けているのかなどを、ご利用いただく企業に即した指標の上で可視化できます。
エンジニアとして不可欠な能力とは?
「技術力ヘルスチェック」では、どのようにエンジニアのスキルを分類しているのでしょうか?
「技術力ヘルスチェック」では、エンジニアとして不可欠な「必須能力」と、それぞれの役割で必要とされる「専門能力」の2つの観点でスキルを測定しています。「必須能力」は、「コーディング力」「数理能力」「基礎能力」の観点でスキルを見ていきます。
エンジニアにとって基本の「プログラミング能力」は、どのように判定するのでしょうか?
プログラムを「書く力」(コーディング力)と、その先の問題解決までの「思考力」を判定します。プログラミング能力を計る一般的な手法として「FizzBuzz(フィズバズ)問題」がありますが、その問題を解くレベルに加えて、さらに一歩先の問題解決まで行える力を「プログラミング能力」と定義しています。
測定方法についても教えてください。
測定方法は「コーディング力」と「コーディング力以外」で分けることができます。「コーディング力」の場合は、問題文で指示されている内容を実現するためのプログラムを作成いただきます。複数の問題を解いていただき、正答率や解いた速さで実装力を測定する仕組みです。「コーディング力以外」の領域については、選択式または記述式の問題になっています。
点数については、全ての分野の合計点を出すのではなく、各分野で何点なのかをそれぞれ出して能力を可視化します。また、「必須能力」については全てのエンジニアが対象であり、「専門能力」は必要な方だけが受けるイメージです。
なるほど、実際の画面を見てイメージが湧きました。続けて必須能力の「数理能力」と「基礎能力」についても教えて下さい。
2つ目の「数理能力」はIT分野の仕事を円滑に進めるための最低限の知識や処理能力を測定するものです。例えば、データがどのようにデータベース上に格納・管理されているのか。プログラミング言語に関する理解などの内容も出題します。
3つ目の「基礎能力」は、技術者倫理や基礎語彙力などの「IT関連知識」と、一般的な語彙力やエラー文の解読能力を問う「言語能力」に分けられます。
今後の開発においては、「ビジネスの理解と思想」は、エンジニア自身がどのような働き方を好むのか、仕事に対してどのような考え方を持っているのかも測定していく予定です。例えば、「裁量権を持ちたいのか」「大企業向きなのかベンチャー向きなのか」「とある事態が発生した場合どういった立ち回り方をするのか」など。ビジネスの理解度と思想を可視化することで、企業文化や働き方のミスマッチを未然に防ぐことが期待できます。
なるほど、これは採用のマッチングにも活かせるかもしれませんね。
サーバーサイドに必要な能力とは?
各専門能力についても教えてください。アルゴ式技術力ヘルスチェックでは、サーバーサイドでは「実装力」、「システム構成知識」、「DB知識と操作能力」が評価指標になっています。これらについて詳しく教えていただけますか。
まず「実装力」については、与えられた要件の中で複雑なシステムを適切かつシンプルに実装できるのかを測定します。「システム構成知識」はシステムを作成する上でどのような技術を用いるのか、どのような技術を用いるかを決めるのに必要な知識・設計をするために必要な知識を測ります。
なるほど、専門能力でも実践する力と知識が求められるのですね。続いて「DB知識と操作能力」についてはいかがでしょうか?
「DB知識と操作能力」はデータベースの設計や操作などデータベース関連の知識を選択・記述式で問う問題が設定されています。また、SQLと呼ばれるデータベースのデータを抽出・更新・削除を行うための言語が使えるのかを測るため、実際にコーディングしていただく問題があります。
データベースに関する知識を問う問題と、実際にコードを書く問題があるのですね。
フロントエンドに必要な能力とは?
次にフロントエンドに必要な能力として、「実装力」と「DOM操作知識」が挙げられていますが、こちらについても教えてください。
フロントエンドの「実装力」はサーバーサイドと違い、サーバー側で作った情報を受け取り、それらの情報を加工した上で画面に表示することが求められます。 そのため、情報を上手く受け取る能力、そして受け取った情報を加工して表示する能力を測定するために、プログラムコードを作成する問題を出題します。こちらは現在開発中です。
これは必須能力の測定で、プログラムコードを書く問題よりもレベルアップした内容ということなのでしょうか?
そうですね。必須能力で問われる「プログラミング能力」と、ドメイン知識を組み合わせて解く必要のある総合問題です。「DOM操作知識」についてはDOMに関する基礎知識を記述・選択式の問題で測ります。
データサイエンティストに必要な能力とは?
続いてデータサイエンティストに必要な能力についてですが、こちらは専門的な知識が要求される部分だと思いますがいかがでしょうか?
データサイエンティストは、基盤となっている幅広い技術の全体像を理解したうえでデータを活用することが求められる職業です。膨大なデータの全体像を把握した上で、それらを業務に利活用できるかたちに落とし込む方法を考察することが求められます。
具体的には、さまざまな技術の内部構造を知るための「数学力/統計知識」、物事を数学的に解決するためのアーキテクチャーやフレームワークをいかに実践で活用する「アルゴリズム実装力」、さらに大量のデータを用いた「データ処理能力」や「DB操作能力」が求められます。
単純な知識量でなく、それをどう活かすかが重要になっているということですね。
エンジニアとして必要とされる共通の能力とは?
これまでご説明いただいた能力・職種についての関連性や共通して必要になる能力について教えていただけますか?
どのような職種であれ、周辺知識を頭で理解するだけではなく、手を動かして体系的に整理し活用できるようになった上で、知識の有効な活用方法を考えることが重要です。どのようなツールが必要なのかを調べるだけではなく、「なぜそのツールを使うのか」「なぜこのツールが生み出されたのか」といったことを意識することが重要です。
有効な方法を調べて満足するのではなく、ものごとを掘り下げて考えるということですね。
そうですね、世の中には様々なアーキテクチャが存在しますが、それらの仕組みが何のために存在するのか、他にどういった物があるのか、なぜその仕組みが生き残っているのかなどについて知ることが重要です。仮に一般的に使われていたアーキテクチャが時代遅れになったとしても、その背景を理解していれば、別のやり方を選択することができます。変化の激しい時代を生き抜くためにも、エンジニアは思考力を一番鍛えるべきなのかもしれません。
今後の展望について教えてください。
私たちは「誰もが公平に学べる世界」を目指しています。経済格差や地方格差により、教育を受けたくても環境のせいで受けられない方がいます。私はそのような方々にも教育の場を提供出来るよう、会社を立ち上げました。
ありがたいことに私たちの思想に共感いただき、エンジニア派遣・SES企業のマッチングだけでなく、人材採用や社内評価の文脈で技術力ヘルスチェック活用したいというお話も多数いただいております。知識のみならず「現場での実践力」を可視化しながら、企業とエンジニアにとってより良い世界をつくっていきたいですね。
ライター
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから