エントリー
2018年3月末に、私には思えるように、200人の大規模なIT部門を持つ信頼できる魅力的なスウェーデンの会社で働き始めました。 新しいJavaアプリケーションの開発に多く参加し、Springフレームワークをよりよく知り、新しい技術を習得する前に(SVNがまだ使用されている会社に偶然上陸した)、興味深い議論に参加し、Code Reviewで適切なコメントを取得および残すことを夢見ていたスペースやインデントだけに煩わされることはありません)-つまり、専門家コミュニティの一員となり、スペシャリストとして成長することができます。 悪名高いスウェーデンの企業文化と雑多な国際チームは私を励まし、会社との実り多い協力への希望を強めました。
最初の数か月で、探していたものがすべて見つかったと本当に言えるでしょう。 私はすぐに開発に没頭し、MVPリリースに参加し、多くの新しいことを学び、さらにKotlinを学びました。これにより、他のプロジェクトに実行可能な貢献をすることができました。
しかし、私の幸せは長続きしませんでした...
募集
9月初旬に、新しい従業員がチームに登場しました。簡単にするために、私は彼をジャンニ(ブラジルに移住したイタリア人の子孫)と呼びます。 チームリーダーのキラと彼にインタビューした先輩たちは、特に熱意を表明しませんでしたが、何らかの理由でキムのキリンの上司の心をつかみました(私は多くの架空の名前を紹介します)。
リラックスしたすべての開発者(夏にバミューダを仕事で着ないように頼まれたときにほとんどストライキを行った)とは異なり、ジャンニは素晴らしいものを正確に探しました:ズボンの+35、長袖のシャツ、黒のポリッシュブーツ。 閾値から、彼は先輩よりも高い給料を求め、「電話で」さらに5つの仕事のオファーがあると述べました。 どうやら、これらすべての否定できない議論の圧力の下で、キラは、キラの抗議にもかかわらず、野心的な若者のすべての要求を満たすことを決めました。 試用期間は6か月間ですので、試用して試してみることにしました。
興味深いのは、GianniがJavaスプリングシニアとしての地位を確立したことですが、後で学んだように、実際には数年間、そして1つだけのJavaプロジェクトで私たちが来る前にPHPで働いていました。
最初のステップ
私は新しい同僚を迎え入れてから、彼の初期の頃、彼とかなりの時間を過ごしました。 彼が私たちと会話をしている間でも彼はしばしば電話を見つめ続け、時には彼が私が言ったことをすべて無視したという事実を除いて、すべては一般的に正常に見えました。
ジャンニの最初の仕事は、キバナの設立でした。 新しいリリースは2週間以内に行われることになっており、誰もが後で彼のアプリケーションに詳細に慣れる方が良いと判断しました。 Kibanaの場合、2週間という期間が適切でした(会社は既にインフラストラクチャ全体を確立していたため、アプリケーションに固定するだけで済みました)。
1か月後-リリース後、ログバックを設定するのがどれほど難しいかという長い苦労と、devopsのいくつかの論争(もちろん動作しません)が終了しました。 そして、1つの大きなアプリケーションと2つのマイクロサービスでさまざまなサイズのバグを積極的に修正しているにもかかわらず(好みに合わせて何かを見つけることができます)、GianniはGrafanaのセットアップを開始しました。
Grafanaは合計2か月かかりました。 最初の数週間は、実行ごとにスローされたメトリックのコレクションを含む行を記述し、これをレビューコードに入れることに費やされました。 発表のほぼ直後に、AOPコンポーネントはメトリックの収集に適しているというコメントを残しました。2週間目、GianniはAOP全般、特に春のAOPについて読んで、私の考えが妥当かどうかを判断しました。 他の開発者がレビューに来て初めて、彼はそれを実装し始めました。
私は本当に多くの仕事をしていた日を思い出します。私たちの上院議員カールは休暇を取り、新しい開発者サラを紹介しなければなりませんでした、そしてチケットの数は私の基本的な義務を忘れさせませんでした。 ジャンニは私に近づき、彼がAOPに没頭しようとしており、私がそこで見たいものを最終的に理解するには、ペアプログラミングセッションまたはアイデアスニペット(それが何であれ)が必要だと言った。
そのとき、私は、バネ上のアプリケーションの側面を台無しにすることは、約3つのコンポーネントで構成されているように思われました。
- 依存関係を追加します。
- コンポーネント設計;
- 必要な注釈を持つクラスを作成します。
私の推定によると、上級のJavaユーザーは技術的な問題を引き起こすことはないはずであり、そのうちの1人ではありません。 一般に、バグに気を取られず、自分の好みを人に押し付けないために、AOPが時間とエネルギーを節約する機会についてのトピックに関するあらゆる種類のコードスニペットを準備することを好みました。
その後、実装はさらに2週間続きました。 Javaがコンパイルされなかったため、メトリックは追加されませんでした。 私にも他の開発者にも質問はありませんでした。すべての苦しみは一人で耐えました。
これと並行して、いくつかの他の奇妙なイベントが発生し始めました。 それらのかなりの数がありましたが、私はこれら2つをよく覚えていました。
. , , , -, - - . , , " " "", -- , .
(, ): ", , - ?"
: ", ."
( , , ): " ----, ."
—
. - ( ), . , . .
, «» (, , AOP ). , :) , , :
code snippet AOP ( " " );
, ;
, ( , );
, ;
.
, , — .
: AOP , , «» , . PO, , , .
— , , . . , :
- ( , , );
- : ( );
- gradle- ;
- static , Spring-.
, , . : « , - ».
: POC , . , , - , . , , . : «». .
, , , , . HR, , — , , . , , . , . .
, . . , , , .
. , .
: . , , , , . , ( 20!!!), — . , ( ) , , , Angular.
:
. .
(): ", ?"
: " , , ."
: ", , "
, , , "" "bbb". - : " - ? , - ."
: "-, , . , , , ."
: " - , , , , ."
: " ? , , ?"
: " , ."
: " ."
(): " ."
, .
, . , , , , , .
. . , . , .
: . (, , ) , — «» , . ( , , ), , , — . , . , , . , .
: ( ) , — . , . , , , .
. , , . , , . HR. , . , ?
. , . , «» , , .
- - — . . … , - .
, , .. . , , «» — . , , , ( ).
— — . , : . .
, , , , . , , - 404, - .
( ), — (, , , , ), , . : , . , , .
, , , / . , .