CodeGym /Java Blog /ランダム /採用されるまでに少なくとも10回の面接に落ちました:開発者Yuriの物語
John Squirrels
レベル 41
San Francisco

採用されるまでに少なくとも10回の面接に落ちました:開発者Yuriの物語

ランダム グループに公開済み
この物語は、ユーリ シャロイコ という名前のゲーム開発者についての物語です。IT 業界に入る前は、法執行機関で働き、銀行の警備を担当していました。彼はすぐにこの仕事に飽きてしまい、若い頃の趣味であるコンピュータープログラミングを思い出しました。結局、Yuri は Java を学び、ブラウザ ゲームを書き始めました。「採用されるまでに少なくとも10回の面接に落ちた」開発者Yuriの物語 - 1

「子供の頃からコンピューターを扱う仕事がしたいと思っていました」

私は26歳です。私はノヴォシビルスク(ロシアの都市 - 編集者注)で生まれ育ちました。子供の頃からコンピューターを使って仕事をしたいと思っており、ゲーム開発のアイデア全体に魅了されました。私は C++ と C# でテキストベースのクエストをいくつかコーディングしましたが、勉強には向いていませんでした (怠け者のせいで)。私は愚かではなかった、単に組織化されていなかっただけです。これらすべてが私にチャンスがあると思って入学させました。私は法執行機関で働くことを考えていたので、シベリア国立鉄道工学大学 (SGUPS) の刑法学科を卒業し、最終的にはまさに希望していた場所に就職することができました。大学2年生のときに調査委員会でのインターンシップを終えたので、そこに残りました。4年目に入社しました。今はどうか知りませんが、昔は3年目から就職できました。大学を卒業して半年後、私は少尉の階級を授与されました。さらに1年働きましたが、長い夜勤や警備の仕事、社会生活の欠如などにうんざりしていることに気づき、辞めることにしました。その後、銀行のセキュリティチームの一員として就職しました。これは、私の話では一部の詳細を省略することを意味します。NDA はまだ有効です。そこで私は、物事を再設計したいという願望の一部を維持しました。プロセスを改善し、自動化しました。その結果、これらすべての取り組みは、セキュリティ部門向けの統合アクセス システムを作成するという比較的大規模なプロジェクトに発展しました。この部門はわずか 50 人で構成されていましたが、このプログラムは悪名高い MS Access をベースに構築されていました。これは、セキュリティ チームのソフトウェア開発に資金を費やしたくない銀行にとってはごく普通のアプローチです)データベース、Excel および Word ファイルの自動作成、Outlook 接続、さらには Adob​​e Acrobat Reader による PDF ファイルのテキスト認識など、必要な要素がたくさんありました。この仕事のおかげで昇進はできましたが、セキュリティチームに所属していたので、昇進の選択肢はあまり多くないことに気づきました。

「ただ勉強しただけではなく、情報をむさぼり食った」

2019年半ばから、私は疲労と退屈のどん底に陥っていましたが、ガールフレンドが私がずっとやりたかったことを思い出させ、「やってみよう」と言ってくれました。なぜだめですか?—私は思いました。当時、私は給料、労働時間、経営陣からの良い立場を考えると、夜までオフィスに座るのではなく、夜は家でコードを書く立場にありました。そこで、この考えが私の欲望を再び刺激し、挑戦することにしました。「呪われた」VBA 以外はすべて忘れていたので (編集者注: VBA は、Microsoft Office 製品ラインに組み込まれている Visual Basic プログラミング言語をわずかに簡略化して実装したものです))、私は YouTube ビデオを見て、Herbert Schildt の本「C++ for Beginners」を読むことから始めました。ちなみに、これは素晴らしい本です。皆さんにお勧めします。ある時点で、銀行が Java 再トレーニング プログラムを発表し、私はなんとか参加することができました。2ヶ月ちょっとで研修を終えました。正直に言うと、すべての内容を適切にカバーするには、週に 2 回、2 か月間では十分な時間ではないため、ほとんど何も得られませんでした。教え方はよかったですが、議題はすぐに過ぎてしまい、練習はほとんどありませんでした。このトレーニング プログラムは主に、既にエンジニアとして、または銀行の IT 部門の一員として働いている人々を対象としているということを認めなければ、私は完全に正直ではありません。経験ゼロの私にとっては非常に難しかったです。「再研修」の最後に銀行内で面談が行われ、そこでようやく自分が何も知らなかったことに気づきました。銀行が自分のチームから誰かを雇う気がなかったとしたら、その人は事実上何も知らないということになります。2019年12月のことでした。いくつかの面接が終わった後、このJavaコースの存在を知りました。それで、正しい知識を持っていないと休めないという事実を最終的に受け入れ、登録して勉強を始めました。私のトレーニングが本格的に始まったのは 2020 年の 2 月から 5 月でした。私が完全に状況を好転させたのは、3 月に隔離されたときでした。リモートで仕事をしていたのでオフィスに行く必要がありませんでした。1日か2日遅れて仕事ができるようにプロセスが整えられました。私はただ勉強するだけではなく、四六時中座って情報をむさぼり食ったのです。私にとっては朝8時に起きて勉強を始めるのが普通でした。そして、頭がもうパンパンになった午後 4 時過ぎに、リモートワークに切り替えました。モチベーションに関しては、これが自分の将来だということを心のどこかで理解していたんです。もちろん、元気いっぱいのガールフレンドのサポートが、この困難な道を歩み始めるにあたって、さまざまな面で私を助けてくれました。それで2ヶ月くらい勉強しました。ひどく疲れましたが、全体的にはあまり脳に負担をかけることはありませんでした。たとえば、何かを焼きたい場合は、オーブンを 325 度に予熱し、必要に応じて温度を上げます。すぐにオーブンを 450 度に設定することはまずありません。そうすると、何を作ってもただ焼いてしまうだけになってしまいます。同じ原則がここにも当てはまります。このクエストは 2 ~ 3 か月で完了し、その後、雇用主が求めるすべての便利な機能 (Spring、Hibernate、Tomcat など) を研究し始めました。ちなみに「プロフェッショナルのためのSpring 5」という本を読みました。そこには情報の海があります。もちろん、時には把握するのが難しいこともありますが、一般的にはすべてが消化可能です。YouTube でも、この本以上に春を説明してくれる人はいませんでした。Spring フレームワークの Web サイトも参照することをお勧めします。チュートリアルもあり、とても便利です。私にとって学ぶのが最も難しかったトピックは、バッファー、ファイルの操作、およびビット単位の操作でした。しかし、これらが使用される場所は非常に限られており、それらの場所の 99% は進歩に必要です。私にとってより困難だったのは、随所での再帰でした。私はただ混乱していましたが、それが学習というものです。何か間違ったことをしてから、それを正しく行う方法を見つけるのです。その理由と原因を理解すれば、そのような間違いを犯さなくなります。結局のところ、何もせずに学ぶことはできません。

「IT業界に居場所を得るのに天才である必要はない」

私はレベル 28 で仕事を探し始めましたが、自分の知識が十分ではないことにすぐに気づきました。それから休憩をとり、クエストを完了してフレームワークについて読んだ後、5 月に再び就職活動を始めました。採用されるまでに面接は少なくとも10回はかかったと思います。現在、IT業界には人材がたくさんいますが、採用のボトルネックを乗り越えることはますます困難になってきています。通常、10 人中 3 人は 1 ~ 2 か月以内に採用されると思います。残りの部分にはさらに時間がかかり、場合によってはさらに長くかかります。しかし、だからといってこのリソースを諦めるべきだというわけではありません。4回目の面接で落ちたとき、彼らは私に「面接に通い続けなさい。やがてすべてを覚えて、面接に合格して就職できるようになります。現場ですぐに覚えられるでしょう。」と言いました。面接でもほとんど同じことを聞かれます。とはいえ、まれに面接官がアルゴリズムについて話し始める場合もあります。たとえば、私は政府の社会プロジェクトを実施する会社に就職しようとしました。その際、アルゴリズムについて質問を受けました。私はそれに対してひどい答えをしましたが、それでも「本当にアルゴリズムを扱うことを許されるのか?」という自分自身の質問を続けました。これに対して彼らは、「もちろんそうではありません。私たちはそのために中級および上級の開発者からなる特別チームを用意しています。」と答えました。私は興味をそそられたので、なぜわざわざ尋ねたのか詳しく説明を求めました。結局のところ、これは単に経営者によって設定された要件の 1 つであることがわかりました。アルゴリズムを扱うことはできませんが、雇用される前にアルゴリズムを知っておく必要があります。面接では、Spring、Hibernate、SQL の知識を実証することが特に重要です。これは小さなテクノロジーの集まりですが、十分な理解が不足していると、ナンセンスな言葉を吐き始めてしまいます。したがって、何のことを言っているのかわからない場合は、次のような答えが適切です。「あなたの質問に対する正確な答えはわかりませんが、春に関するこれとこれについては知っています。」等々。そうすれば、たとえどんなに小さな知識であっても、注目されるでしょう。ブラウザベースのゲームを作るゲームスタジオに就職しました(経営とのトラブルを避けるため会社名は伏せます)。ゲームのバックエンド部分を開発しています。言い換えれば、データベースを操作し、ブラウザーのアドオンを作成し、機能を追加し、バックエンドとフロントエンドを接続します。アルゴリズムも扱っています。私は Spring を使用しています (マークアップ、Bean、パーサーなどすべてが標準です)。私は Tomcat、PostgreSQL、Hibernate を使用しています。一般に、私は自分の能力の限りプロジェクトを維持および改善するために、割り当てられたタスクを実行します。今のところ、私はジュニア開発者です。入社して最初の2ヶ月は何も分かりませんでした。締め切りが迫っていたので、1日12~14時間働くと自分で決め、それが実を結びました。確かに、私には信頼できるメンター (15 年の経験を持つクールな上級開発者) がいます。彼は言い​​ます、「自分で考えてください。それがどのように機能するかを見てください。」つまり、彼は助けに介入することはなく、助けたとしても非常にまれです。そして、あなたは何を知っていますか?プログラマに自分で考えるよう強制するのは正しいことだ。もし最初から何日も働いて給料を支払わず、代わりにあらゆる面で助けを求めていたら、私は専門的な成長への道を歩んでいなかったでしょう。今では、自分はジュニア開発者レベルのタスクを実行していると自信を持って言えますが、最近では、一桁高いタスクが割り当てられていることに気づきました。今のところ、私は自己啓発と自己改善に専念しています。プログラミングは原動力です。新しい挑戦です。最初は給料のことは気にする必要はありません。半年もすればそこそこのレベルになり、1年もすれば大体は上達するでしょう。私たちが将来性について話しているのであれば、あなたは1つの場所に座ってまともなお金を稼ぐことができますが、それが自分には向いていないと感じ、何かを変えることを恐れたり、リスクを冒したりすることもできます。怖がらずに自分の将来に向かって取り組み始めて本当によかったです。結局のところ、以前のオフィスでの単調な仕事を続けることもできたはずです。結局のところ、誰もが IT 分野で居場所を得ることができるように思えます。天才、科学者、偉大な数学者である必要はありません。忍耐力があり、最先端を渇望していれば、すべてが可能です。

初心者開発者向けのヒント:

  1. ビデオを見たり、読んだりしてください。YouTube で何かについて学ぶために多くのエピソードを視聴している場合は、コンテンツ クリエイターを 1 人選ぶようにしてください。それぞれのエピソードで伝えられる考えや情報が異なるためです。ある YouTuber から別の YouTuber に切り替えると、同じトピックについて混乱する可能性があります。
  2. 一度にすべてをやろうとしないでください。特にリモートで仕事をしておらず、仕事に集中する必要がある場合はそうです。1日に数時間勉強してください。週末に時間があれば、無理をしないでください。あなたはもう一週間ずっと勉強してきたのですから、休んだ方が良いでしょう。
  3. 履歴書には具体的なスキルを記載するようにしてください。たとえば、履歴書に「Java を知っています」とは書かないでください。それは曖昧すぎます。面接の質問で、単に知らないことを聞かれると困惑するかもしれません。Core Javaをご存知ですか? それは素晴らしいことです。「Core Java」の後に、よく知っていることをいくつか書いてください。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION