Slide 1

Slide 1 text

SMALL TEAM. BIG IMPACT.

Slide 2

Slide 2 text

Head of Engineering di Tech in Asia Indonesia Hai! Saya Pradita Utama [email protected] https://about.me/praditautama

Slide 3

Slide 3 text

Tentang Saya Pengalaman lebih dari 10 tahun di software engineering dan industri telekomunikasi. Pernah bekerja di beberapa perusahaan telekomunikasi terkemuka di Indonesia. Expert di enterprise architecture (infrastructure dan software engineering), web applications, dan team management. 2002 2006 - 2016 2017 - sekarang

Slide 4

Slide 4 text

Jobs Media (Startup, profesional, dan teknologi) Event Tech in Asia adalah komunitas online pelaku startup di Asia. Tentang Tech in Asia

Slide 5

Slide 5 text

Tech in Asia Engineering.

Slide 6

Slide 6 text

Pengguna Aktif Bulanan Pengguna Aktif Harian Total Kunjungan per Hari ~510 ribu ~20 ribu ~30 ribu STATISTIK PENGGUNA

Slide 7

Slide 7 text

~84,000,000 Total Kunjungan Hingga Saat Hari ini

Slide 8

Slide 8 text

BACKEND API ~80,000 Request per Hari

Slide 9

Slide 9 text

INFRASTRUKTUR 15 server 5 database 3 load balancer

Slide 10

Slide 10 text

TEKNOLOGI

Slide 11

Slide 11 text

Analytics Engine Total Website Redesign Data Warehouse Engine Dan beberapa proyek internal yang tidak bisa disebutkan disini. Produk Tim Engineering di 2017 Natural Language Processing Machine Learning Automated Testing Automated Deployment Bot Engine Browser Rendering Engine API Gateway Analytics Dashboard

Slide 12

Slide 12 text

BERAPA DEVELOPER?

Slide 13

Slide 13 text

Front End Engineer Fredy Yanto Front End Engineer Irsan Sebastian DevOps & SysAdmin / Back End Engineer Rifqi Fachriza Data Engineer Pramesti Hatta TIM ENGINEERING

Slide 14

Slide 14 text

“ “A small team of A+ players can run circles around a giant team of B and C players.” - Steve Jobs

Slide 15

Slide 15 text

Dokumentasi Fokus Terbuka dan Berbagi Bagaimana Kami Melakukannya? Lihat Big Picture dan Dampak Tugas Kamu Breakdown Menjadi Tugas Kecil Jangan Lakukan Hal Repetitif

Slide 16

Slide 16 text

FOKUS

Slide 17

Slide 17 text

1 Tugas Dalam 1 Waktu Tidak ada multitasking karena sebenarnya yang kita lakukan adalah task-switching. Bahkan prosesor pun demikian. Prosesor melakukan task-switching secara cepat sehingga tampak seperti multitasking. FOKUS.

Slide 18

Slide 18 text

Task-switching Itu Mahal Menurut studi, task-switching merugikan sekitar 40% dari produktifitas kita. Otak manusia butuh waktu untuk bisa fokus ke hal lain. Bahkan bisa menurunkan IQ hingga 15%* *sumber : https://goo.gl/nNgttC FOKUS.

Slide 19

Slide 19 text

TIPS?

Slide 20

Slide 20 text

Kamu punya waktu 5 menit untuk lakukan hal lain selain coding. Bisa nonton YouTube, main game, dsb. Apapun selain coding dan jangan pikirkan tentang bug, error, atau tugas. Have fun. Setelah 5 menit, apapun yang kamu kerjakan selesai atau belum selesai, berhenti dan kembali ke langkah nomor 1. 2. Istirahat 5 menit Ketika coding, pasang headset atau menyendiri di suatu tempat. Matikan telepon genggam dan tutup semua browser di komputer. Tutup semua aplikasi messenger di komputer. Jangan lakukan hal lain selama 25 menit, termasuk jika ada yang memanggil. Buka Atom atau Sublime dan fokus 1 hal, coding. Setelah 25 menit, simpan pekerjaan dan lupakan. 1. Fokus Selama 25 Menit POMODORO

Slide 21

Slide 21 text

TERBUKA DAN BERBAGI

Slide 22

Slide 22 text

Simpan Masalah = Bom Waktu Setiap pagi kami berbagi dan terbuka kepada tim jika ada masalah di code sehingga anggota tim lain akan membantu jika ada yang punya solusinya. TERBUKA DAN BERBAGI.

Slide 23

Slide 23 text

Tools Pendukung Yang Kami Gunakan TERBUKA DAN BERBAGI.

Slide 24

Slide 24 text

DOKUMENTASI

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Tidak Semua Orang Paham Kode Kamu Tulis dokumentasi setiap fungsi, prosedur, variabel, konstanta, dsb sehingga orang lain dapat mengerti maksud dari source-code. DOKUMENTASI.

Slide 27

Slide 27 text

Tools Pendukung Yang Kami Gunakan DOKUMENTASI.

Slide 28

Slide 28 text

BREAKDOWN TUGAS

Slide 29

Slide 29 text

Jangan Kerjakan Tugas Besar Breakdown tugas menjadi unit terkecil dan kerjakan satu persatu. Bagi menjadi fitur-fitur kecil. Tidak ada namanya “sedikit lagi” atau “tinggal bikin ini itu”, selesai ya selesai. BREAKDOWN TUGAS.

Slide 30

Slide 30 text

A Setelah 2 Bulan dari dateline 3 bulan TUGAS BESAR PILIH MANA? D B E F C G H 60% Selesai 0% Selesai

Slide 31

Slide 31 text

Tools Pendukung Yang Kami Gunakan BREAKDOWN TUGAS.

Slide 32

Slide 32 text

JANGAN LAKUKAN HAL REPETITIF

Slide 33

Slide 33 text

Buat Script Automation Gunakan skill programming kamu untuk membantu pekerjaan sehari-hari. Lakukan hal repetitif menggunakan automated-script. JANGAN LAKUKAN HAL REPETITIF. Jalankan Identifikasi Tugas Yang Berulang Buat Script

Slide 34

Slide 34 text

CONTINUOUS INTEGRATION / DEPLOYMENT Automated Deployment ke Production Notifikasi ke tim lain jika proses deployment berhasil Automated Test dan Build Commit dan push ke repository

Slide 35

Slide 35 text

JIKA MANUAL Jalankan proses compile dan build Commit dan push ke Github SSH ke server development Zip folder hasil build Extract file zip SSH ke server production Copy file zip dari ke server production Test apakah berhasil running atau tidak Notifikasi ke tim lain Jika ada error, cek source code lagi Kembali ke source code dan kembali coding Website down karena error Pulang malam, perbaiki website User kecewa Investor kecewa CEO ngamuk Bulan depan (mungkin) tidak gajian lagi

Slide 36

Slide 36 text

Tools Pendukung Yang Kami Gunakan JANGAN LAKUKAN HAL REPETITIF.

Slide 37

Slide 37 text

TIPS?

Slide 38

Slide 38 text

GUNAKAN VIM DAN TERMINAL

Slide 39

Slide 39 text

Dokumentasi Fokus Terbuka dan Berbagi Bagaimana Kami Melakukannya? Lihat Big Picture dan Dampak Tugas Kamu Breakdown Menjadi Tugas Kecil Jangan Lakukan Hal Repetitif

Slide 40

Slide 40 text

LIHAT BIG PICTURE DAN DAMPAKNYA

Slide 41

Slide 41 text

Sekecil Apapun, Pasti Bermanfaat Untuk Orang Lain Lihat secara keseluruhan untuk mengetahui dampak dari tugas kamu. Lihat gambar besarnya. Cari hubungannya dan dampaknya untuk tim atau perusahaan. BIG PICTURE DAN DAMPAKNYA.

Slide 42

Slide 42 text

Case Study: API Rewrite Tech in Asia Indonesia melakukan eksperimen mengubah beberapa API dari PHP ke Golang. Hipotesis kami jika menggunakan Golang maka performa API akan lebih cepat dan lebih stabil dengan resource server yang kecil. Tugas ini tidak terlalu besar dan kelihatan tidak bermanfaat karena harus menulis ulang dari PHP ke Golang hanya untuk mengejar sekian detik lebih cepat. Refactor adalah pekerjaan yang membosankan karena harus membaca kode orang lain, menulis ulang agar efisien, dsb. Ternyata hasilnya diatas ekspektasi kami. BIG PICTURE DAN DAMPAKNYA.

Slide 43

Slide 43 text

Impact Increase > 200% reqs / secs

Slide 44

Slide 44 text

Impact Reduce ~50% time per request

Slide 45

Slide 45 text

Impact ZERO failed requests

Slide 46

Slide 46 text

Semakin banyak pengguna akan memudahkan tim business development untuk menjual produk. Klien juga akan berani mengeluarkan budget marketing lebih supaya bisa dilihat banyak pengguna. Revenue Meningkat Pengguna ingin web yang cepat dan responsif. Menurut Google pengguna akan pergi jika website tidak load selama 4 detik. Response Time Lebih Baik Semakin responsif semakin nyaman digunakan dan pengguna semakin lama berada di website. Referral pun akan meningkat dengan banyak pengguna yang sharing ke orang lain. Jumlah Pembaca Meningkat DAMPAKNYA?

Slide 47

Slide 47 text

SMALL TEAM. BIG IMPACT.

Slide 48

Slide 48 text

SIZE MATTERS NOT.

Slide 49

Slide 49 text

Thanks! You can find me at: https://about.me/praditautama and [email protected] Any questions?

Slide 50

Slide 50 text

In the language of your choice, write a function which, taking a positive integer n as input, finds all sets of numbers that sum up to n. For example, n=4, we have: (Note that 2, 1, 1 is same as 1, 2, 1 or 1, 1, 2) BONUS! ● 4 ● 3, 1 ● 2, 2 ● 2, 1, 1 ● 1, 1, 1, 1 Send your answer to [email protected] before November 27th, 2017 11.59pm. Two best answers will get “pulsa” Rp 50K each