Review October Meetup — The Principles of Engineering Management

Aminurachma
NgalamBackend
Published in
5 min readJan 5, 2021

Hai sobat ngambek, tak terasa sudah sekitar 10 bulan kita menghadapi pandemi yang tidak kunjung usai, apa kabarnya hari ini? semoga tetap baik dan semoga tahun yang akan datang semua keadaan dapat pulih kembali.

Ketemu lagi nih dengan aku, kali ini aku akan ngereview meet up Ngalam Backend Community bulan Oktober lalu, mungkin memang telat untuk ngereview nya, tapi lebih baik telat daripada tidak sama sekali, hehe!

Oke, langsung aja kita ke topik pembahasan-nya, meetup kali ini diisi oleh Nanda Reynaldi dengan materi The Principles of Engineering Management. Sebelum masuk ke materi Mas Nanda membukanya dengan sebuah kalimat yang berbunyi :

The Gap : Am I Project Manager or Engineer Manager?

Latar Belakang

Menurut survey dari stackoverflow dan sebuah jurnal mengatakan bahwa ada 4 faktor yang menyebabkan seorang Developer merasa tidak bahagia, yaitu:

  1. Stuck in problem solving atau terjebak dalam menemukan solusi untuk memecahan kan sebuah masalah.
  2. Bad code quality dan coding practice, yaitu saat seorang developer menemukan sebuah code yang tidak rapi ini akan membuatnya menjadi tidak bahagia bahkan malas membuka kembali code/project tersebut.
  3. Time pressure atau tekanan waktu.
  4. Unrealistic expectations atau mengharapkan sesuatu yang tidak realistis.

Bagaimana menjadi seorang manager yang baik ?

Berdasarkan survey diatas, sebagai seorang manager yang baik jangan sampai membuat seorang developer merasa tidak bahagia karena akan mengganggu kinerjanya di perusahaan. Untuk mengatasi masalah tersebut Mas Nanda juga membahas hal yang harus dilakukan seorang manager yang baik, yaitu:

  1. Memiliki motivasi, serta dapat memotivasi orang lain.
  2. Memiliki sifat tegas dan dapat membawa kemampuan timnya secara maksimal.
  3. Dapat mengambil decision atau keputusan, berdasarkan productivity bukan berdasarkan politik.
  4. Bisa membuat culture untuk perusahaannya.
  5. Bisa membuat relationship atau hubungan baik internal maupun eksternal.

The Career Path !

Selanjutnya, jika Kita telah mengetahui bagaimana cara menjadi seorang Manager yang baik, Mas Nanda membahas tentang perbedaan career path seorang Engineer Manager dan Technical, yaitu sebagai berikut:

Slide Presentation from Nanda Reynaldi
Slide Presentation from Nanda Reynaldi

Menurut slide di atas, seseorang engineer yang memiliki sifat ingin memimpin dan dapat mengelola sebuah tim maka lebih baik dia mengambil Managerial Track yang berakhir pada CTO, sedangkan seorang engineer yang suka terhadap coding dan kurang pandai memimpin lebih baik tetap pada Technical Track untuk ke jenjang yang lebih tinggi.
Jika seorang engineer sudah terjun ingin menjadi seorang Manager maka sebelum itu harus melakukan beberapa hal di bawah ini :

  1. Konsisten
  2. Memanage waktu dengan baik
  3. Meng-otomatisasi kan beberapa hal disekitarnya

Memiliki Proses SDLC yang baik !

Setelah mengetahui beberapa hal yang harus dilakukan sebelum menjadi seorang engineer manager yang baik, selanjutnya jika kita sudah menjadi seorang engineer manager maka harus memiliki proses Software Development Life Cycle yang baik. SDLC (Software Development Life Cycle, Siklus Hidup Pengembangan Sistem) adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. Nah dibawah ini merupakan beberapa hal yang dapat dilakukan untuk mendapatkan SDLC yang baik, yaitu:

  1. Memilih metodologi yang pas dan sesuai dengan culture perusahaan. Contohnya: Waterfall, Agile, Scrum.
  2. Memiliki Task yang rapi dan teratur. Membuat dan menyusun task yang akan dikerjakan dengan rapi dan teratur bukan merupakan sesuatu yang mudah, akan tetapi dengan beberapa hal dibawah ini akan membuat seorang engineer manager lebih mudah dalam membuat dan menyusun task yang akan dikerjakan oleh timnya. Berikut ini merupakan cara menyusun dan membuat task yang rapi dan teratur :
    # Breakdown task yang harus dikerjakan sedetail mungkin
    # Discuss atau bahas task yang akan dikerjakan dengan tim saat melakukan sprint planning
    # Let them self organized yang berarti biarkan mereka mengatur diri sendiri, sebagai seorang pemimpin dalam sebuah tim Kita tidak boleh mengatur apapun yang akan dikerjakan tim Kita dengan semaunya, Kita harus melakukan kesepakatan agar masing-masing pihak nyaman dengan pekerjaannya.
    # Do strictly with do date yang berarti setiap orang dalam tim harus mematuhi waktu atau deadline yang telah ditentukan oleh kesepakatan bersama.
    # Avoiding task/ticket oriented yang berarti jangan biarkan anggota tim selalu berorientasi pada task/ ticket saja, dalam arti mereka dapat mengerjakan pekerjaan yang lain walaupun belum ada task/ticket jadi tidak hanya menunggu tapi bisa memiliki inisiatif untuk mengerjakan pekerjaan yang lain.
    # Put clear task description yang berarti berikan deskripsi tugas yang jelas kepada anggota tim agar mereka dapat menyelesaikan tugas yang diberikan dengan cepat dan tepat tanpa ada kendala apapun.
  3. Memiliki Dokumentasi yang baik. Dokumentasi ini merupakan salah satu cara yang wajib banget di buat oleh para developer, kalo menurut mas Nanda dokumentasi ini merupakan "kitab suci"-nya para developer. Nah, dibawah ini ada beberapa cara untuk membuat dokumentasi yang baik, yaitu :
    # Mengetahui tujuan mengapa membuat dokumentasi ini
    # Melakukan research terlebih dahulu
    # Selalu menggunakan implementation yang sudah populer
    # Menggunakan bahasa yang formal
    # Menjelaskan setiap part sedetail mungkin
    # Selalu memperbarui change log
  4. Memiliki standard variabel untuk perusahaan. Standard Variabel ini berfungsi untuk menjaga konsistensi code base sehingga lebih mudah di baca dan di review. Ada beberapa standard yang harus dibuat yaitu :
    # Code Convention
    # Commit Message Format
    # Pull Request Description
    # Open Issue Format
  5. Automate with CI/CD. Kalau kata mas Nanda Automation is the key successful for your project”. Jadi Automate ini berfungsi banget untuk membuat pekerjaan lebih cepat selesai dan juga lebih efisien waktu. Automate dapat di lakukan di beberapa sektor dibawah ini :
    # Code Review
    # SAST/DAST
    # Build Apk
    # Deployment
  6. Membiasakan mengedukasi tim, salah satunya untuk mendokumentasikan code dengan cara membuat guide line kesepakatan antar tim.
  7. Mengetahui kapabilitas perusahaan.

Kesimpulan !

Dan dapat disimpulkan beberapa hal yang perlu diingat dan diketahui oleh kita semua, yaitu :

  1. Engineering Management is not only how to make your people works, but also how to make your software works better. Kita harus menjadikan segala aspek dalam manajemen teknik dapat berjalan dengan baik.
  2. Perlakukan dokumentasi seperti kitab-nya para developer.
  3. Kunci keberhasilan project Anda adalah sejauh mana tim Anda dapat mengotomatiskan pekerjaannya.
  4. Jika Anda tidak bisa menjadi mentor maka pelajari bagaimana menjadi mentor.
  5. Developer yang baik selalu tahu tanggung jawab mereka.
  6. Untuk menciptakan lingkungan pekerjaan yang baik tergantung pada Anda (developer dan manager) dan sisanya adalah dukungan dari perusahaan.
  7. Kita harus mengetahui kapabilitas perusahaan dan pandai mencari alternatif terbaik.

Nah sekian dulu review yang dapat aku tuliskan semoga dengan review ini kalian bisa mengetahui perbedaan antara Project Manager atau Engineer Manager lebih dalam lagi yaa!

Jangan sampai ketinggalan informasi dari Ngalam Backend Community yaa! Keep in touch with Ngalam Backend Community on :

https://kutt.it/nbcTelegramGroup

--

--