JavaRush /Java Blog /Random-JA /私の成功事例

私の成功事例

Random-JA グループに公開済み
  1. 皆さん、こんにちは。私は勤務日が始まる前に、最初の職場 (より正確には、ジュニア Java 開発者として最初の有給インターンシップを行った場所) からこの記事を書いています。
  2. 私の成功事例 - 1
  3. 私は 39 歳 (!) で、仕事の休憩、お金、生まれたばかりの子供の世話、モスクワの家族に戻ること、その他のことがいくつかある間に、趣味としてプログラミングを始めました。その前は、金融家として働いており、さまざまな 1Сах での会計システムの実装に多く参加していました。

  4. 最初は自分でプログラミングを始めようとして、Kotlin から始めてみました (言語自体も、それを開発する JetBrains もとても好きでした)。しかしすぐに、おそらく 1 週間以内に、Java がなければ Kotlin でできることは何もなく、何らかのコースが必要であることに気づきました。自分で調べるのは非常に効率的ではありません。どうやってJavaRushを見つけたのかは覚えていませんが、6月30日に登録しました(今メールで調べました)。すでに 7 月 5 日に私はサブスクリプションを購入しました (この 5 日間で、1 日あたり 2 レベルずつ、最初の 10 レベルを完了しました)。私の意見では、3 か月、25 かそれ以上のレベルを完了しました (完全に、詳細を調べたり、ソリューションの一部をダウンロードしたりしましたが、実際にはそれらを詳細に理解していたことは間違いありません)。

    ついに数式を解析できたときの大きな興奮を覚えています。このタスクは大きな飛躍であり、プログラマーとしての自分を理解する上での画期的な出来事でした。


  5. 最初にコレクションを検討し、次に同時実行部分を検討することにしました。内容を見て、コレクションを扱う方が面白くて役に立つと判断しました。私の意見では、さらに 10 レベル (35 レベルまで) を完了するのに約 2 か月かかりました。

  6. 同時実行の途中で、終了し続けるのはほとんど無意味であることが明らかになりました。演習を行うよりも、ヘルプ セクションで問題を分析する方が面白くなりました (これは私にとって役に立ちました。他の人のコードを分析する方法を学び、知識を体系化できました)。次に、Spring + Hibernate + Mayesquel + ある種のテンプレート エンジンを使用して Web プロジェクトを作成するという目標を設定しました (最終的には Thymeleaf を使用して作成しました)。私は純粋に最も魅力的なタスクを見つけるために残りのレベルを開けました。

    その瞬間にインターンシップがあれば良かったのですが、その瞬間に行われていたインターンシップにはすでに遅すぎ、次のインターンシップには早すぎました。


  7. その結果、私はこれらすべてを取り除くのに 1 か月半を費やしました (ビデオの例の人は、おそらく 50 分で同じことを行いました)。合計 2 つのテスト Web サービスを作成しました。1 つは、ビデオの内容を純粋に繰り返したものです (標準的な本のリストは、インターンシップのテスト課題に似ています)。2 つ目は実際のタスクとほぼ似ており、レスト コントローラーを使用して吊り天井のコストを計算するためのサイトのバックエンド部分です (友人の実際のニーズの例に従う)。そして、裸のスプリングではなく、スプリングブートで。2 つ目では、楽しみのために Kotlin にクラスを挿入しました (一般的に、Kotlin を強くお勧めします。私は間違いなく自分でさらに詳しく調べます)。

  8. 基本的に Web サービスをゼロから作成した後 (認可、トランザクション マネージャー、Web パーツの通常のテストなどがないという事実については何も言いません)、次のことが必要であることが明らかになりました。 6月に履歴書を作成して仕事を探します。この時点で、私はプログラミングが本当に好きで、プログラマーが本当に必要とされていることがわかり始めました。そして(休暇明けの1月中旬に)ようやくこれまでの経験を完全に削除して(1段落の短い説明だけを残して)英語で短い履歴書を書き、NNに提出しました。

  9. 始まったことはほんの一段落です。誰にもリクエストを送る時間がありませんでした。すでに企業から面接のオファーを 4 通受け取り、人事部からは別の仕事を検討するというオファーの手紙をさらに 2 通受け取りました (しかし、これらの 2 通の手紙はそのレベルではありません。真ん中の人)。なぜこんなことが起こったのかはわかりませんが、おそらくその瞬間にSberからの面接の注文が急増したのだと思います(4件中2件 - Sber自体、通常は履歴書を投稿した人全員とその請負業者を招待します)。それに、私の履歴書もおそらく良く見えたでしょう。

  10. 最初の面接(Sbertech)は素晴らしかったです。私は彼に核心と基本についてとてもよく教えました。面接官は、社会保障はただの爆弾であり、たとえ社会保障がなかったとしても、私は間違いなく仕事を見つけるだろうと言いました。でも、二回目(電話で)は本当に残念でした。後で思い出したように、私は完全に道に迷っていましたが、ほとんどすべての質問を知っているか、まともな答えを返すことができました。現在、Sbertech には 2 人の面接官がいますが、1 人は私は悪くないと考えており、2 人目は私が臨床バカだと考えています。面接に真剣に取り組むことは良い教訓になりました。そうしないと、オファーと最初の面接の後、少し誇りに思っていました。

  11. 興味深いことに、(現在の場所を含む)3回の面接では、技術的な面接はほとんどなかったのです。もちろん、私は十分に準備していましたが、彼らは純粋に人間的に私の人間性を見ました。特に、私が35歳を超えていたという理由だけで私を誘ってくれた会社のことはよく覚えています。とても独特な雰囲気を持っています。私が彼らの開発マネージャー (私よりもずっと年上で、本当に昔ながらの) にどの IDE を使っているのか (Intellij または Eclipse、この部分には何らかのポリシーがある) に尋ねたところ、最初は理解さえしていませんでしたが、その後、こう答えました。 、テキスト エディタ...はい、私はそれらを使用しません。それが私のコードの書き方です。しかし、何でも使用できます。問題ありません。」そして彼は間違いなく冗談ではありませんでした。控えめに言っても驚きました。

  12. 数週間後、私はSbertechから電話を受け取りました(正確に最初の面接の後、そこにはたくさんの部門があり、それぞれが独自に採用活動を行っています)。年間ボーナスを考慮すると、毎月1.1万ドルが手に入ります。私は「わかりました」と言い、彼らはオファーの処理を開始しました。このプロセスにはかなりの時間がかかりますが、それでも他の作品を見ました。そんなとき、Javarash で Smart グループのインターン募集の広告を見つけました。私は、チャットしたいと書きましたが、すぐに面接に行きました。ティム・リードは、技術面についての質問はほとんどせず(私自身も、でたらめではなく、私のレベルを十分に説明しましたが)、有給のインターンシップで私を試してみる用意があると言いました。私が同意したのは、Sbertech が少し気になっていたからです (他に選択肢がなかったら、そこに行っていたことは明らかです)。加えて、雰囲気とチームのリーダーが気に入りました。さらに、彼らのオフィスは、私たちが借りている場所から徒歩 7 分の場所にありました。アパート。育児の準備にさらに2週間以上かかり、実際に仕事に行ったのは2月28日でした。

  13. 現在、私は(別のインターンと並行して、彼は別のコースから来ています)会社のメインプロジェクトのコードを理解し、並行してチームリーダーの指導の下でトレーニングアプリケーションを作成していますが、その唯一の目標はデータベースからブラウザ プロジェクトに至るまで、主要なエンドツーエンドの方法で存在する基本的なテクノロジとテクニックを小規模に使用することです。初日は少しパニックになりましたが、2日目にはすでにその仕事に取り組むことができました。今ではとても面白いです。他の人よりも早く出勤し、他の人よりほぼ遅く退社しています。毎日、自分はこんな感じです。」自分のスキルを向上させています。ティム・リードは、本当の仕事に移る時期が来たと言いました(私は2月28日に雇用されました)。

  14. 初心者向けのヒント:

    • 英語。私はすでに流暢な英語を持っていることが幸運です(なんて幸運でしょう、たとえば、私たちはカウチサーフィン旅行者を頻繁に受け入れました、私の英語は上達しています - 幸いです)。プログラミングにおいて英語がなければほぼゼロです。残念ながらその通りです。

    • スクリュー。トレーニング中、私にはルールがありました。それは、コードを 1 行も使用しない日はなかったということです。そして、標準として、私は 1 日に数時間をプログラミングに費やしました。残念ながら(あるいはそうではないかもしれませんが)、私は本を一冊も読んだことがありません。しかし、私はビデオチュートリアルやカンファレンスでのスピーチをたくさん見ましたし、スタックオーバーフローで大量の回答を読み直しました。

    • それでも、まずはコレクション。同時実行 - 残差原則による。私は今、実際のマルチスレッド スキルにある程度の地位を確立しましたが、個人的な意見では、コレクションを操作することの方がはるかに重要です。インタビュー中、彼らが尋ねたのは、ミューテックスとは何かは知っていますが、それはすべて同時実行性に関することでした。しかし、コレクションに関してはまったく異なりました。

    • sqlex.ru で必ず数十の演習を行ってください (これはそれぞれ esquel によるものです)。JavaRush の数十レベルを終えた後では非常に簡単ですが、同時にバックエンド プログラミングとインタビューの両方に非常に役立ちます。

    • Spring-Boot + Hibernate + Mayesquel + ある種のテンプレート エンジン (timeleaf やMustash など) などのフレームワークを使用して、単純なプロジェクトを作成するようにしてください。あるいは、インターンシップを完了することも同様だと思いますが、ここでは何もお勧めできません。Spring に関する最低限の理論と、プログラミングに関する完成したプロジェクトを持っている人は、まさに天と地です。プロジェクトの後、コースの平均的な演習は幼稚園に近いものになり、複雑な演習は平均以下になりました。単にプログラマの成熟度を高めるだけです。

    • 「@Transactional サービスのメソッドへの追加」レベルだけでなく、トランザクション処理を理解し、このプロジェクトに追加することが不可欠です。インタビューでは取引の話題が絶えませんでした。仕事を探す前に sqlex.ru と Spring および Hibernate トランザクションについて調べなかったことを後悔しています。取引的な人は、バックエンドのポジションについて面接対象者にはるかにうまく話します。

    • 誰かが質問や問題を抱えている場合は、書いてください。私は間違いなく最善を尽くしてお手伝いします。特に春に初めてのプロジェクトを行う人たち。モスクワにいる人なら誰にでも喜んで会います。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION