JavaRush /Java Blog /Random-JA /ヴァルハラへの驚くべき旅、または歴史家兼アーキビストがどのようにして Java 開発者になったのか
Denis Sidorenko
レベル 25
Новосибирск

ヴァルハラへの驚くべき旅、または歴史家兼アーキビストがどのようにして Java 開発者になったのか

Random-JA グループに公開済み
はじめに 皆さん、こんにちは!私の名前はデニスです。この記事を書いている時点では、つい数週間前に 30 歳になったばかりです。ちょうど 6 か月間、私はロシア最大のフィンテック企業の 1 つで Java 開発者として働いてきました。長距離船の速度を落とさずにさらに航行できるように、Java 8 でコードを書き、同時に React の勉強もしています。正直に言うと、何が起こっているのかまだ信じられません。さて、さて、物語そのものへ。 歴史は私の膝の上で刻まれました。誤字脱字や掲載規定違反等がございましたら修正させていただきます。 成功の歴史 ある日、私は自分が(言葉の文字通りの意味で)路上にいることに気づきました。これが、父親のいないまま残された90年代の多くの子供たちの生活です。この時期の私の唯一の余暇は、日本の CD プレーヤーと、エピデミック グループのアルバムが入った 1 枚のディスクでした。なんとか生活を多様化するために、冬の間、私はウォーミングアップのために市の図書館に行きました。私は図書館でファンタジーを読み始めましたが、ある晴れた日、技術資料室に行ったときに、ブライアン・カーニハンとデニス・リッチーの『The C Programming Language』という本に出会いました。私はその言語の構文に感心しました。私にとって、これは標準のように思えました。しかし、そのとき私はどのような基準について知ることができたでしょうか?私は何者でもないし、電話をかける方法もなかった。その後、この言語を学ぶことに非常に興味を持ち、ダイトル兄弟の本『The C/C++ Language』に出会いました。すぐに予約させてください。もうおわかりでしょう。コンピューターを持たずに言語を学ぶにはどうすればよいでしょうか? そう、住む場所すらなかったのです。しかし、私は単に紙の上でそれを研究したり、少なくとも通常の「バケツ」があればどうなるかを想像したりしました。データ型や構造などを覚えようとしました。私たちの頭上に屋根が現れ、Intel Celeron をベースにした最初の車が登場したとき、生活は大きく変わりました。もちろん、人生に何の喜びも感じていなかった子供は、PC を手に入れ、まずは急いで遊び始めました。当時、World of Warcraft というゲームがリリースされましたが、まだベータ版でした。当時私はクプチノ(サンクトペテルブルク地区)に住んでいました。インターネットは「超高速」で、ローカル ネットワークの方が人気がありました (CS 1.6、バトルフィールドなどをプレイした場所)。World of Warcraft のリリース後、近所の子供たちは、もちろん、Blizzard の公式サブスクリプションの料金を支払わずに、一緒にプレイしたいと本気で考えていました。ここでは、IT への没入がさらに進みました。Delphi で中国人が書いたエミュレータを見つけましたが、これは WoW のサーバーとして非常にうまく機能します。ただし、コメントとドキュメントはすべて中国語でした。いくつかの調整を行った後、うまくいきました。インターネット上で、WoW ネットワーク パケットを解析し、ゲーム用に独自のサーバーを作成している愛好家を見つけました。C++ で書かれた有名な Mangos プロジェクトが登場しました。既製のサーバー ビルド、ワンクリック インストーラーなどを作成しました。インターネット上にはマニュアルはなく、マニュアルとガイドだけでした。他の人のためにガイドを書きました。上で簡単に説明した幼少期全体は、いわゆる「学生時代」に起こりました。私は学校には行かず、何とか歴史の4学年を除く3学年すべてで11年生を終えました。ただ生き残ることだけが問題だったとき、私には歩く時間はありませんでした。奇跡的に、私は 2008 年の統一国家試験に落ちずに合格し、歴史学科に入学し、歴史家・アーキビストを専攻しました。他にどこに行けばいいでしょうか?数学、物理学、化学の知識もゼロ。どのような知識について話せますか? エンジニアになったほうがいいでしょうか?数学の入門を試す必要さえありませんでした。最初の 3 年間は歴史学部でフルタイムで勉強していましたが、寮の部屋にはコードのみに関する本がありました。これには、Andrew Troelsen による .NET FRAMEWORK 3.0 や SQL、JS などに関する書籍が含まれます。古代東洋の授業に来て、私は暗号について考えました。しかし、多忙な学生生活と活発な考古学発掘のせいで私は忙しく、大好きな娯楽のための時間がほとんどありませんでした。驚いたことに、私が初めて C 言語に触れてから 6 年以上が経過していましたが、純粋に好奇心だけで興味を持ち続けていました。有名な「弁護士と経済学者」の時代。「IT に行く」という誇大広告はありませんが、それでも興味はあります。3年生の終わりにオックスフォードの奨学金を受け取った私は、ロシアを離れることを余儀なくされ、イタリアに行きました(家族の歴史)。当然、勉強も辞めなければなりませんでした。イタリアで3年間過ごした後、素晴らしいイタリア語を学びましたが、イタリアに行く前に学んだことはすべて完全に忘れてしまいました。帰国して故郷のサンクトペテルブルクにあるイタリア料理レストランでバーテンダーとしての仕事に就いたとき、PHP を学び始めました。当時、スペシャリスト、有名な教師イーゴリ・ボリソフ(ガリギンの声)による、PHP、JS などの人気コースがありました。これらのテクノロジーを研究しながら、私は積極的に自分のフォーラムを書こうと努めましたが、一体何の意味があるのでしょうか? 結局のところ、これには優れたエンジンがあります。しかし、繰り返しますが、それはただ面白かったです。祖国に戻ってから 8 か月後、私は退学した大学とそこで過ごした時間を思い出します。私はそこに行って回復しますが、歴史家兼考古学者としてです。文字通り3か月間勉強した後、私は非常に奇妙な決断を下します。サンクトペテルブルクからズラトウスト市(チェリャビンスク地方)に引っ越すというものです。経済的に余裕があり、仕事もしていないので、何が起こっているのか理解しようとしています。何?何のために?なぜ?アウトバックへの移住は家族的なもので、1992 年の「美しい」年に私たちを路上に置き去りにした父を探したかったのです。アルバイトを探しながら、PHPをいじり続けました。当時この会社の無益さを理解し、大学を卒業したいという強い願望を持っていた私は、チェリャビンスクに移り、地元の大学であるSUURSU(そう、WinRARの作成者であるEvgeny Roshalが学んだのと同じ大学です)に転校しました。しかし、驚いたことに、「歴史」の方向性はありません、というよりむしろ通信形式がありませんでした。神学か政治学かという選択が生じました。もちろん、私は2番目のオプションを選択しました。JavaRush が初めて登場します。友達は、最初の 10 レベルを通過して (はい、当時はまだ無料でした)、気に入ったら続けてくださいとアドバイスします。正直に言うと、私は最初の 7 レベルしかクリアできず、10 レベルに到達しても、それ以上はまったくお金がないことに気づきました。初めて Java に出会ったとき、私は毎日複雑な気持ちでした。それは私を傷つけ、拒絶を引き起こすように思えました。このバッグは、すべてをバッグに詰めます。クラスに Dog,please という名前を付けましたが、ファイル名は同じです。C++ の「混乱」と強力な後、Java の正統派は非常に珍しいものになりました。これらすべての処理のスピードには、まだ不十分な点がたくさんあります。一般的に、私は正直に言って、静かな恐怖のようにそれを忘れようと急いでいたが、それでも再び C# に目を向けた。2007 年に、.NET FRAMEWORK 3.0 に関する本を読んでいたとき、次のように思ったのを覚えています。「きっとこれを使えば面白いゲームが書けるでしょう。」まるでUnityなどの活発な発展を先取りしているかのように。もちろん、C++ の助けがないわけではありません。さて、Java の話に戻りましょう。JavaRush に初めて挑戦し、レベル 7 で止まった後、私は政治学の勉強という人文科学に没頭するようになりました。私は科学記事を書きましたが、夢の中でのみコードをコンパイルしようとしました。生きていくのにかろうじて十分なお金しかありませんでした。もちろん、大変な時もあります。しかし、神の助けなしにはならず、私は学業を完了し、卒業証書を守りました。弁護活動の直後、私は修士課程への入学を勧められましたが、政治学ではなく社会学でした。私は教育の予算形態に魅力を感じ、同意しました。 ここで私はすぐに予約を入れます(私の人生の 2 年間は省きます)。PHP の勉強を始めた後、若いデザイナーに出会ったとき、私たちは手を携えてフリーランスのサイトに注文を入れます。彼がデザインを担当し、私がレイアウトを担当します。これはフロントエンドでのほんの小さな経験です。 SUSU で社会学の修士号を取得することは、すでにより応用的で実践的な研究であるように見えました。このコースには高等数学、数学が含まれていました。分析、統計など (現在データ サイエンスのロードマップに含まれているほぼすべて)。Python でさえ修士課程の終わりでした。そして、修士課程の2年目が始まったばかりのこの瞬間、私はこれに取り組みたくないこと、そして「社会学」の需要が取るに足らないものであることを理解しています。私は再び開発に目を向けており、かつて JavaRush にアドバイスをくれた友人に再び手紙を書いています。最初の挑戦から3〜4年かかりました。驚いたことに、彼らはすでに Java 開発者として中堅の立場で働いています。彼らはサクセスストーリーを書いていませんでしたが、個人的なコミュニケーションで、レベル18から19の後に研修生またはジュニアとしての仕事を得たことには驚きました。私は再び考え始め、歩き回ったり、急いだり...一日中 Tiobe や Pypl などの評価を眺めていました。YouTube のビデオ - 「XXX で最初に選択するプログラミング言語はどれですか?」開発者として 6 か月間働いてきた今になって初めて、この質問の不合理さに気づきました。私の地域(当時チェリャビンスク)の hh.ru の求人数には、まだ不十分な点がたくさんありました。すでに開発関係の仕事に就いていた「成功した」友人の一人は、平文でこう言った。そうすればそれはあなた次第です。」この素晴らしい日、2019 年 9 月 11 日のことを覚えています。プロモーションで年間サブスクリプションを 5,800 ルーブルで購入しました。当時は、この購入が 100,500 倍の利益をもたらすとは想像することさえできませんでした。5ヶ月の旅でした。JR (Java 構文クエスト) の 8 レベルを今でも覚えています。これがターニングポイントとなったことが分かりました。当時、私と並行して勉強していた多くの人は、タスクの複雑さに耐えられず、次のような言葉を残して JR を去りました。 」これまでに、私が知っているレベル 8 で諦めた人は全員、投資家や億万長者、さらには中産階級にすらなっていません。「お金を貸してください」という言葉が添えられることもあります。 JavaRush の第 8 レベル (Java 構文) を感じたこと:ヴァルハラへの驚くべき旅、または歴史家兼アーキビストが開発者になった経緯。 - 1 一緒にレベル 20 まで肩を並べて進んだ友人は、私より 9 歳年上で、無事に Luxoft に就職しました。彼にはまだ物語を書く時間がありそうだ。 ここでクリロフの寓話にまったく立ち入らない場合、教訓と結果は次のようになります。 1) 最初の社会保障はチェリャビンスクの Zaycev.net という会社で導入されました。私は無事不合格でした(1.5時間は非常に奇妙な質問があり、残りの20〜25分は紙でテストを試みました)。一次面接を体験してくださった皆さん、ありがとうございました。テストには、OOP 原則に関する標準的な質問と、その後にある数値体系から別の数値体系への変換が含まれていました。タスクは全部で6つあります。最後はソート アルゴリズムを作成することです。私はそれを実行できませんでした。なぜなら... 5 番目 (タスク:「このコードは何をするのか?」) で行き詰まり、時間切れになりました。2) 2020 年 3 月に社会保障サービスが破綻した後、 zaycev.net で 大恐慌、つまり Covid-2019 のパンデミックが始まりました。非常に物議を醸した時代。論文審査はどのように進められますか? 次はどうする?どこで働こうか?その上、自分の家を建てたいと思って数十万で買ったダーチャが全焼してしまいました。少なくとも一部の人は、30歳になってもぶらぶらしないようにしましょう。3) パンデミックの真っ只中、私はチェリャビンスクからノヴォシビルスクに移動することにしました(何を失う必要があるでしょうか?とにかくダーチャが全焼しました)。旅行自体は「楽しかった」ですが、クルガン地方は出入国が禁止されています。警察に呼び止められ、「登録しないとノボシビルスクに行けない」という言葉を言われて家に戻されるのではないかという恐怖。いわゆる「自己清算」体制の時代。4) ノヴォシビルスクに引っ越してきたのですが、仕事が見つかりません。2GIS 会社の素晴らしい人たちは、面接の第 4 段階が終わった後、「ごめんなさい、一ヶ月を無駄にしましたが、すでに他の人を見つけました」と言います (これは開発の仕事に就くための試みではなく、電話オペレーターの定期的な欠員)。5) 次に、素晴らしい Lenta ストアで販売員としての仕事に就きます。今は 2020 年の夏なので、このオプションはおとぎ話のように思えました。元レストラン経営者は、黄色のYandex.Foodバッグを着用し、立って働くことを強制されている。彼らはできる限りのことをして生き延びました。出来事は新鮮です、あなた自身で覚えておいてください。6) JR で一緒に問題を解決した友人 (前述) はすでに就職しており (JR で 5 か月勉強した後)、Java のオープンソース プロジェクトに参加するよう私を誘ってくれます。たとえ報酬を得られなくても、経験を受け取って共有するというアイデアが気に入りました。このプロジェクトには、この「運動」そのものを組織した人物がいた。同時に、彼はモスクワの大企業で TeamLead QA として働いていました。彼は、プロジェクトに対する私のアイデアと、Spring を最大限に活用する方法を気に入ってくれました (当時、私は基本的なことしか知りませんでした)。7) ある日、同じオープンソース プロジェクトの主催者が「もっと時間を割いてもいいですか?」と尋ねました。そして私はどこで働いているのでしょうか?「Lenta」と営業コンサルタントの言葉を聞いて、彼は私をモバイル QA のポジションとして彼の会社に推薦してくれました。GPC デバイス。Selenium や Appium などについては何も知りませんでした。しかし、わずか 2 週間で、Android と iOS をベースにした携帯電話用の自動テストの作成の本質を理解することができました。1000ドルを超える基本給にはとても感動しました。その瞬間から、人生はまったく異なる方向に進みました。8) 2020 年 8 月がやって来て、私が QA として会社で働いて文字通り 1 か月半になります。それは8月の夕方のことでした、ジュニア履歴書のタイトルから。また、JavaRush の進捗状況 (当時はレベル 22) という、新しい場所での商業的な経験も少し追加しました。彼はまた、私がオープンソース プロジェクトに参加していることを示し、github 上の Zaycev.net にある唯一のテスト タスクへのリンクを送信しました (ちなみに、はい、私は 1 か月間それを実行しましたが、どうやら実際のケースを実行したようです)。気象サービスでした)。9) そのまさにその X 日は、「次の」8 月の朝、私がメールをチェックしたときにやって来ます。hh.ru から、大企業があなたとの連絡を求めているというメッセージが届きました。最初の反応は「そうですか? マジですか? 冗談ですか? もう何年も履歴書を送ってきたのに、今だけ?」でした。面接の準備をしていたと言っても過言ではありません。私は単に準備をしなかっただけで、私の現在の知識で十分だったか、申し訳ありませんが、それでも教え続けなければならないかのどちらかだと悟りました。10) hr との Zoom 通話の日がやって来ました。会議の 1 分前に、私はこう考え始めました。今接続して恥をかかせる価値があるでしょうか? でも、どう考えても、私には失うものは何もありません。Zaycev.net ではすでに限界まで達していますが、面接の経験が必要です。コーヒーを淹れてから、約束の時間ちょうどに行きました。驚いたことに、1) プロダクト オーナーと 2) チーム リーダーの 2 人が私を待っていました。私はあなたがこれまで読んだものと同じような話をしました。彼は、「なぜ大学院に行ったのですか?」、「なぜイタリアからロシアに戻ったのですか?」、「なぜミラノでの生活とノヴォシビルスクでの生活を交換したのですか?」などの質問に答えました。その瞬間、文字通り電話の前日、私は純粋な Debian 9 上に Wildfly サーバーをセットアップしており、これらの言葉でインタビューでのミニ独白を終えました。少し間を置いてから、接続が行われたことに気づきました。「テストを行うことに同意しますか? 成功したら、あなたを雇用します?」という短いアナウンスが流れました。私の答えは「はい」でした。PS 私は QA としての仕事を続けながら、数日でテストを行いました。このタスクは非常に興味深いものでした。リクエストをコントローラー入力として受信するサービスを純粋な Spring で記述する必要があり、いくつかの DTO レイヤーを実装する必要があり、リポジトリではデータベースからではなくデータを受信する必要がありました。 json ファイル。その構造は自分で考え出す必要がありました。この課題とその解決策の詳細に興味がある人は、個人的なメッセージで私に連絡してください。この資料の出版がどの程度合法になるかわかりません。その日のうちにレビューのために課題を提出したところ、招待企業から「はい」の返事をいただきました。私は正式に Java 開発者になりました。文章を飽きさせないよう、かなり省略させていただきました。この状況全体の素晴らしい点は、私が 2019 年 9 月 11 日に JavaRush のサブスクリプションの料金を支払い、2020 年 9 月 11 日にオファーを受け取ったということです。ちょうど 1 年後、パンデミックの始まりと準備のため長い休止期間がありました。修士論文の擁護をしています。これまで、私は商用アプリケーションの開発において貴重な経験を積んできました。6 か月では数年以上の勉強ができました。しかし、これは JavaRush での実際の経験 (問題やさらなる問題) がなければ不可能です。今、私は JR プロジェクトに感謝​​の気持ちを込めて、友人たちを助けたいと思っています。私と同じように Java 開発に携わりたい人には、年間プレミアム サブスクリプションをいくつか提供しています。仕事のおかげで仕事に行きません。それを仕事と呼ぶことさえできません。私は難しい仕事を楽しんでいます。この間、Kafka から Hadoop に至るまでのテクノロジーが研究され、個人的なテクノロジーの積み重ねは補充され続けています。私の学生時代は、合計約 9 年間でしたが、忍耐力のスキルと、新しいことを教え、学びたいという絶え間ない欲求を植え付けられました。これがなければ、月に数千ドルを払っても特にやる気はありません。お金のためだけにこの分野に参入する価値は決してありません。 かつて、路上に住んでいた私は、シベリアの空き地にある生態ゾーンに家を買うとは想像もできませんでした。好きなことをして、まともな給料をもらえる - おかげでサバイバルモードは終わりました。 ゲーム・オブ・スローンズ シリーズのピーター・ベイリッシュの有名なフレーズを思い出します。 ヴァルハラへの驚くべき旅、または歴史家兼アーキビストが開発者になった経緯。 - 2 パンデミックのちょうど 1 年で、ほぼ 30 年間の生存がヴァルハラとなり、すべてのヴァイキングもまた、そのために無制限に努力しています。Java の学習を考えているだけですか? これは必要ですか? できるでしょうか?JR メイン ページのフッターまでスクロールして、次の 3 つの単語を読んでください。プログラマーは生まれません。 アドバイスブロック アドバイスなしでどんな物語が成り立つでしょうか? 1) できるだけ早く解決する必要がある場合は、ゲームに関するタスクに深く取り組むことはお勧めしません。なぜ?しかし、実際には必要のないことに膨大な時間を費やすことになるからです。しかし、代わりに Spring を学習すると、より早く目標に近づくことができます。(ただし、時間があり、楽しい生活を送り、屋根があれば、いくつかのゲームを作ることができます)。しかし、繰り返しますが、Java はゲーム開発に関するものではありません。そうそう、一般的に、コンピューターでゲームをプレイすることは忘れて、携帯電話やその他のメディアから Steam をアンインストールしてください。私は開発者として働いてから 5 か月経ってから、再び ウィッチャー をプレイしました。2) データ構造とコレクションにより多くの時間を費やします (1 つ目は、コード リファクタリング タスクを実行するときにこれらが必要になるためです)。3) SQL を学習できるのは、面接に合格する予定がある場合、結合の前のみです。残りは 燻製してオフィスに行く途中。RuNet の現時点での最良のリソース: sql-ex.ru 4) Spring。はい、はい、それはすでに Java コアのようです。就職したいという前提で。私には、Youtube のアリシェフのビデオコースとハブレに関するいくつかの記事で十分でした。5) バウンドするようなアルゴリズム? ありそうもないことですが、一般的な種類をいくつか知っておいても損はありません。私はまだ Grokai の『アルゴリズム』を全部読んでいません。6) 非常に役に立った書籍は、D. Bloch - Java Effects Programming (3rd edition) と R. Martin - Clean Code です。ブルース・エッケル著『The Philosophy of Java』をまだ読んでいません(150ページで止まってしまいました)。7) 経験を積むことができる運動に参加してください。オープンソース、あなた自身のペットプロジェクト、おそらくインターンシップ。もちろん、有益な活動を履歴書に反映してください。一般的に、履歴書は「くしで」作成します。8) 池から虫を簡単に捕まえることはできません。追加のタスクを含めて、JavaRush の第 8 レベル (Java 構文) に正直に合格した場合、あなたはほとんど Java 猫になったことを知ってください。そうすれば少しは楽になりますよ。9) 面接の準備はどのようにすればよいですか? オーディンが宝箱を開けてしまったことを許してください。リンクは次のとおりです: https://github.com/enhorse/java-interview 10) そして、Java の Lambda と Stream API のトピックに目を通すことを忘れないでください (できればその前に)インタビューですが、多くの場合、デバイスを使い始めてからのより生産的な作業のために行われます)。最初はそれが何なのか、どれくらいの頻度で使用されるのかわかりません。しかし、このトピックを学べば、ストリームが心から好きになるでしょう。私の短編小説を読んでいただきありがとうございます。あなたの質問に喜んでお答えします。特に「熱い」人たちには、あなたの現在の知識に応じて、インターンシップに参加するか、直接働くために私の会社に招待します (詳細は PM にあります)。 完全に忘れた。2021年3月現在、世界中でJava開発者の人材が大幅に不足しています。企業のトップは、あなたが消費のことをしばらく忘れて、ソファから立ち上がって開発者になれるように、あなたにお金を支払うことを強制しています。 誰かが言語を学び始めてレベル 3 ~ 4 に達したからといって、市場に居場所がないわけではありません。少なくとも Java Core の基本をマスターすると、すぐに (文字通り) 掃除が完了します。私たちをデジタル化 (こんにちは、サイバーパンク) へと導いたグローバリゼーションには、開発者の軍隊だけでなく、Java 猫の軍団も必要です。そうそう、彼らはレガシーをサポートするだけでなく、Java で新しいプロジェクトを書き続けています。2021 年の今日、開発に参加しないのは、超怠惰なアライグマでなければなりません。企業はあなたを待っています。企業はあなたのトレーニング費用を支払う用意があります。彼らに向かって一歩踏み出してください!恐れることはありません!アゴリ!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION