CodeGym /Java Blog /ランダム /ソフトウェア開発者のディマの物語: 「コードをテストするよりも、コードを書くほうがはるかに興味深い」
John Squirrels
レベル 41
San Francisco

ソフトウェア開発者のディマの物語: 「コードをテストするよりも、コードを書くほうがはるかに興味深い」

ランダム グループに公開済み
CodeGym の学生は、すでに IT 業界で働いている人の話を聞きたいと考えています。私たちは問題を自らの手で解決し、Java トレーニングを修了したさまざまな国や企業の開発者に関するシリーズを立ち上げました。この物語は、ホテル事業を辞めてプログラミングのキャリアを追求した Android 開発者の Dima についての物語です。彼は 1 年半で Java と Android をマスターし、開発者として就職しました。ソフトウェア開発者 Dima の話: 「コードをテストするよりも、コードを書くほうがはるかに興味深い」 - 1

「毎日朝の5時か6時に起きて、仕事前に勉強しました。」

私は人文科学の高等教育を受けており、ホスピタリティマネジメントの学位を取得しています。そこで大学卒業後はホテル事業に携わる会社でお客様対応の仕事をしていました。その時点で、私はいくつかの理由からこの分野に興味がないことに気づきました。人々と働くのは私が思っていたほど簡単でも楽しいものでもありませんし、給料もそれほど高くありません。モバイル アプリのテストを行う品質保証部門に欠員ができたため、時間が経つにつれて、私は製品部門に異動する機会がありました (この会社にはホテルの部屋を予約するためのアプリと Web サイトがあります)。就職はできましたが、必要な経験がありませんでした。仕事の過程で自動テストを書くことになり、プログラミングを始めました。そのとき、コードをテストするよりもコードを書く方がはるかに興味深いことに気づきました。私の心に疑問が生じました:どこに勉強に行けばいいのですか?その時すでにこの講座の存在は知っていたので、早速受講してみました。20 レベルをクリアし、次にどこに行くかを考え始めました。私は、モバイルアプリ開発に取り組むのが良い選択肢だと判断しました。20 レベルで得た知識はジュニア開発者になるのに十分とは言えません。構文と Java Core の概念を学びましたが、それは単なる知識であり、実践的な作業はありませんでした。むしろ、それはコードを書こうとするための基礎でした。さらに、理論に関する本をさらに 2 冊読みました。この荷物を持って、私は Android 開発に取り組みました。私にはトレーニング計画がありました。毎日朝の5時か6時に起きて、仕事前に2時間勉強しました。また、自由な時間があればいつでも勉強しました (たとえば、テスターとして開発者が新機能を実装している間待っていた場合)。プログラミング タスクはその日のうちに完了しました。1~2か月で20レベルをクリアしました。スケジュールに従い、レベルごとに 1 ~ 4 日を費やしました。このコースの後、他の場所で Android 開発に関するいくつかのコースを受講しました。まずはAndroidの基礎コースを受講して、何が何なのかを理解してさらに知識を深めました。Android の世界には、業界標準と見なされているさまざまなライブラリを集めた独自の動物園があります。主要な図書館は5~6館あり、勉強していないと面接に行っても意味がありません。フルタイムで働きながら、私の教育活動には約 1 年半かかりました。1日8時間勉強すれば半年で達成できます。

「失敗した面接が私の基礎を強化した」

私は経営陣と合意を持っていました。私が勉強すれば、彼らは私を開発者として雇ってくれるでしょう。しかし、この計画は実現しませんでした。上級開発者が退職し、長い間新しい開発者を見つけることができませんでした。私は待っていても無駄だと気づき、すでに他の求人を探して面接に行き始めました。場合によっては、会社が気に入らないこともありました。また、私が自分に合わなかったため、連絡を受けられなかった場合もありました。面接で質問に答えられなかった場合は、次回は良い答えができるように家に帰ってそのテーマについて勉強しました。失敗した面接が私の基礎を強化しました。 その結果、2年間勤めた会社の面接に合格することができました。その時点で、私はすでに自分の弱点をすべて知っており、難しい質問に対してできる限りの準備をしていました。さまざまな企業のカスタム開発を行う受託Web開発スタジオに就職しました。クライアントには、Gazprom Media やテレビ チャンネル TNT が含まれます。当社はこのプロジェクトを他の開発者から継承しました。状態は悪く、コードは時代遅れの標準に基づいて書かれていました。その時すでに5歳くらいでした。もう一人の若手開発者と私がこのプロジェクトに参加することになりました。私たちは幸運でした。私たちはお互いに助けながら、ゆっくりとコードを理解しました。2 年間かけて、私たちはコードベースを見栄えの良いものにしました。プロジェクトの当初の書き方は不十分だったため、私は Android を理解し、この分野に参入することができました。今回の仕事では、約3ヶ月間の海外滞在中にリモートワークをするよう交渉しました。これにより、バリ島に旅行し、そこから仕事をすることができました。私はそれが難しいとは思いませんでしたが、すべては個人の内なる自己規律と自己組織化にかかっています。早起きするのが楽しかったです。私はモスクワ時間の朝4時から5時に仕事を始めました。その時間は誰もおしゃべりしていない時間だったので、たくさんのことをする時間がありました。モスクワでの昼休みまでに、私の仕事は終わりました。ソフトウェア開発者 Dima の話: 「コードをテストするよりも、コードを書くほうがはるかに興味深い」 - 2

「どんな分野の人でもプログラミングをマスターできる」

ロシアに帰国した後、しばらく同じ会社で働きました。2020年5月、私は食料品会社DPDでより良いポジションに就くために退職しました。当社は宅配アプリ、つまり宅配業者用のアプリと顧客用のアプリを開発および保守しています。私は同時に 2 つのアプリを操作しています。最近、顧客アプリを最初のリリースに移行しました。私が採用されたときは、まだ部分的にしか準備ができていませんでした。それを完成させて、Google Play にプッシュする必要がありました。2 番目のアプリである宅配アプリは、多くのレガシー コードを含む古いアプリです。以前に作業したコードは古いコードが多かったので、レガシー コードを使用した経験がありました。それは現在の仕事にとても役立っています。文字通り1か月前、私は試用期間を無事に終了しました。プログラミングには問題解決スキルが必要です。これらのスキルはさまざまな方法で取得できます。数学者や物理学者、技術的な背景を持つ人は、デフォルトでこれらのスキルを養います。彼らにとってプログラミングに取り組むのが少し容易になると言えます。一般に、意欲と興味があれば、どの分野の誰でもプログラミングを学び、開発者になれると私は信じています。

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

  • Yakov Fain 著『子供、親、祖父母のための Java プログラミング』という本を読んでください。かつて、私には IT の知識がなく、多くの概念を一から学ばなければならなかったので、この本がとても役に立ちました。本書はプログラミングの基礎をとてもわかりやすく解説しています。勉強を始める前に読んでおくと、プロセスが大幅に簡素化されます。
  • 明確なトレーニングスケジュールを作成します。スケジュールを立てずに週に数時間勉強しようとする人はがっかりするでしょう。それは、以前に学んだことを忘れてしまい、進歩がなくなるレシピです。正しいアプローチは、毎日少しずつ学ぶことです。そうすれば進歩が見られます。
  • Android に関するアドバイス: 主要なライブラリについてよく理解しておく必要があります。これらのライブラリに関するいくつかのチュートリアルを見つけて、コードを作成して、それらがどのようなタスクを解決するかを理解してください。
  • 「面接の質問」の多くはオンラインで行われるため、準備することができます。応募者の一般的な知性をチェックするために、トリックを尋ねることを好む雇用主がいます。それらの質問にも答える準備ができている必要があります。
  • 面接では、興味と学びたいという意欲を示してください。最初は何も知らない人もいるかもしれませんが、新しい情報をすぐに取り入れ、仕事上の問題をすぐに解決できます。それは常に大切にされています。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION