1. Dokumen membahas tentang karakteristik seorang engineer yang efektif dan tips untuk menjadi engineer yang efektif.
2. Seorang engineer efektif dapat menyelesaikan pekerjaan dengan cepat menggunakan sumber daya minimal sehingga efisien, dan menghasilkan dampak yang besar.
3. Tips untuk menjadi engineer efektif meliputi otomatisasi pekerjaan rutin, lingkungan kerja yang mendukung, dan pengukuran untuk perbaikan
4. Ikhtisar
• Seperti apa bentuk seorang Effective Engineer?
• Paradigma menjadi seorang Effective Engineer
• Tips menjadi Effective Engineer
• Sebagai diri sendiri
• Sebagai perusahaan
• Sebagai tim, produk, atau alur kerja
6. Seperti Apa Effective Engineer?
Get Things Done + Less Times/Resources =
Efficient Engineer
Efficient Engineer + High Impact Value Produced =
Effective Engineer
8. Paradigma Effective Engineer
1 Gimana caranya pekerjaan ini diselesaikan lebih cepat?
Efisien
2 Gimana caranya memperbanyak hasil (output) dengan jumlah waktu yang sama?
Hasil Lebih Besar/Banyak
3 Kerjakan pekerjaan yang lebih besar dampaknya?
Higher Leverage
9. Paradigma Effective Engineer
Contoh Output:
• Jumlah fitur yang dikerjakan
• Jumlah produk yang dirilis
• User yang berhasil didapatkan
• Developer baru berkualitas yang berhasil direkrut
• Revenue yang dihasilkan
• dll
11. Tips – Diri Sendiri
Prioritas Pekerjaanmu
Kuasai Perangkat/Peralatan Sehari-hari
Otomasi Pekerjaan Mononton-Rutin
Repro Bug yang Lebih Efisien
12. Tips – Diri Sendiri
> Prioritas Pekerjaanmu
Buat Daftar Pekerjaan
- manusia umumnya hanya mengingat kurang lebih 7 item dalam short term memory
- Gunakan konsep Inbox Your Brain
- Pakai perangkat bantuan: Things, To Do, Drafts, Stupid Paper dll
- Jika tasknya banyak konteks: Asana, Notion dll
- Lakukan secara rutin: harian, pekanan
Atur Prioritas
- Gunakan 4 quadrant: Urgent & Important
Komitmen
- Pomodoro => Focus + No Context Switching
- Marinara (Extension), Forest (Mobile App)
13. Tips – Diri Sendiri
> Kuasai Perangkat/Peralatan Sehari-hari
Efisien Menggunakan IDE
- Creating file, navigating, file templating, etc. Tips for Jetbrain 1 & 2
Get familiar with unix command
- Tips
14. Tips – Diri Sendiri
> Otomasi Pekerjaan Mononton-Rutin
Meme
15. Tips – Diri Sendiri
> Otomasi Pekerjaan Mononton-Rutin
Temukan & Otomasi
Contoh
- Testing
- extracting data
- detecing error
- building and deploying app
- capture and restore database
- restart web service
Kenapa Tidak Otomasi?
- tidak sadar kalo task yang tidak diotomasi itu dikumpulkan waktunya, bisa banyak banget.
- tidak terbiasa dengan automation tools
16. Tips – Diri Sendiri
> Otomasi Pekerjaan Mononton-Rutin
17. Tips – Diri Sendiri
> Otomasi Pekerjaan Mononton-Rutin
Meme
18. Tips – Lingkungan Kerja
Lingkungan Yang Kondusif
Peralatan Yang Cukup
Onboarding Yang Bagus
Code Owner
Dokumen Post Mortem
Hati-Hati Dengan Operational Burden
19. Tips – Lingkungan Kerja
> Lingkungan Yang Kondusif
Keterbukaan
- Feedback loop mechanism
- Roadmap
- Big Goals
Dukungan Untuk Belajar
- Ada training/workshop/Upgrading
- Belajar di jam kerja
- Sponsor untuk belajar
Saling Mendukung Antar Anggota Tim dan Divisi Lain
21. Tips – Lingkungan Kerja
> Onboarding Yang Bagus
Goalnya apa?
- Adaptasi secepat mungkin
- Berbaur dengan anggota lain dan tim
Bentuknya
- Codelab
- 1:1 Talks
- Mentorship
- Starter Task
22. Tips – Lingkungan Kerja
> Code Owner
hindari penguasaan teknik/produk/skill yang terpusat di 1 orang saja.
23. Tips – Lingkungan Kerja
> Dokumen Post Mortem
Collective Learning
- Transparansi
- Belajar dari Sejarah
24. Tips – Lingkungan Kerja
> Hati-hati Operational Burden
Setiap nambah framework/platform, berarti nambah:
- Dev yang ahli di situ
- Pengetahuan akan edge cases
- Learning curve lebih curam
Cerita Instagram
25. Tips – Alur Kerja, Tim, Produk
Optimasi Rapat
Memulihkan Error, Bukan Menangkap Error
Mengukur Semua Hal
Selalu Validasi Ide
Mampu Mengestimasi
26. Tips – Alur Kerja, Tim, Produk
> Optimasi Rapat
- Bisa selesaikan masalah tanpa rapat?
- Bisa dibuat cepat?
- Goal sudah jelas dari awal
- Silent Meeting atau premeeting doc
27. Tips – Alur Kerja, Tim, Produk
> Memulihkan Error, Bukan Hanya Menangkap Error
kita tidak bisa bebas 100% dari bug/error/crash,
jadi sempatkan untuk bikin prosedur jika hal2 itu terjadi.
> Gimana caranya meminimalisasi damage
28. Tips – Alur Kerja, Tim, Produk
> Mengukur Semua Hal
"If you cant measure itu, you can't improve it"
– Peter Ducker
Metric berfungsi:
- Focus on right things
- Guard against future regression
- As Global Standard
“Wrong data more dangerous than no data”
Good Metrics:
- Lead to actionable action
- Quickly enough to give feedback
Hati-hati:
- Bisa salah tracking
- Bisa data drop/hilang
- Bisa data belum lengkap
29. Tips – Alur Kerja, Tim, Produk
> Selalu Validasi Ide
Feedback Loop Mechanism
- Mungkin lebih lama, tapi hasil relatif lebih baik
- Budaya Code review
- Hati-hati one-man-team
- Design document sebelum implementasi
Uji “sesuatu” versi murah terlebih dahulu
- Validasi, Oke, Buat versi Sebenernya
30. Tips – Alur Kerja, Tim, Produk
> Mampu Mengestimasi
Product/Story/Project/Task yang telat, itu seperti rayap.
Pelan, tidak terasa, baru tahu saat sudah di akhir. – The Mythical Man Month
Tips:
- Biarkan story dipecah dan diestimasi oleh PIC task
- Goal/milestone/desain sudah cukup jelas di awal
- Estimasi berdasarkan “kapan task ini bisa selesai”, bukan “kapan task
ini mau dirilis”
- Validasi estimasi dengan orang lain atau historical data
- Hati-hati anchor bias
- Hati-hati hal-hal tak terprediksi:
- Meeting
- Bug fix