Ini adalah kisah yang menyedihkan dan panjang tentang hubungan dalam tim TI, dan budaya perusahaan, dan tentang pengembangan bersama. Saya harap dia membantu seseorang untuk tidak membuat kesalahan kita dan membangun hubungan yang lebih baik dengan rekan kerja.
Entri
Pada akhir Maret 2018, saya mulai bekerja, seperti yang terlihat bagi saya, di sebuah perusahaan Swedia yang andal dan menarik dengan departemen TI besar yang terdiri dari 200 orang. Saya bermimpi untuk berpartisipasi banyak dalam mengembangkan aplikasi Java baru, mengenal kerangka kerja Spring lebih baik, mempelajari teknologi baru (sebelum itu saya secara tidak sengaja mendarat di sebuah perusahaan di mana SVN masih digunakan), berpartisipasi dalam diskusi yang menarik, mendapatkan dan meninggalkan komentar yang memadai dalam Code Review (dan jangan ganggu hanya dengan ruang dan indentasi) - dengan kata lain, menjadi bagian dari komunitas profesional dan dapat berkembang sebagai spesialis. Budaya perusahaan Swedia yang terkenal buruk dan tim internasional yang beraneka ragam mendorong saya dan memperkuat harapan saya untuk kerja sama yang bermanfaat dengan perusahaan.
Pada bulan-bulan pertama, saya benar-benar dapat mengatakan bahwa saya menemukan semua yang saya cari. Saya dengan cepat terjun ke dalam pengembangan, ikut serta dalam rilis MVP, belajar banyak dan bahkan belajar Kotlin, yang memungkinkan saya untuk membuat kontribusi yang layak untuk proyek-proyek lain.
Tapi kebahagiaan saya tidak bertahan lama ...
Merekrut
Pada awal September, seorang karyawan baru muncul di tim kami, untuk kesederhanaan saya akan memanggilnya Gianni (keturunan Italia yang pindah ke Brasil). Pemimpin tim kami Kira dan para senior yang mewawancarainya tidak menunjukkan antusiasme khusus, tetapi untuk beberapa alasan ia memenangkan hati bos Kim Kirin (saya memperkenalkan banyak nama fiktif sekarang).
Tidak seperti semua pengembang kami yang santai (yang hampir mogok ketika mereka diminta untuk tidak mengenakan Bermuda di musim panas untuk bekerja), Gianni tampak sangat cemerlang: dalam celana +35 apa pun, kemeja lengan panjang, dan sepatu bot hitam dipoles. Dari ambang pintu, ia meminta gaji yang lebih baik daripada senior kami, dan menyatakan bahwa ia memiliki "lima lebih" tawaran pekerjaan di telepon. Rupanya, di bawah tekanan dari semua argumen yang tidak dapat disangkal ini, Kim memutuskan untuk memenuhi semua permintaan seorang pemuda yang ambisius, meskipun ada protes dari Kira. Masa percobaan kami berlangsung enam bulan, jadi kami memutuskan untuk mengambil dan mencobanya.
Sangat menarik bahwa Gianni memposisikan dirinya sebagai Senior Java-Spring, meskipun, seperti yang saya pelajari kemudian, pada kenyataannya ia bekerja dengan PHP selama beberapa tahun, dan sebelum kami datang kepada kami - dengan hanya satu proyek Java.
Langkah pertama
Karena saya mendapat teman baru, saya menghabiskan cukup banyak waktu bersamanya di masa-masa awalnya. Semuanya tampak normal secara umum, kecuali kenyataan bahwa ia sering terus menatap telepon bahkan selama percakapan kami dengannya, dan kadang-kadang ia mengabaikan semua yang saya katakan.
Tugas kerja pertama Gianni adalah pendirian Kibana kami. Rilis baru akan berlangsung dalam 2 minggu, dan semua orang memutuskan bahwa dia akan lebih baik melakukan tinjauan rinci aplikasi kita nanti. Dan untuk Kibana, jangka waktu dua minggu tepat (perusahaan telah membangun seluruh infrastruktur untuk itu, hanya perlu untuk mempercepatnya ke aplikasi kita).
Sebulan kemudian - setelah rilis, penderitaan panjang tentang betapa sulitnya untuk mengkonfigurasi logback, dan beberapa pertengkaran di devops (yang, tentu saja, tidak ingin bekerja) - Kibana selesai. Dan, terlepas dari kenyataan bahwa kami sedang melalui periode koreksi aktif bug dari berbagai ukuran dalam satu aplikasi besar dan dua layanan microser (Anda dapat menemukan sesuatu sesuai keinginan Anda), Gianni mulai mengatur Grafana.
Grafana memakan waktu dua bulan. Satu setengah minggu pertama dihabiskan untuk menulis garis dengan kumpulan metrik di bawah setiap eksekusi dibuang dan memasukkan ini ke dalam kode ulasan. Hampir segera setelah publikasi, saya meninggalkan komentar yang mengatakan bahwa komponen AOP cocok untuk mengumpulkan metrik, dan untuk satu setengah minggu kedua Gianni membaca tentang AOP secara umum, tentang AOP pada musim semi khususnya, untuk memutuskan apakah ide saya masuk akal. Hanya setelah pengembang lain masuk ke dalam tinjauan, ia mulai menerapkannya.
Saya ingat hari ketika saya benar-benar memiliki banyak pekerjaan: senor kami Karl pergi berlibur, saya harus memperkenalkan pengembang baru Sarah, dan jumlah tiket tidak membiarkan saya melupakan tugas-tugas dasar saya. Gianni mendatangi saya, mengatakan bahwa ia mencoba masuk ke dalam AOP dan agar untuk akhirnya memahami apa yang ingin saya lihat di sana, ia membutuhkan sesi pemrograman berpasangan atau cuplikan ide (apa pun itu).
Sepertinya saya saat itu yang mengacaukan aspek aplikasi pada pegas terdiri dari sekitar tiga komponen:
- menambah ketergantungan;
- desain komponen;
- membuat kelas dengan penjelasan yang diperlukan.
Pengguna Java yang maju seharusnya tidak menyebabkan kesulitan teknis, menurut perkiraan saya, bukan salah satunya, tetapi pengaturan kelas bisa memakan banyak waktu. Secara umum, agar tidak teralihkan dari bug saya dan tidak memaksakan selera saya pada seseorang, saya lebih suka menyiapkan cuplikan kode dengan segala macam variasi pada topik yang dibuka AOP untuk menghemat waktu dan waktu.
Implementasi kemudian dilanjutkan selama dua minggu. Entah Java tidak mengkompilasi, maka metrik tidak ditambahkan. Tidak ada pertanyaan baik bagi saya atau pengembang lain, semua penderitaan itu bertahan sendirian.
Sejalan dengan ini, beberapa peristiwa aneh lainnya mulai terjadi. Ada beberapa dari mereka, tapi aku ingat keduanya.
. , , , -, - - . , , " " "", -- , .
(, ): ", , - ?"
: ", ."
( , , ): " ----, ."
โ
. - ( ), . , . .
, ยซยป (, , AOP ). , :) , , :
code snippet AOP ( " " );
, ;
, ( , );
, ;
.
, , โ .
: AOP , , ยซยป , . PO, , , .
โ , , . . , :
- ( , , );
- : ( );
- gradle- ;
- static , Spring-.
, , . : ยซ , - ยป.
: POC , . , , - , . , , . : ยซยป. .
, , , , . HR, , โ , , . , , . , . .
, . . , , , .
. , .
: . , , , , . , ( 20!!!), โ . , ( ) , , , Angular.
:
. .
(): ", ?"
: " , , ."
: ", , "
, , , "" "bbb". - : " - ? , - ."
: "-, , . , , , ."
: " - , , , , ."
: " ? , , ?"
: " , ."
: " ."
(): " ."
, .
, . , , , , , .
. . , . , .
: . (, , ) , โ ยซยป , . ( , , ), , , โ . , . , , . , .
: ( ) , โ . , . , , , .
. , , . , , . HR. , . , ?
. , . , ยซยป , , .
- - โ . . โฆ , - .
, , .. . , , ยซยป โ . , , , ( ).
โ โ . , : . .
, , , , . , , - 404, - .
( ), โ (, , , , ), , . : , . , , .
, , , / . , .