Dalam banyak kasus pada team pemrograman, junior developer memiliki lebih banyak job desk dibandingkan dengan senior developer. Hal ini bukan merupakan sesuatu yang jarang terjadi pada sebuah team yang terdiri dari developer junior dan senior. Banyak developer junior yang melihat apa yang dilakukan oleh senior mereka hanya menghadiri meeting atau mengerjakan dokumen-dokumen tanpa mengalokasikan banyak waktu untuk mengerjakan tugas utama mereka yaitu coding. Banyak komplain yang diajukan oleh junior developer tentang bagaimana seorang senior developer tidak pantas untuk menempati posisi mereka dengan apa yang mereka kerjakan. Semua hal ini merupakan hal yang cukup sering terjadi, maka dari itu mari kita analisa secara mendalam tentang bagaimana penempatan seorang developer senior dalam sebuah team software engineering.
Memahami persyaratan Fungsional ke Spesifikasi Teknikal
Salah satu celah paling signifikan antara klien dan developer adalah perbedaan dalam pemahaman kebutuhan suatu perangkat lunak atau Software Requirement. Klien tidak memahami bagaimana implementasi teknikal yang dilakukan oleh team developer. Di saat yang sama, developer juga tidak bisa benar-benar paham dengan solusi yang klien ingin cari untuk mengatasi masalah yang mereka alami pada bisnis mereka. Pemilik produk akan mendokumentasikan kebutuhan yang klien butuhkan sesimpel mungkin, namun dokumentasi ini biasanya dituliskan dalam terminologi bisnis. Akan sulit bagi team teknikal untuk memahami dokumen tersebut dan mengubahnya ke dalam bentuk kode.
Senior developer biasanya sudah memiliki pengalaman dalam memahami dokumen spesifikasi klien. Mereka memahami apa yang ingin diimplementasi dan memiliki pemahaman yang lebih baik pada permasalahan klien. Dengan pengalaman mereka, akan menjadi lebih mudah bagi senior developer untuk menjembatani celah antara kebutuhan klien dengan spesifikasi yang diberikan.
Pemahaman tentang batasan sistem
Setelah memahami kebutuhan yang ada, rintangan yang selanjutnya dihadapi oleh team developer adalah apakah kebutuhan tersebut dapat diimplementasikan. Tanggung jawab ini merupakan hal yang ditanggung oleh developer senior dalam team. Senior developer harus memahami limitasi sistem yang ingin dibangun dan mengkomunikasikannya dengan pemimpin tim. Dengan pengalaman mereka dalam mengerjakan berbagai project, mereka memiliki pemahaman yang lebih baik untuk teknologi yang paling cocok diimplementasikan kedalam spesifikasi yang ada.
Coding dan review kode
Banyak skenario yang mungkin terjadi ketika sebuah kode di run. Hal ini merupakan sesuatu yang sudah dipahami oleh senior developer. Selain melakukan coding, review code yang telah dikerjakan oleh developer lain merupakan tanggung jawab mereka. Senior developer telah melihat dan menemui banyak kemungkinan yang akan terjadi ketika sebuah code di run. Pengalaman ini berguna ketika menganalisis sebuah kode yang telah ditulis agar dapat menghindari kemungkinan error atau hal lain yang tidak diinginkan yang tidak dapat dilihat oleh junior developer.
Menangani eskalasi dan insiden produk
Dalam awal karier seorang developer, mereka tidak akan memiliki kemampuan untuk menangani orang-orang atau audience ketika mengadakan diskusi. Hal ini akan terlihat ketika team developer sedang mengadakan meeting dengan stakeholder dan project leader. Tidak jarang diskusi yang diadakan dalam meeting akan menjadi tidak kondusif dikarenakan adanya perbedaan pemahaman antara stakeholder dengan developer. Senior developer mengerti bagaimana cara membuat keadaan kembali kondusif dengan mencari akar masalah yang ada pada diskusi dan dengan cepat mencari solusinya.
Presentasi kepada pimpinan team
Setiap beberapa waktu, setiap team developer perlu mempresentasikan project yang mereka kerjakan untuk mendapat budget yang mereka perlukan sesuai dengan apa yang mereka kerjakan. Tidak sedikit junior developer yang tidak memahami bagaimana cara kerja alokasi budget untuk project yang mereka kerjakan. Selain itu, senior developer juga memiliki tugas untuk mempresentasikan bagaimana project yang mereka kerjakan berjalan dengan penyampaian yang dapat dimengerti oleh stakeholder.
Kesimpulan
Dengan adanya senior developer yang mengerjakan tugas mereka, junior developer hanya perlu memfokuskan pekerjaan mereka dalam bagian mereka masing-masing tanpa perlu mengkhawatirkan hal lainnya. Hal ini membuat posisi senior developer merupakan posisi vital dalam sebuah team developer dikarenakan bagaimana peranan mereka dalam team tersebut.
Source          : https://levelup.gitconnected.com/are-senior-developers-worth-their-place-in-the-team-7e3259df4eeb
Ditulis Ulang oleh Erie