CodeGym /Java Blog /ランダム /30 歳以上の観客向けのストーリー
John Squirrels
レベル 41
San Francisco

30 歳以上の観客向けのストーリー

ランダム グループに公開済み
さて、時間を見つけての小さな話を共有することができました。

プロローグ

まず、私が 30 歳で、化学の高等教育を受けており (詳細は説明しません)、工場で 8 年近く働いています。実際、仕事はとても面白かったのですが、同僚を見ていると、ここで定年まで20年も働きたくないなと思いました。これは私が望む人生の過ごし方ではありません。また、私には 2 人の子供 (最年長は 6 歳、最年少は 1 歳) を含む家族がおり、予想通り住宅ローンを抱えていることも付け加えておきたいと思います。最後に、私は別の場所、より給与が高く、実質的にキャリアアップが見込める別の工場に移ろうと決意しました。最初の工場に根を下ろしていたので、離れるのは大変でしたが、覚悟は決めていました。サンクトペテルブルクへの私の旅行は1か月続きました。私はそこで正式に一週間仕事をしていましたが、そのとき私たちの国の工場(スヴャトスラフはロシア出身です - 編集者注)の状況がほとんど悲惨であることに気づきました。私は故郷に帰りました。これは後退するような気がしたので、戻りたくありませんでした。この時点で、私は自分の人生を変えたら、そして根本的に変えてみようと決心しました。どのプログラミング言語を選択するか約 1 週間考えましたが、Java を選択することにしました。それからコースを探し始めました。現実には、良いコースがたくさんあり、中には手頃な価格のコースもあります。しかし、私には問題がありました。非常にやる気があり、勉強する時間はたくさんありましたが、経済的なクッションはせいぜい 3 ~ 4 年しか持たないのです。数か月。私が気に入ったコースはどれも半年以上、週に2回のレッスン(ほとんどの場合)でした。しかし、友人が CodeGym がとても良いリソースだと聞いて、私にそれを勧めてくれました。このコースには必要なものがすべて揃っていることがわかりました。
  • 学習教材とタスクを含むサブスクリプション。
  • 時間制限はありませんでした。スケジュール (余裕があった) と自分の欲求 (上で述べたように、非常にやる気があった) が許す限り、勉強することができました。

パート 1: 知識を求めて

2019年11月26日に登録して勉強を始めました。すぐに言っておきますが、14 時間ずっと座って勉強し、すべての関連リンクを読み、(ヘルプを覗かずに) より美しい解決策を見つけようとしていた日もありました。自分の解決策が最善であると思ったときのみ、ヘルプを参照しました。私は、さらに美しく、より簡潔なソリューションに驚かされることがよくありました。1月末、レベル17に到達したので、面接に行き、自分のスキルを披露し、市場が何を望んでいるのかを確認することにしました。たまたま、誰も私にまともに反応しませんでしたが、無給の試用インターンとして私を受け入れてくれたオフィスが 1 つありました。最初の 1 か月は無給で、2 か月目と 3 か月目は少額の奨学金が含まれていました。次に、3 か月後の私のパフォーマンスに基づいて再度面接があり、インターンシップが成功した場合は、採用となります。

パート 2: 戦闘に突入する

私のインターンシップでは、会社の内部部門の 1 つで行われる日常的なタスクを自動化するために、Java バックエンドを使用して Chrome プラグインを作成することが含まれていました。知識が豊富な素晴らしい指導者がいたことも重要だと思います。基本的に、雑草の中で迷子にならないように、ここで私が使用したテクノロジースタックについて説明し、記事の最後に私にとって非常に役立つことが判明したいくつかのリンクを提供します。

テクノロジースタック:

Java 11 (プロジェクトは完全にゼロから作成されました)、Spring (ブート、セキュリティ、OAuth2)。データベースには MongoDB を使用しました。自動テストには、AssertJ、Mockito、Spring-boot-starter-test を使用しました。そして、かなり人気のある GitHub フローを使用しました (この記事 を参照)。ところで、もしあなたが英語に苦労しているなら、今こそ英語を学ぶことをアドバイスする時です。私の流暢さレベルはA2ですが、常に英語で記事を読むようにしています(もちろん翻訳機は使わずに)。インターンシップ プロジェクトを開始したとき、これが最大の困難でした。サードパーティの CRM を使用する必要があり、そのドキュメントはすべて英語だったからです。また、Spring を使用する場合は、元のドキュメントを読むことをお勧めします。とても良くて詳しいです。さらに、ほとんどすべてのドキュメントは英語です (Captain Obvious からの一部)。また、メンターからは、コードと API ドキュメントのすべてのコメントを英語で書くように言われたので、もう一度繰り返します。ネイティブ スピーカーでない場合は、英語を勉強してください。外国の顧客と仕事をしたり、海外旅行に行く予定がない場合でも、このスキルがあれば学習と能力開発が大幅に簡素化されます。

パート 3: 結果

この部分はもっと短くなります:) インターンシップの終わりに、私は業績評価面接に無事合格し、就職し、そこでこのプロジェクトに取り組み続けました。最初のステージはインターンシップの一環として実施することになったのですが、全部で3ステージありました。パンデミックの発生により、多くの商業プロジェクトが消滅しましたが、私はこのプロジェクトのすべての段階とその他すべてのアイデアや要望を実行しました。他にもやるべきことはありましたが、彼らが言うように、それはまた別の話です。

パート 4: ハッピーエンドがありましたが、物事はまだ終わっていません ;)

7月中旬に電話があり、仕事を探しているかどうか尋ねられました。長い間更新していませんでしたが、履歴書を投稿しました。私は自分自身をテストすることにしました。テスト課題、技術面接、上司との面接の3段階を経ました。彼らは私にオファーを送ってきました、そして...これは私が断ることのできないオファーでした。もちろん、最初の数回の仕事では、連れて行かれるところならどこでも働こうとするのは理解していますが、それでもです。最初の仕事はアウトスタッフの仕事でしたが、今の仕事は食品業界です。彼らは私をジュニア開発者として雇用しましたが、知識とお金の両方の点で成長の余地があるため、まったく動揺していません。

エピローグ

ですから、皆さん、落胆しないでください。大切なのは、自分の心を決めて、自分の道から外れないようにすることです。私の場合、家族を養うという大きな責任があり、自分の人生で何かを変えたい、本当に好きなことを始めたいという願望がありました。ソフトウェア開発は特に優れています。なぜなら、会社でより高い欠員があるかどうか、誰かが 20 年間働いて退職したかどうか、そして、地位を獲得するための人脈があるかどうかに関係なく、キャリアのはしごを登ることができるからです。より高い仕事。私たちの分野では、すべてが私たちの手の中にあります。

共有したい記事は次のとおりです。

  • アーキテクチャを理解する 。私自身、将来のアプリケーションのアーキテクチャを検討していたときに、この記事を 4 回読みました。私が「私たち」という言葉を使ったのは、私のメンターがすべてをチェックして修正のために送り返したからです(つまり、彼はコードレビューを行いました)。初めてでよくわかりませんでした。3か月後に読んでみたら、その理由が分かりました。その後、すべての情報を定着させ、完全に吸収するために、さらに 2 回読みました。
  • インタラクティブな Git 学習
  • 誰もがストリームの操作方法を学ぶことをお勧めします。これらは本当に素晴らしいもので、多くの場合、大量のコードを小さなストリームに置き換えることができます。
  • 春のドキュメント。
  • 私は非リレーショナル データベースを使用しており、ほとんどの企業 (特に大企業) は SQL を使用しているため、自由時間に SQL クエリの構築に関連する少なくとも 2 つの問題を解決しようとしました。これについてはさまざまな Web サイトがたくさんあります。
  • テストの作成 (Assertj、Mockito) について読むことをお勧めしますが、良い記事は覚えていません。ドキュメントだけです。
  • また、アプリケーションを開発しているとき (ただし、今は初心者レベルを超えています)、デザイン パターン を使用するようにしてください。少なくともよく知られているパターンをざっと見てみましょう。それは、使い始めるときに役立ちます。
もう一度、皆さんが夢に向かって頑張っていけることを祈っています!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION