渡るネットは嘘ばかり

元文系、米国大学院CS修士号持ちITエンジニア。自称エンジニアが撒き散らすゴミを少しでもキレイにしたい

エンジニア採用の受難は今も続いている

あまり思想的なことを書いてもあれなのですが、やっぱり正しく生きたいと思うことが多い今日此の頃です。今回、久々の会社員ですが、電車の中で若干ハゲ散らかすような年齢のおっさんが顔を真赤にしてスマホを連打したりぐるぐる回したりしてる人とかを見ると非常に残念な気分になります。自分が上司だったら絶対重要な仕事を任したくないな、と…。前にも書いたかもですが、この数年、行動を決める時、脳の機能的に最適な方法をよく考えます。楽だけど正しくない手段を繰り返すと脳は間違った経路を最適化して、その道を太く、通りやすくしてしまい、間違いをおかしやすくなる。常に最適な方法を模索し、納得できる正しい方法を繰り返す、そうやって生きていかないと人は簡単に愚かな方向に転がっていきます。歩きスマホとか、自分に甘すぎますよね。いい大人が周りの人に世話してもらおうという幼児のような思想が見えて気持ち悪いです…。

宗教的な人間ではないけど、いつも神様が見てる、ではないけど、どこで誰が見てるかわからないし、正しく生きたほうが自分が不利になる可能性が下がるし、気持ちよく生きられると思うのですが、なんだか、周りを見てるとちょっと自分おかしいのかな、とか…。最近、オフですべきこと(ゲームとかもこれになるかと)を公共の場で周りを気にせずにやっている人が多くて、疲れます。見知らぬ人のオフのだらしない姿はなるべく見たくないものです。ネットビジネス(ここでは中身のない金儲け目的のアフィリエイト・ブログを指す)業界で読者が見たくない記事を検索エンジンの上に持ってくるのはSEO対策の技術というより、ゲーム理論で言うところ「裏切り」とか「裏切り戦略」に当たるもので、基本的に検索エンジンは「協調戦略」を優先して裏切りにペナルティをかける造りなので、SEOというのは本来協調によりみんなが幸せになる情報が上にくるようにすることで、裏切りは協調の仕組みを騙す戦略であり、アルゴリズムの変更で騙そうとしているのを見抜くということが進められるわけで、検索アルゴリズムがAIとして内容理解のレベルに来た時、ネットビジネスは滅びると思います。早く滅んでくれ。

長くかかった転職活動ですが、感じた違和感をまとめたいと思います。とりあえず、日本トップレベルの技術力の会社に決まってよかったです。
エンジニアを大事にする、技術を中心としたキャリアを意識する会社が増えている一方、採用現場ではまだその変化に付いてこれてないように思えます。採用担当のエンジニアですら、中からの視点が強くなりすぎて何かを見失っているように感じたりも。やはり、転職するしないは別としても一定期間毎に外からIT企業というのを見る機会を作って客観的に自分を、会社を見つめ直す方がいいように思えます。ITエンジニアにとって転職は基本的にキャリアアップです。色んな会社で色んな領域、技術に触れることは技術者としての引き出しを、広い視野を育てられます。日本では基礎のある人が少ないため専門家を好みますが(領域を変えると新しい分野の基礎となってる部分から学び直す必要があるため)、深さを持ったジェネラリストか研究者レベルの専門家のどちらかが技術者の目指すところなのかな、と思います。職業エンジニアだと、深くなる気はないかも知れませんが。

また、技術力とは何か、転職活動を通じて疑問に感じたりもしました。APIやライブラリをリファレンスを読みながら実装するのはただの作業で慣れれば誰でもできることな気がします。システム業界とかだと、この作業が早くできるだけで技術力があると勘違いしがちです。自分もそうでした。でも、それって説明書を読みながら電化製品を使える、とかそういうレベルですよね…。家事に慣れると効率的に早く済ませられると思いますが、それは技術と言えるのかどうか。

アカデミックな世界では、例えば、論文を読んで、それを実装しようとしても、どう書いていいかわからなかったりします。試行錯誤を繰り返して、論文を読み返して、正しく動くとこまでやりきると、これまでやってた実務での実装が歯ごたえなく感じたり、今までの何だったんだ、と感じます。競技プログラミングでもシビアな基準で条件を満たすコードを書いていると、世界のトップクラスのトラフィックが桁違いな会社で求められる水準の違いを感じます。

人事と現場での認識のずれ(人事系の事案)

希望と違うポジションに書類通過後に変更される[10/27追記]

某メガベンチャーD社の得意技です。過去2回あって、どちらも、面接を辞退しました。書類通過の連絡があって、ホッとしたのもつかの間、その後、ポジションを変更したいと連絡がきます。経歴的にこのポジションで面接したい、と言ってくるわけですが、経験のあるポジションでなく別のポジションを希望するというのは志願者は十中八九理由があって違うことをやりたいと思っています。僕の場合は成長の鈍化で、その領域の大半のことができるようになってきて、この先に学べることが少なくなったと判断しました。その中で、業界的に忙しく、巻きで進めても勉強会に参加したりする時間が取れるわけでなく、他のメンバーの作業が分配されて積まれる状態で、仕事を通じての成長より作業になりかけていました。スマホゲーム業界はこの数年日本のITの中心的な位置にいたように思えますが、機械学習/AIの技術の急激な発展もあり、参加事業者が増えすぎてパイの頭打ちになって、色んな意味で先が見えてきたところもあり、新しい領域に挑戦しようとしてたのに、卒業したいポジションで面接と言われ、希望したところなら面接しないと伝えられてお断りしました。それなら最初から書類落としてくれ、と。D社には以前の同僚が何人か働いて、皆転職しています。元々の希望部署も、その同僚の知人が夢の有りそうな領域だけど、夢のない仕事をしてるようで転職する、という話を後で聞きました。ちなみにこの会社前も同じことしてきたんですよ。10年前くらい。その時はシステム会社からの転職で、ゲームエンジニアを希望してたのですが、書類通過後に子会社の航空系サービスのシステムで、と言われてお断りしました。今回、ゲームエンジンのとして成長して、AIエンジニアに募集したらゲームエンジニアで面接したいとか、自社で育てられないのでしょうか?いいとこ取りしたい感じを受けてしまい、途中からD社を紹介したいというエージェントが何人かいたのですが、社名を伏せてた時点でD社以外なら、とNG出して断ってました。一生関わることはないでしょう。印象が最悪です。中では多少挑戦が効きそうですが、最初ゲームエンジニアから数年を無駄にしてまで入りたいほどエンジニアとして魅力ある会社でもありません。このやり方(成長して戻ってきてね的な)ができるのは世界的に有名で技術力もある会社くらいです。会社の規模で技術者への魅力は決まりません。日本は技術力が高くなくても、エンジニアに魅力がさほどなくても大きくなってるIT企業が結構多いです。

技術力を測ろうとする非技術者の人事担当

外資系M社の話ですが、あちらから声をかけて頂き、最初に電話で人事の責任者と話して、最適な部署を決める、というような話でした。
しかし、向こうからお声掛けくださったのにも関わらず、圧迫面接に近い感じで関西弁でぶっきらぼうに対応されました。この人事の方は日本の大企業から転職してきた人だそうで、せっかくの外資系なのに感覚が非常に日本的でした。専門分野に分かれてるということで、何が得意かということを聞かれ、フルスタック的にやってきたのでインフラは弱めだけど、それ以外はだいたいできるという話をしたら、広すぎる、とのことで…。別に複数部署の候補でもいいと思うんですが、なぜ1領域に絞る必要があるのか、1つのことしか深くできないと考えるのか理解に苦しみます。さらに、スマホゲームを作ってると言っているのに、カーネルとかドライバを書いたりしていますか?と聞かれて、これは駄目だ、と思いました。スマホゲーム入れるためにROMを焼かせるのか、と苦笑しました。非技術者的にはカーネルとかドライバって技術力が必要そうに感じるかも知れませんが、別に難しくないです。癖があるだけです。学部レベルの授業でカーネルを書きましたが、コンパイラが厳密({}は改行が必要だったり)とかそういう程度で、カーネル内のコードをリバースエンジニアリングできれば特に難しくもなんともないです。自社サービスをやっている会社ではバグの原因の特定は問い合わせとかすることはなく、自力で解決することが多いです。なので、DBに問題があればダンプを取って解析したり、バグレポートでもスレッドダンプから原因解明とかは当たり前にやっていて、クライアントもサーバーもやっていましたが、両方やったら深さが半分になるわけではなく、どちらも専業と同じ深さを求められるので、その辺でやってたことを伝えたら、深いですね、とかコメントされましたが、日常業務で当たり前にやってる作業の一つでした。逆にCG系の専門的な話したら、「ほぅ…」とだけ言って話を変えられました。絶対わかってなかったと思います。

それで、声を掛けてくれた人に、とんちんかんな質問をされたことを伝えると、キャリア相談会に来てみないか、と誘われ、行ってみました。クラウド系の部署なんで、一番向いてない部署かな、と思ったんですが、4つの領域の内3つのプレゼンがあり、ケーススタディの部分で遅延の原因を予測してみたら当たってました。たいていシステムが遅延する時はネットワークかDB含むI/Oの問題が多いですよね。実装の問題であれば、突然遅くなるというより、最初からずっと遅いです。
で、あれ、意外とクラウドでもいけるかも、とは思ったんですが、個別相談で、その職はサポート職だったので、そこで製品や中の技術に詳しくなって開発職に、というキャリアパスを相談したら、ゲーム業界の実装力の高さを理解していただいた上で、開発をガチでやりたいなら本社にアプライすべきだ、というアドバイスを頂き、プレゼンでもかなり先の長そうなピラミッド構造を見ていたので、そりゃそうだな、開発に移るまで時間かかりすぎだ、と思ってました。
それで、声を掛けてくれた方に、そう言われて、自分でもそう思うと辞退の意味で感謝を伝えたにも関わらず、数週間後にお祈りメールがきました…いや、一番苦手な領域でも余裕だと思ったんですが、という。そもそも辞退したつもりだったので、不愉快な感情だけが残りました。

技術にこだわるキャリアパスを用意するのに業務未経験で書類を落とす

コンピューターサイエンス(CS)をちゃんと学んだ人間にとって、業務で携わったことのない領域でも、土台となる知識や技術はあります。それぞれの領域は相互に関連しあっていて、キャッチアップが簡単だったりするし、基礎のない業務経験のある人と比べ、1年後の成長は比べ物にならないと思います。CSのマスターを持ってる人間の実感として、完全に0な領域って殆どないと思います。そもそもの問題として、技術者として、マネージメントに移らずに、技術を極める方向でのキャリアパスを用意する会社が増えているにも関わらず、業務経験がないと面接にも呼ばない。ということは業務経験があって技術側のキャリアパスを進む場合にそういう会社では残りの技術者人生20年以上をその領域で過ごさないといけないということなんでしょうか。技術好きで最先端の技術も扱いたい人間にとっては地獄のような環境ですね。技術者のできることは基本的に知っていることです。確かに、業務経験があれば、知っているのでできますが、入社後にキャッチアップして身につけることは可能なわけです。エンジニアの素質は才能と素養だと思います。素養部分があると新しい技術を覚えるのが早いです。なぜなら関連技術を知っていたり、似た数式を理解した経験があると、既に脳内に思考の経路が細くてもできてたり、転移させて理解したりできるわけです。才能面は実装課題出せば、最低限の実装の才能は見れるし、素養は学歴である程度見れるでしょう。CS出てる人間を技術課題も出さずに業務経験がないから、と落としていたら、そりゃあ人手不足になるのも当たり前です。こういう会社の技術者は新しいことに挑戦する余地が無いように思えます。

ちなみに、その領域の業務未経験(当然他の領域でそれなりに活躍してた前提)で入って迅速にキャッチアップして通用する人と、業務経験がないと使い物にならない人と、どちらが優秀なエンジニアでしょうか?聞くまでもないですね。業務未経験の領域にapplyした人は基本的に落とす、という企業は後者を前提として採用しています。そうするとどうなるか。無難な人しか集まりません。その分野しかやっていない人なので、その部署はその分野のエキスパートでも他の事はできない人ばかりが集まります。成長より安定を取る人ですね。中には本当にその技術が好きでとがっている人もいますが、一握りでしょう。何かにこだわりがある人は領域というより、言語であったり特定の技術な気がします。それ以外のこのカテゴリの人達は新しい技術や知らないことがあっても、それより、慣れたことをやりたがる人です。職業エンジニアの割合も高い気がします。そういうところではやることが決まって尖った仕事はできるかも知れませんが、周辺技術を使えない故に、尖りすぎて製品化ができなかったり技術の組み合わせによるイノベーション的な発想は出てこない気がします。IT業界自体や、プログラミング未経験なら仕方ないですが、他で十分な経験があるのに、その領域が未経験で書類で落とす、となると学習能力が高くて成長意欲のある人、そして天才的な人の挑戦すら門前払いということです。成長意欲がある人ほど落ちやすくなるわけで、技術課題くらい出してみればいいのに、と思う。何故か、この手の企業は異常に自社の技術力に自信を持ってたりしますね。過信というか。特化型のエキスパート揃えてるだけなんですが。個人的には3〜5年同じ領域でやれば研究職以外は成長が鈍化して、数年の経験の差が価値を産まないくらいになると思ってます。爆発的に広がってる機械学習界隈は数年じゃ鈍化しないように感じますが、それ以外の領域は個人差ありますが、できるエンジニア比較で3年いれば大抵のことができるようになるかと。できないエンジニア比較だと差が大きくなりますが、そんなんターゲットじゃないでしょう。と言っても、ここ数年で機械学習系の学術領域に踏み込んでる企業では、優秀なエンジニア間でも、1年の経験で結構差が付いてもおかしくないですが。

経験上感じたのは、アカデミックなベースを持っていて、学生ベンチャーから始まった会社とかは結構、業務未経験を気にしない傾向が強く、学術的にも最先端を追っていて技術力が当たり前に高い事が多いです。逆に、文系やコンサル上がりの社長、要はサービスの企画から当たった企業は経験を重視している傾向が強いように思えました。尺度の問題なのでしょう。おそらく、学術的な知識や理解力が必要な分野(AI/機械学習/IoT辺り)は前者が伸びて、後者はそれ以外の分野に強いように思えます。後者は無難な技術者を人数揃える系ですね。どちらを好むかは転職者次第だと思います。なので、分野と採用方針のミスマッチが起きてる会社は大きめのところでも鈍化するじゃないかと思ってます。

この、適応できるかを考えず優秀な人材を落とすタイプは、所謂、やって後悔するか、やらなかったことを後悔するかで言うと後者になります。オンラインテストで一度時間を取ればある程度の素養を見れるんだから、中途半端に時間取って書類で考えるより、書類を流し読みして少しでも適応能力ありそうなら、そのフローに流し込めばいいと思います。

勘違い技術者

クライアントエンジニアを落とす理由がwebの技術力不足

ちょっと笑っちゃった話。某大手K系列の会社で、最初の頃はクライアントエンジニアも受けていたのですが、面接ではそれなりに盛り上がり、技術力もそこまで高いとも思わず、これは余裕だな、と思ったのですが、なぜか、webの知識と経験が足りない、と落とされました。クライアントエンジニアを受けて、ですよ。お前ら何をやらすつもりだよ、と。APIもかけないレベルで知識が経験が足りないってなんなんだろう。webだけで5年以上は経験あるんだけど…。ちなみに、ここに偶然、昔の上司(マネージャ)が転職したんですが、3ヶ月で辞めたい、技術力低すぎ、と言っていて、落ちてよかった、と思いました。

技術力じゃなく慣れを見る技術課題[10/27追記]

最近急成長のM社ですが、ここもクライアントエンジニアでした。で、課題が、自社アプリ風のAndroidアプリを作るという課題で…なんか要件を与えられて作るとかいうシステム業界の下流工程みたいな課題で、しかも、今どきNative開発かよ、と。半分以上の時間がUI組む部分でしたし、詰まらない上に、クロスプラットフォームとか使ったことなくてNativeに慣れてる人なら簡単にできるだろうな、というものでした。あれで技術力は全く見れないと思います。アルゴリズムが必要な部分も全くなく、まぁ、Kotlin使えるか、程度は見れるんですかね。それ、いるの?的な。言語を数種類使えるエンジニアにとって新しい言語って別に何のハードルでもなく、下手するとリバースエンジニアリングだけで使えたりします。当然言語仕様は全て把握すべきですが。いくら会社に勢いがあったとしてもあんな問題出されたら、他と数社内定できたら絶対行かないでしょう。ここは連絡途絶えました。エージェントにお祈りきてるかも知れません。時間の無駄なので、そういう技術課題はむしろ技術者に不安を与えるし、止めたほうがいいです。そんなもので技術を見ようとするリーダーとか現場って何を仲間に求めてるの?と思いました。あれだと技術力が担保できないので入った後のチームでの開発が大変そうで、業界で名の売れてるレベルの引く手数多の人は課題を見た時点で辞退すると思います。金余ってて研究開発に資金投入できるにしても、周りの人間が優秀じゃないと技術者は伸びていかないものです。自分へのハードルを下げてしまうし、情報を集めてワクワクしてもそれを共有できない、一緒に未知の世界に挑戦できないと研究者の居場所としては物足りないのではないでしょうか。…完全にそこの権威レベルなら別かもですが…。どこにいても大差ないので。

企画力を求めるエンジニアドリブン

某大手R社系列で、技術者からの提案でサービスが生まれることもある、などと、技術者の意見も重視してる環境を求人票で謳っていたのですが、面接で、あなたならどんなサービスを提案しますか?と聞かれてポカンとなりました。有名なサービスを複数持ってるのは知っていましたが、内部のデータとかサービスの実装とかわかりません。それで突然サービスを提案しろって、それはエンジニアのサービス提案のやり方でしょうか?エンジニアから提案をする場合、サービスの実装やデータ(材料や設備)を知った上で、論文や技術書を読んだり、実装面でピンときて、こういう面白いことができるんじゃないか、とインスピレーションが湧いた時に提案するものであって、何もなしに持ってるプロダクトからサービスを提案するのはエンジニアのやり方じゃないと思います。料理人が仕入れルートも調理器具、過去のメニューもわからずに、今から新しいメニューを提案しろと言われてるようなものです。そういう状況では車輪の再発明が起きたり、的外れな提案も起きます。技術的なバックグラウンドを知らずにサービスを提案するのは企画職の仕事でエンジニアのやることじゃないです。エンジニアから技術的な視点でのサービスの提案からプロダクトができたりする、というのはGoogle的な技術者の発想を活かせる環境ですが、技術者にも企画を要求するでは話が全く違います。その質問した方はインタビューで非常に志の高い感じで、エンジニア視点のことを言っていたのですが、おそらくエンジニア発信で会社に大きく貢献するプロダクトを作ったのだと思います。それは素晴らしいことですし、誇っていいと思いますが、その自信から、こういう質問をすると方向性が間違ってしまいます。あれではエンジニアにも企画力を求めますよ、という意味の質問になってしまい、技術好きで技術ベースに深掘りした物づくりしてる人は逃げるのではないかと感じました。ちなみに、この会社は結果が来る前に第一志望の内定が来たので結果がわかりませんが、おそらくお祈りだったと思います。ちなみに上記K系列でもうちでやりたいことありますか?とか聞かれて、ECのアプリで提案とか言われてもなぁ、的な。企画しに入りたいわけじゃないんですよね。基本的に、現場ではチケットに改善案が溜まっていて、エンジニア発信のサービス改善はそれに対する提案が多いので、特に企画力がなくても支障はないですし、企画力が重視されたら本末転倒です。エンジニアに企画力を求めるなら企画職は何をするんでしょう?いないのでしょうか、そこの会社に企画の専任者は。そもそもの話として、外から見た程度の内部の事情を自分の技術とミックスしてカネになるような企画を提案できるなら、転職せずに起業しますよ。ターゲットを見失ってるとしか思えない。

やたらインフラの質問をする

個人的にインフラは経験重視で専門部署を持ったほうがいい領域だと思っています。ここは技術力というより、経験による試行錯誤で磨かれる部分です。インフラ構築というのは一つのプロジェクトで1回あればいい話で、まぁ、その後はみんなで拡張したり改良していく話になるとは思いますが、経験が大事なのに経験が蓄積しにくい部分です。ならば、1ヶ所に集中させてノウハウを蓄積した方がいいです。特にインフラは費用に直結する部分なので、その会社でのベストプラクティスを用意できるように一元管理した方がいいです。個人に裁量を持たせるにしても、こういう用途で、こういう特性があるから、こういう構成はどうだろうか、とインフラ部門に相談して、インフラから最適化した答えをもらって、その方向で進める、そういう分野だと思ってます。この技術での学習に環境を用意するとしたらインフラどう構成しますか、とか聞かれても、「え、大きい会社なのにインフラ部門ないんですか?」と驚きを隠せない、というのが現実です。グループ企業とかあったら、ノリッジ共有すべき領域です。ハードウェアとかって、自作PC作ったことある人なら、相性でメモリが認識されない、みたいな経験あったりすると思います。ハードとかインフラって理論上最適に思えてもうまくいかないケースとかもあるので、何度も言いますが、一元管理した方がいい。まぁ、インフラをどうこうする経験って少ないので、質問で差別化しやすいのかも知れませんが、逆に、ここを個人の裁量に任す会社危険じゃない?もし稟議通す必要あるなら、ちゃんと部署作ったほうがいいんじゃない?的な気がしますし、機械学習エンジニアが入社前に必須な知識とか技術の話なのか、それ?と思います。まだ、用途にたいしてデータストアと言語選ぶとか技術スタック選定するとかならわかるけど。それもチームで1人いればいいし、新人に任されんだろうから、プロジェクト2,3個通じて学べばいいだけじゃないのかと。専属インフラエンジニアがいなくても、社内で貯めたノリッジベースで判断できるような仕組み作った方がいいと思う。インフラの質問はこういう仕組みでやってましたが説明できれば十分だと思います。というか、でない場合、開発の仕組みがまともにできてない会社と判断して良さそう。インフラの異常検知系の知識はみんな知っておいた方がいいけど、構築に詳しい必要はないです。某技術を使うためのクラウドのインフラ、の質問されたけど、正直、何を期待していたのか。一旦ローカルで動かしてボトルネックになってる部分強めな構成で組めばいいんじゃない?とか思う。空中で算出しなきゃいけない問題でもないような。

社長権限

手術後にあった話で、某一部上場のM社ですが、技術部門の経営側に移った元技術者の方に、複数部署の候補にしたい、と言って頂き、実際の部署のメンバーと話しても技術的に問題ないと言われていたのに、最終で社長の出すクイズの1問でハマり(有名社長とマンツーマンで緊張もあり)、影響受けた本とかどうでもいい話もあり(自分の人生がたった数冊の本で決まったとは思えないし、色んな本から受けたものが少しずつ蓄積して自分の知識体系ができているので、影響受けたと言うならほぼ全ての本が悪い意味も含め影響してると思うから、むしろ、数冊の本を選べるほど単純に生きてないと言いたかった)、感触悪いまま終わって、翌日結果出す、と言われてたのが1週間以上待って、「年齢に対して技術のバランスが悪い」と後述するけど、海外なら裁判沙汰の理由で落とされました。ちなみに1ヶ月半活動延長したのはこれが原因と言えなくもない。というか、フルスタックでバランス悪いとか、対象の領域に対して浅いとかならともかく。技術セクションでは技術面でのお墨付きをもらってて技術力が原因って。そもそも、社長と技術の話してないし、非技術者なんですが、1部上場して数百人社員がいる状態で、現場が欲しいって言った人間を社長が気に入らなかったら落とすってなんなんでしょうね。10人の一族経営のところとかならともかく。個人的には社長が面接に出る場合、他の役員を連れてじゃないと公平性が保てないと思ってます。そういう会社は女子は顔で選ぶ、とか密室的な社長の好みの判断で社員が選ばれるリスクが出て、優秀な人間が運で落ちる可能性が結構出てくると思います。今回のクイズとかも、偶然聞いたことある問題受けたら勝ち、みたいな無意味な話です。頭の回転の速さを見たいとしても、そういった不確定要素が多く入るのでは判断が厳しいし、技術者は頭の回転は速いほうがいいけど、営業とかと違って、その場で全部決めないといけない仕事でもないので、若干的外れな気がする。
何はともあれ、技術セクションではめちゃくちゃ好反応だったのに、社長に落とされるということは一生縁のない会社なのでしょう。業務経験詰んだとしてもラスボスにあの人が出てくるのなら一生受からないでしょう。

人事に覚えておいて欲しい話(番外編)

海外では年齢はNGワード

外資系にapplyする場合、顔写真と年齢は基本的にNGです。裁判沙汰になるので、応募者に絶対入れないでね、と言うところがほとんどです。社長の話でも年齢と技術のバランス、と見送り理由を伝えられましたが、海外では生涯学習が当たり前なので、年齢問わず人間は成長できる、学べる、なので、「年齢」を理由の一部に使った場合、海外出身の応募者の場合、裁判になってもおかしくありません。

中堅以上の技術者に技術力不足と言えば納得すると思うな

社長一発退場のところも、クライアントエンジニアにwebの技術を求めるところも、面接で技術力で足りないと思うような質問ややり取りがなかったにも関わらず、技術力を理由に伝えられました。おそらく、技術力が問題と言えば仕方ないと思うと思ったかも知れませんが、文系エンジニア(広範囲の基礎がない)とかでもなく、CSで大学院出てる人間としては「はぁ?」と思ってしまいます。技術力が問題だとするなら、せめて答えられない、もしくは答えに窮する質問をして下さい。さらに、技術課題を出してきた会社が技術力を原因にするということは、選考に使った技術課題が適切でないということです。候補者も少なからず時間を割いて技術課題をやっています。その課題で技術力見れないなら、何のための課題でしょう。その課題を解けるレベルなら、入社後キャッチアップしていける、ということじゃないと時間を割いてやらす意味がない。今回3社の技術課題がかぶって大変な事になりました。在籍中に転職活動してる人だと大変どころか、時間が取れなくて落ちる可能性すらあります(1個1個が数日から2週間位かかる)。技術力で落とすなら、online assessment(hackerrankみたいな簡単なプログラミングコンテスト形式の課題)が正答できないとかじゃないと、ある程度以上の技術者は技術力不足という言葉に納得出来ないと思います。オンラインテストなら2時間とかで済みますし。その分、問題を作る側にも負荷がかかりはしますが、雇う側も本気になるべきです。1度数問作れば使い回せるわけですし。1社それでも、「ちゃんと解けてるけど経歴上欲しいほどではない」、とか言われて、じゃあ、最初から課題投げるなよ、と思ってそこのアプリをスマホから削除しました…。志はメチャメチャ高い会社ですが、落とすための選考をしてるのは非常に残念だと思いました。正解しても落とすような問題は完全に出題者の落ち度です。業界の有名な技術者が集まるような需要と供給がマッチする会社はたいてい技術課題でアルゴリズムに近い部分を聞いてきて、面接ではこれまでの経験と技術に対する学びの姿勢を問われたように思えます。中に入ってからのことは基礎があればキャッチアップできるわけで、詳細な次の業務での内容を突いてきたりはしませんでした。少なからず転職をすれば、知らない領域や技術に触れる必要が出てきます。そこを端から探す面接は良い人材を採る面接でなく、少しでもズレがあったら落とすための面接で、技術者の成長を信じていません。となると、判断してる人達がその会社であまり成長できていないのでしょう。最初から通用する超即戦力(普通の即戦力でもアジャストの期間は必要です)だけしか取らないとなると、その会社は技術者が育つ土壌がないと判断すべきです。また、国際経験豊かな人が技術部門を仕切っている場合、それなりに納得できる理由を用意してくれました。そういう会社は落ちても非常に印象がいいです。


おまけですが、githubを公開したほうがいいと言われますが、見てくれるところがすごく少ない印象。採用に関わるエンジニアは業務の合間に、ということもあるのかも知れませんが、個人レベルのコードをリバースエンジニアリングするのに時間がかかる人間が人事やってるのはどうなのかと。技術課題とかオンラインテストしてればいいんですが、それもなく、githubも見ずに技術力を測ろうとするところは技術力のない会社だし、求めてない会社だと考えていいと思います。なので、技術好きにはそういうところも観点として会社を見れると思います。githubではゲーム的なものは一切出してなかったんですが、ゲーム主体の経歴で、とか言われて、ううーん…と唸ったりしました。ゲームが好きなわけでもなく、去年くらいまでの5年ほどは、スマホゲーム業界に金と人が集まったり、技術的にも色んなことができるからゲーム開発に携わってただけで、ゲーム業界を主体にやってきたつもりもないし、自分の技術の基盤はそこにないと思ってます。git見てくれれば分かる話なのですが、悲しいです。結局のところ、ゲーム業界は広い技術が求められますが、ゲームエンジンの制約の中での物づくりなので、深掘りできない部分も結構あります。最後の方はエンジンぶち抜いた実装とかもしてましたが…。逆にgitをしっかり見て、経歴の会社も調べてくれた会社があって、自己紹介も要らないレベルで理解してくれてたのは感動しました。が、そこは2次面接で何故か書類全く見てない感じの人が来て(次は体験入社と言ってたのになぜか挟まれた面接)、話噛み合わず落ちたのですが…。

なんて色々偉そうに書いてますが、エンジニアとしての自分の立ち位置としては上中下のやっと上に入って来た辺りだと思っています。PFNとかの条件のように、定期的に論文を学会に出せるレベルではなく論文を読んで技術を使える程度ですし、情報オリンピックに出たこともありません。紆余曲折を経ながら、アカデミックな経験も積んで、アカデミック側の視点もインダストリー側の視点も持ってる(経験的に逆なのは日本では珍しい気がします)ので、視点は広めと自負してはいますが、技術者として、ここからの壁は確実に数学とか周辺領域の知識も深めないと進めない領域だと思ってます。システムから入って多少インフラ的なこともやりながらクライアントにたどり着き、アカデミックという文系も多く、専業になりがちの日本ではちょっと変わった守備範囲の広いフルスタック気味エンジニアが転職で思ったことであり、どこでも入れるくらいのスーパー技術者ではないのは理解しています。それでも、余裕で即戦力になれるところや、現時点で即戦力ではなくても通用すると思ったところでも結構簡単に落とされたりして、ちょっと書きたいなと思いました。ちなみに、アメリカで違う人種とチームを組んで課題に取り組んだり、プレゼントかディスカッションも多く経験してるので、コミュニケーション能力に壊滅的な問題があるとも思ってません。ここでは本音で語ってるのでちょっと厳し目かも知れませんが…。

という感じで、また思い出したら追記していくかも知れませんが、すごく良い会社に転職できたので、次の転職の際は、既に業界に名が知れて、そろそろ転職しようかな、と発言したらスカウトが来るくらいの人間になりたいと思います。転職活動で意味不明な理由、特に余裕と感じての技術力を否定されて落とされたりすると心がすり減っていくので、活動ほとんどなしで転職するくらい前面に出て行きたいと思います。Qiitaとかで技術的なことも書いていこうと思うので、ここは今後も月1,2回程度の更新になると思いますが、非技術者の人でも業界の中の雰囲気がわかるように、業界の人も楽しみながら読めるように書いていこうと思うので、気が向いたら、たまに覗いて下さい。