هذه قصة حزينة وطويلة حول العلاقة في فريق تكنولوجيا المعلومات ، وثقافة الشركة ، وحول التنمية المشتركة. آمل أن تساعد شخص ما على عدم ارتكاب أخطائنا وبناء علاقات أفضل مع الزملاء.
الدخول
في نهاية شهر مارس 2018 ، بدأت العمل ، كما بدا لي ، في شركة سويدية موثوقة وجذابة تضم قسم تكنولوجيا معلومات كبيرًا يضم 200 شخص. حلمت بالمشاركة كثيرًا في تطوير تطبيقات Java الجديدة ، والتعرف على أطر عمل Spring بطريقة أفضل ، وتعلم التقنيات الجديدة (قبل ذلك ، حطت بطريق الخطأ في شركة لا تزال تستخدم فيها SVN) ، والمشاركة في مناقشات مثيرة للاهتمام ، والحصول على تعليقات كافية وتركها في Code Review (و لا تهتم فقط بالمسافات والمسافات البادئة) - باختصار ، كن جزءًا من مجتمع احترافي وكن قادرًا على التطوير كفني متخصص. شجعتني ثقافة الشركات السويدية السيئة السمعة وفريق موتلي الدولي وعززت آمالي في تعاوننا المثمر مع الشركة.
في الأشهر الأولى ، أستطيع حقًا أن أقول أنني وجدت كل شيء كنت أبحث عنه. سرعان ما انخرطت في التنمية ، وشاركت في إصدار MVP ، وتعلمت الكثير ، وحتى تعلمت Kotlin ، مما سمح لي بتقديم مساهمة مجدية لمشاريع أخرى.
لكن سعادتي لم تدم طويلا ...
تجنيد
في أوائل سبتمبر ، ظهر موظف جديد في فريقنا ، وبساطته ، سأسميه جياني (سليل الإيطاليين الذين انتقلوا إلى البرازيل). لم يعبر قائد فريقنا كيرا وكبار السن الذين قابلوه عن أي حماس معين ، لكن لسبب ما فاز في قلب مدرب كيم كيرين (أقدم الكثير من الأسماء الوهمية الآن).
على عكس كل المطورين المريحين (الذين كادوا يضربون عن العمل عندما طُلب منهم عدم ارتداء برمودا في الصيف للعمل) ، بدا جياني رائعًا تمامًا: في أي +35 في بنطلون ، قميص بأكمام طويلة ، وأحذية سوداء مصقولة. من الحد الأدنى ، طلب الحصول على راتب أفضل من راتب كبار السن لدينا ، وذكر أن لديه خمسة عروض عمل إضافية "عبر الهاتف". على ما يبدو ، تحت ضغط كل هذه الحجج التي لا يمكن إنكارها ، قرر كيم تلبية جميع طلبات شاب طموح ، على الرغم من احتجاجات كيرا. تستمر الفترة التجريبية لدينا ستة أشهر ، لذلك قررنا أخذها وتجربتها.
من المثير للاهتمام أن جياني وضع نفسه في برنامج Java-Spring Senior ، رغم أنني ، كما تعلمت لاحقًا ، عملت مع PHP لعدة سنوات ، وقبل أن نأتي إلينا - مع مشروع جافا واحد فقط.
الخطوات الأولى
منذ أن حصلت على زميل جديد ، قضيت الكثير من الوقت معه في أيامه الأولى. بدا كل شيء طبيعيًا بشكل عام ، باستثناء حقيقة أنه غالبًا ما استمر في التحديق في الهاتف حتى أثناء حديثنا معه ، وأحيانًا يتجاهل كل ما قلته.
كانت أول مهمة عمل لـ Gianni هي تأسيس Kibana لدينا. تم إصدار جديد في غضون أسبوعين ، وقرر الجميع أنه سيكون من الأفضل إجراء مراجعة مفصلة لطلبنا في وقت لاحق. وبالنسبة لكيبانا ، كانت فترة أسبوعين مناسبة تمامًا (كانت الشركة قد أنشأت بالفعل البنية التحتية بالكامل لها ، وكان من الضروري فقط ربطها بطلبنا).
بعد شهر - بعد الإصدار ، المعاناة الطويلة حول مدى صعوبة تكوين logback ، وبعض المشاحنات في devops (والتي ، بالطبع ، لا ترغب في العمل) - تم الانتهاء من Kibana. وعلى الرغم من حقيقة أننا كنا نمر بفترة من التصحيح النشط للأخطاء ذات الأحجام المختلفة في تطبيق واحد كبير وجهازي خدمات صغريين (يمكنك أن تجد شيئًا يرضيك) ، بدأ جياني في إعداد Grafana.
استغرق grafana ما مجموعه شهرين. تم إنفاق الأسابيع ونصف الأولى على كتابة سطر مع مجموعة من المقاييس تحت كل عملية تنفيذ تم طرحها ووضعها في كود المراجعة. بعد نشره تقريبًا ، تركت تعليقًا قائلًا إن مكون AOP مفيد لجمع المقاييس ، وللأسبوع الثاني والنصف الثاني ، قرأ جياني عن AOP بشكل عام ، وعن AOP في الربيع بشكل خاص ، لتقرير ما إذا كانت فكرتي معقولة. فقط بعد ظهور مطورين آخرين في المراجعة ، بدأ في تنفيذه.
أتذكر اليوم الذي كان لدي الكثير من العمل فيه: لقد ذهب كبير مساعينا كارل في إجازة ، واضطررت إلى تقديم المطور الجديد سارة ، ولم يسمح لي عدد التذاكر بنسيان واجباتي الأساسية. جاء إليّ جياني قائلاً إنه كان يحاول الغوص في AOP وأنه لكي يفهم تمامًا ما أردت رؤيته هناك ، احتاج إلى جلسة برمجة زوجية أو مقتطف فكرة (مهما كان ذلك).
بدا لي حينها أن تشقق الجوانب للتطبيق في الربيع يتكون من حوالي ثلاثة مكونات:
- إضافة التبعية ؛
- تصميم مكون
- إنشاء فصول مع الشروح اللازمة.
وفقًا لتقديراتي ، لا ينبغي أن يكون مستخدم جافا المتقدم قد تسبب في صعوبات تقنية ، ولكن تنظيم الفصول قد يستغرق الكثير من الوقت. بشكل عام ، من أجل عدم صرف انتباهي عن الأخطاء وعدم فرض ذوقي الخاص على شخص ما ، فضلت إعداد مقتطف شفرة مع جميع أنواع الاختلافات حول موضوع ما يفتحه AOP لتوفير الوقت والوقت.
ثم استمر التنفيذ لمدة أسبوعين آخرين. إما أن جافا لم يتم تجميعه ، ثم لم تتم إضافة المقاييس. لم تكن هناك أسئلة لي أو للمطورين الآخرين ، لقد تحملت كل المعاناة وحدها.
بالتوازي مع هذا ، بدأت بعض الأحداث الغريبة الأخرى تحدث. كان هناك عدد غير قليل منهم ، لكنني تذكرت جيدًا هذين.
. , , , -, - - . , , " " "", -- , .
(, ): ", , - ?"
: ", ."
( , , ): " ----, ."
—
. - ( ), . , . .
, «» (, , AOP ). , :) , , :
code snippet AOP ( " " );
, ;
, ( , );
, ;
.
, , — .
: AOP , , «» , . PO, , , .
— , , . . , :
- ( , , );
- : ( );
- gradle- ;
- static , Spring-.
, , . : « , - ».
: POC , . , , - , . , , . : «». .
, , , , . HR, , — , , . , , . , . .
, . . , , , .
. , .
: . , , , , . , ( 20!!!), — . , ( ) , , , Angular.
:
. .
(): ", ?"
: " , , ."
: ", , "
, , , "" "bbb". - : " - ? , - ."
: "-, , . , , , ."
: " - , , , , ."
: " ? , , ?"
: " , ."
: " ."
(): " ."
, .
, . , , , , , .
. . , . , .
: . (, , ) , — «» , . ( , , ), , , — . , . , , . , .
: ( ) , — . , . , , , .
. , , . , , . HR. , . , ?
. , . , «» , , .
- - — . . … , - .
, , .. . , , «» — . , , , ( ).
— — . , : . .
, , , , . , , - 404, - .
( ), — (, , , , ), , . : , . , , .
, , , / . , .