JavaRush /Java Blog /Random-JA /私のJavaのやり方
Spoloborota
レベル 22
Казань

私のJavaのやり方

Random-JA グループに公開済み
ここにいる多くの人と同じように、私も Java 開発者の道に足を踏み入れた経緯を書きたいと長い間思っていました。そして今、それを実装することができました。遠くから始めます。 すべては 2003 年 1 月 23 日に始まりました。その夜、学校と演劇クラブを終えて帰宅し、部屋に入ると床に箱が置かれているのが見えました。とても大きなものが 1 つ。他にも小さいものがいくつかあります。はい、それだけでした - 私の最初のコンピューター: AMD Athlon XP 1800+、256 Mb RAM、NVidia GeForce 2 64 Mb、および 40 Gb HDD。この重要な日から、私の人生の新しい物語が始まります。それから私は9年生でした。インストールして電源を入れたらすぐに何をしましたか? もちろん遊びます!!!4年くらい人生から離れてしまいました。Quake、Doom、Warcraft、Starcraft、Diablo、Command and Conker Generals、Civilization、Silent Hill、Deus Ex、GTA、Farcry など。母とは多くの衝突がありました。母は私に長時間プレイすることを許可せず、次のように言いました。私に宿題をするように。はい、学校での勉強、そして大学での勉強に切り替えるのは簡単ではありませんでした。結局のところ、ゲームで特定の成功を収めるためには、あらかじめ決められたアクションを実行する必要があり、いつでも以前のセーブを起動して望むものを達成できるような素晴らしい仮想世界がありました。もしかしたら現実でもそうなのかもしれない…つまり、私は人生の多くの時間をゲームに費やしてきたのだ。しかし!このすべてにおいて私にとって非常に重要なプラスがありました。場合によっては、ゲームが起動しなかったり、速度が低下したり、単にインストールされなかったりすることがあります。そしてこの瞬間、問題を理解したいという大きな欲求がありました。そして、できることはすべてインストール、再インストール、構成、最適化しました。ハードドライブのパーティションを再加工し、Windows を再インストールしてファイル システムを変更することから始まり、レジストリとゲーム構成ファイルの調整で終わります。こうして得た知識のおかげで、私は友人の間で「プログラマー」として知られるようになりました。Windows の再インストール、ウイルスの削除など、コンピュータの修理を手伝いました。さらに、当時はまだインターネットにアクセスできなかったので、ソフトウェアが入ったディスクを適切な露店で購入しました。そして、工業大学の 1 年目をかろうじて終えた夏のある日、私は自分のスキルを売り始めようと決心しました。私は Word で「コンピュータ緊急ヘルプ」というタイトルの広告を書き留め、住んでいる村中にそれを貼り回しました。「ビールとチューインガム」で十分だった。そして5年目には、熱心に論文を書く代わりに、知人の紹介で小さないびつなオフィスの事務員として仕事を得ることができました。Windows ドメイン、ネットワークでの作業、Kerio Winroot ファイアウォールについて初めて知りました。2010 年に「コンピューター、複合施設、システム、ネットワーク」の専門分野で学位を取得したとき、私は自分自身に 2 つの道があると考えました。プログラマーか管理者です。プログラミングの経験は、研究室、コースワーク、および大学院での研究に限定されていました。それでも、配列、ループ、条件文、クラスが何であるかは理解できました。しかし、私はコーディングに本当に惹かれたことはありませんでした。在学中にコーディングを学ぼうという試みもありました。しかし、GTA はこの欲求を見事に打ち破りました。ただし、私が非常に喜んでコーディングしたことは注目に値します。クラスメイトの研究を手伝いました。しかし、私は管理業務の経験が豊富だったので、この道を選びました。以下のいずれかの仕事で、蓄積された問題を解決したとき、Linux を始める時期が来たと判断しました。私は夕方仕事中に座って実験しました。その結果、ファイアウォール、ポート転送、Wi-Fi 経由のインターネットへの接続、VPN を使用したインターネットへのゲートウェイの設定が行われました。はい、あまりクールではありません、私も同意します。しかし、良いスタートでした。この知識のおかげで、2011 年に実装およびサポート部門の責任者として職を得ることができました。私の部下には4人いました。私たちは、ジュエリー会社の店舗と倉庫に Java Swing のシック クライアントを実装していました。これで、私たちが実装していたことがどれほど興味深いものであるか理解できました。しかし、私はこのソフトウェアの実装の微妙な点にはほとんど興味がありませんでした。私はカザンに住んでいました。そして、私は長い間、自立した生活に挑戦してみたいと思っていました。このためにネレジノヴァヤに行きたかったのです。それで、しばらくして、同じ組織で働き続けながら、2012年末にモスクワに移りました。おお、地下鉄だ!高級車がどんどん行き交う巨大な通り!このような大勢の人の流れがどこにでもあります。私はこれらすべてに信じられないほど惹かれました。この行動を達成できたことを誇りに思いました。プロジェクトが終了した後、2013 年半ばに、私はコンピューターのセットアップ、テクニカル サポート、および管理から離れる時期が来たと判断しました。私にはそれがすべて軽薄に思えました。分析かプロジェクト管理という 2 つの選択肢がありました。私が示したこれらのポジションに昇進する機会があるという欠員がありました。彼らは私をそこに連れて行きました...そしてそこで私は気づきました...私が人生で決してやりたくないこと!政府契約報告書のページを正しい順序に並べ替えているときに、突然何が起こっているのかに気づいた瞬間がありました。何てことだ!!!もう四半世紀なんですね!!!私は立ってこれらの紙片を漁り、前回のレポート期間に同じ紙片からテキストを知的にコピーして貼り付けました。しかし、その前は、サーバーを使って面白いことをしたり、作業プロセスを整理したり、人々を助けたりしていました...それは私の人生の転換点でした。一種の「職業上の危機」。そこで私は自分の人生で何をすべきかを分析し始めました。手遅れにならないうちに。メンテナンスに疲れました。自分でも何かを作りたい、創りたいと思ったんです。これが心の発酵の主な理由でした。大学時代、コーディングがかなり得意だったことを思い出しました。プログラマーは高収入を得ていることを思い出しました。私は、クールな Java 言語、つまり私たちが実装したシック クライアントがあり、そのプログラムがどの OS でも実行できることを思い出しました。そして、言語を勉強するための教材探しが始まりました。どうやって JavaRush に出会ったのか覚えていません。2013 年 10 月頃のことでした。情報の提示方法と膨大な数の例に非常に惹かれました。仕事に行き、コンピューターの前に座って、仕事から帰ってきて、夕方には再びコンピューターの前に座って勉強しました。時には夜遅くまで座っていたこともありました。最初の 10 レッスンは私にとってとても簡単でした。多くの概念は私にとって馴染み深いものでした。もっと勉強する時間を確保するために、私はジムに行くのをやめて、自宅でウェイトトレーニングをしてトレーニングしました。12月くらいに予定していたのですが、3月末までは仕事を探し始めないつもりです。しかし、私は仕事に特別な注意を払うようになりました。より多くのタスクを獲得しようと努めず、積極性を示さなかった。そして私はこの仕事が大嫌いでした。勤務時間中に、厚かましくも職場のコンピュータで JavaRush タスクを直接実行することもありました。結果が届くまでに時間はかかりませんでした。2014 年 1 月の初めに、彼らは私が月末までしか働けないと告げました。もちろんショックでした。住宅費を支払わなければならない一方で、ベーシックインカムが得られない状況になると知って、非常に不安になりました。「Javaジュニアが面接で聞かれる100の質問」などの記事に熱心に取り組みました。さて、私はジャワラッシュの勉強を続けました。レベル17くらいまで上がりました。色々な面接に行きました。それで、ある組織で、私に書くテスト課題を与えられました。すべてのドミノを 1 行に配置できるかどうかを判断するプログラムを作成する必要がありました。「はい」の場合、この解決策を出力します。インスピレーションを受けて、コンピューターの前に座ってそれを書いたのですが... びっくりしました! JavaRush タスクの温室状態では、座ってコードを書くのは非常に快適でした。しかし、ここでは、いわばすべてをゼロから考え出す必要がありました。プログラマーになろうと決意するにあたって、私が最初に疑問を抱いたのはここでした。コードを書くのはとても難しかったです。私は Java の基本的なことについては何も知りませんでした。私の知識は非常に表面的なものでした。そして、この問題をどのように解決するかは明らかではありませんでした。しかし、私はインターネット上でグラフを使用した解法アルゴリズムを見つけることができました。結局のところ、すべてはオイラー経路を見つけることでした。ちなみに、私の前職の同僚は、Java の学習期間中ずっと私をとても助けてくれました。ちょうどこのシック クライアントを Java で書いた人です。彼はあらゆる面で私をとても助けてくれました。特に、彼は再帰的手法を使用して問題を解決するのに役立ちました。そこで、レビューのためにタスクを送信しました。それから、答えを待つのに 2 週間ほどかかりました...しかし、すべてがうまくいきました。彼らは私を連れて行きました!!! 万歳、やったよ!2014 年 3 月 5 日、私は Java 開発者として働き始めました。幸福には限界がありませんでした。電子決済を扱う会社に就職したのも大きな理由です。そして彼らはスタッフをとてもよく扱います。彼らのシックなオフィスと無料のコーヒーと紅茶を見てください。当時、それは私にとって目新しいことでした。そして私はここに座ってプロジェクトを整理しています... そして気づきました... 私はまったく何も理解していません! サーブレット、フィルター、Xemel パーサー、エスク クエリ、リポジトリへのコミット、取得と投稿、単体テスト...これらすべてが私にとって初めてでした。なぜなら、私はインターフェイスの使い方を最近学んだばかりだからです。コードを見て、メソッド呼び出しのチェーンをたどり、コードをどんどん深く見ていった瞬間がありました。そして、どこから検索を始めたかを忘れていたことに気づきました。時々、立ち上がって逃げ出したいと思うことがありました。それから、春のアレルギーと私生活の問題もあります。脳は単にすべてを理解する時間を拒否しました。簡単に言うと。試用期間を過ぎてしまいました。この豪華な組織に3か月滞在した後、私は雇用契約の終了に署名しました。地獄のようなストレスでした。対処できなかった あんなに夢見ていたこと。自尊心は大きく傷つきました。白髪が現れた。しかし、私は始めたことを続けることにしました。2014 年 7 月、彼らは私の故郷カザンの国際組織に私を雇用することに同意しました。その製品の 1 つはカザンのオフィスで開発されていました。そこで私はフロントエンドをスイングで書きました。このプログラムは、ある DBMS から別の DBMS にデータを転送しました。ああ、それから私は Java コードの作成に関する私の乏しい知識でチームのリーダーや先輩たちを苦しめました。この仕事により、自分のスキルを磨き、基本的なテクニックを学ぶことができ、確実に知識を向上させることができました。私自身も、いくつかの重大な革新を行いました。この間、私は激しい疑念に襲われました。それでも仕事は難しく、忍耐力や集中力が足りませんでした。そして試用期間はあっという間に過ぎました。しかし、最も危機的状況にあった2015年2月に人員削減が行われた。彼らは私を最も経験が浅く精彩のない者として解雇し、同僚を最年長で既に躊躇している者として解雇しました。それは私にとってもかなりのストレスでした。私はプログラミングに関してはまだ完全に未熟であることを知っていました。そして、危機の際には、新しいスタッフを必要とする人はほとんどいないということです。私の勤務経験はまだ 10 か月しかありませんでした。特に成功したわけではありませんが、それでも経験には変わりありません。3月に調べているうちに、とても興味深い出来事が起こりました。全くの偶然ですが、誰かがロシアのソーシャルネットワークで私にJavaを教えに行きたいかどうか尋ねる手紙を書きました。この提案には私は非常に驚きました。結局のところ、人事担当者はまったく偶然に空の私に指を向けたのです。結局、私のプロフィールには Java やプログラミングという言葉すら載っていませんでした。そうですね、私は冒険が大好きなので、面接のようなものを受けに来ることに同意しました。それはメモ帳に小さなプログラムを書くことで構成されていました。やったよ。しかし、私はそのような偏った知識のテスト方法に対して非常に否定的な態度をとっていました。そして、体験レッスンを勧められました。彼らは、コースの構築に基づいたマニュアルのページをスキャンして私に渡しました。私はプレゼンテーションを準備し、磨きをかけ、このレッスンをうまく教えることができました。最後には、何も問題はなかったが、その教訓は学童に教える必要がある、と言われました。12歳から18歳の間。そこで、この年齢層にとって興味深く、理解できる内容になるよう、教材を作り直すように依頼しました。それが私がその時やったことです。その結果、彼らは私を雇用する用意ができず、より教育経験のある別の候補者を採用するつもりだと私に告げました。まあ、大丈夫です、特に動揺しませんでした。また、新しいグループが募集される秋には連絡する用意があるとも言われました。そして、当時私はわずか10か月の就業経験しかありませんでした。なんだか不安を感じていました。そして4月に、カザンで最も有名かつ最大の学際的なITオフィスに就職しました。そこではさまざまなプロジェクトに取り組みました。私はエスキュエルやサーブレットなどのスキルを向上させました。また、8月には同僚に率先してOCAの準備を始めました。準備を始めたとき、Java の基本をまったく知らないことに気づきました。継承中のコンストラクターの初期化に関するこれらすべての問題は、単なる狂ったスイッチにすぎません。コンパイル時間と実行時間。実は、私がこれらすべてを勉強し始めたのは、プログラマーとして働き始めてからわずか 1 年ちょっとでした。2015 年の秋、予想通り、私はコース主催者に電話して、内容を明確にしました。大人向けのコースも現在準備中とのことです。インスピレーションを受けました。私は彼に、そのコースで教える必要がある資料を送ってくれるように頼みました。それを受け取ったとき、私は非常に驚きました。考慮する必要のあるトピックだけが含まれていました。理論、授業での実践的な課題、宿題など、すべての教材を自分で作成する必要があることがわかりました。この状況により、私の熱意は大幅に減りました。結局のところ、私はマニュアルの内容を自分自身に渡し、それを授業で何らかの形で発表するだけだと思っていました。しかし、もう一度、人生でこんな機会が他にいつ与えられるだろうか、と思いました。私自身、この活動にはいくつかの利点があると感じました。まず、自分自身の知識を改善し、定着させることです。「何かを学びたい、理解したいなら、それを他の人に話し、説明してください」という言葉は無駄ではありません。第二に、人前で話すことへの恐怖を克服する理由です。第三に、記憶力を鍛える良い機会です。第 4 に、これにより私の経済状況が改善されます。なぜなら... ジュニアの給料は少ないですが、ネクサス社は徹底的に腐っているので、ずっと車を買い替えたいと思っていました。そうですね、第五に、誰かがあなたの知識や経験を必要としているかもしれないと気づくと、あなたの虚栄心は満たされます。そして11月に私のコースが始まりました。まさに地獄でした!教材を見つけて準備し、レッスンのトピックや宿題について考えます。これで私の自由時間は完全にすべて奪われました。土曜日は火曜日のレッスンの準備をし、日曜日は木曜日のレッスンの準備をしていました。しかし、これは理論上の話です。土曜日に火曜日のレッスンの準備を始め、夕方までに急いで教材を書き上げました。さて、木曜日になんとか一部を終えることができました。ちなみに彼はJavaRushを積極的に宣伝していた。宿題として、この素晴らしいサイトで完了するための特定のレベルが与えられました。もちろん無料レベル10まで。しかし、私はさらに定期購読を購入することをお勧めしました。Javarash は例を使って実践するのに最適だと思うからです。しかし、この理論はさらに発展させる必要があります。私は最初のレッスンの悪夢を覚えています。私は教室に入った。私は先生の席に座った。レッスン開始まであと 10 分です...私は座って、すべてが順調で完全に安全であることを理解しました...生徒たちがクラスに入り始めました...開始まで残り 5 分でした...何かが私に教材を繰り返す必要があると言った、レッスンの主題から何かを忘れた、不安が大きくなり始めた...そしてこの瞬間!始めなきゃ!!!目が覚めます。投影板の前の中央に出て行った。私は頭を上げました…そして、まるで私をドリルで掘ろうとしているかのように、不信感を持って注意深く私を見つめている約20対の目が見えました!パニック!私は自己紹介をしました。彼は何かを言い始めたが、話そうと思っていたことはすべて完全に忘れていた。徐々に膝が震え始め、声が何かを絞り出すように感じました。言葉を発音することが難しくなりました。逃げ出したかった。しかし、理論的な部分を終えて、新しい Eclipse プロジェクトの作成方法の説明、つまり実践的な部分に移ると、それははるかに簡単になり、レッスンは時計のように進みました。そのため、宿題を準備する必要性から常にストレスを感じながら、私はこの最初の 4 か月コースを修了しました。Java の知識が大幅に向上し、基礎が固まりました。車を変えました。そして、見慣れない聴衆を恐れることはなくなりました。それどころか、彼らがレトリックに関する本に書いているように、レッスン中はとてもやる気に満ちているように感じました。準備のプロセスについても同じことが言えません。はい、友達とコミュニケーションをとる時間がなくて、とても大変な時期でした。まあ、私生活の欠如について言及する価値はないと思います。Java 開発者になるためのコースの教師としての私の利点は、私自身が比較的最近この道に合格したことだと考えています。これに関してはさまざまな問題に遭遇しました。私はたくさんのインタビューを受けました。現時点でどのようなテクノロジーが関連しているのかを知っています。そして最も重要なことは、何をしてはいけないかを知っているということです。それは、私と同じように早く仕事を探しに行くことです。しかし、私は生きる手段が必要な状況にありました。それ以外の場合は、少なくともあと 3 か月は勉強を続けて、テクノロジーとフレームワークを勉強し、役に立たないが技術的に高度なプログラムを作成しようとします。この場合、ストレスも白髪もかなり少なくなるでしょう。私はその組織で1年1ヶ月働きました。原則として、チームのリーダーが去るまで、プロとしての成長という点ではすべてが順調でした。この人が私を指導し、様々な興味深い仕事を与えてくれました。頻繁にミスをしたにも関わらず、えっ。彼はすべてを知っており、フロントエンド、バックエンド、サブデータベースの両方で、どんな問題についてもアドバイスを与えることができました... 彼の退職により、経営陣、開発者、アナリストの間のつながりが失われました。つまり、プロジェクトでは完全な混乱が始まりました。ところで、私はこの組織での仕事の終わりに近づいて初めて、開発者としての道を選択したことが正しかったかどうかについて考えるのをやめました。それまでは彼らはいつも私に同行してくれました。それぞれの困難、問題解決の遅れ、別のバグの修正のバグを認識しながら。とても切迫していました。しかし、私は旅の初めに、開発者の道を続けるか終了するかは5年後に決断しようと固く決意したことを覚えています。私にとってすべてが本当に大変でした。周りの人たちは私よりずっと賢くて、私は彼らほど早く物事を理解できないと常に感じていました。おそらく、これだけのことを計画する価値はなかったでしょう。今年の6月に就職し、現在に至っています。私たちは、Google Disk、Dropbox、Office 365 などのサービスから Amazon サーバーにクラウド データをバックアップするための非常に興味深いサービスに取り組んでいます。レッスンを行うためにマルチスレッドのトピックを注意深く研究していなかったら、この組織の面接に合格することはできなかったことに注意してください。この部分に特化して課題が与えられました。そこで私は OCA の準備に戻ることにしました。冬の終わりに、これに最適な素材を見つけました。しかし、それでも準備する時間が取れませんでした。そのため、2 番目の学生と 3 番目の学生の間に、準備のための 1 か月間自由時間がありました。もちろん、コースが始まるまで時間がありませんでした。それでも彼は目標を達成しました - 彼は Oracle 1z0-808 試験に 81% の正答率、65% の合格率で合格しました。もちろん85%は欲しかったです。しかし、「脳がよりよく考えることができるように」事前に水を1リットル以上飲んでいたため、すべてを再確認する機会がなく、30分早く終了せざるを得ませんでした。しかし、私はこの認定の成功を今でも非常に誇りに思っています。2017年1月末にOCPテストを受けに行く予定です。確かに、よく考えてみると、認証にはあまり意味がありません。私個人にとっても、基礎をしっかりと固めるチャンスです。なぜなら 時々、生徒からの難しい質問に答える必要があります。私の話の締めくくりとして、これを書きたいと思います。私は開発者として約 2 年半働いていますが、自分自身をプログラマーとは思っていません。私は、あらゆる種類のアルゴリズム、サブデータベース、データ構造、Web テクノロジー、パターン、フロントエンド、フレームワーク、およびそれらのさまざまな種類について、膨大な量の情報を通過させる必要があることを知っています。また、サブスクリプションは無制限なので、一般的な開発のために JavaRush の研究を続けたいと思っています。仕事に終わりはない!そして最も重要なのは、それが好きです。もっともっと知りたいです。コードをより速く、より適切に記述できるようになります。時間の経過とともに、チームリーダーまたはアーキテクトに成長していきたいと考えています。しかし、その前にやるべきことがたくさんあります!あとは時間を正しく管理し、先延ばしを減らすことだけです。 ご清聴ありがとうございました!
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION