Kesilapan yang Saya Lakukan sebagai CTO Baharu
Pengajaran yang dipelajari dari menyertai GOJEK pada 2014 sebagai CTO dan kesilapan kritikal yang menelan masa berharga dalam persekitaran startup yang bergerak pantas.
Sheran Gunasekera
Penulis

Perkara biasanya bermula dengan sebab, itulah cara saya memulakan Madison Technologies. Terlalu kerap, kita lupa bahawa ada sebab mengapa kita melakukan perkara. Saya menikmati pembelajaran melalui kegagalan. Untuk gagal, anda perlu menjadi seorang idealis untuk memilih laluan yang anda mahu ikuti. Saya memilih laluan ini kerana pengajaran yang saya pelajari sebagai CTO pengasas GOJEK (kini dipanggil GoTo dan disenaraikan secara awam di Bursa Saham Indonesia.)
PERJALANAN DENGAN GOJEK PADA 2014
Saya menyertai GOJEK pada Disember 2014. Saya adalah CTO baharu dan tiba tepat sebelum melancarkan aplikasi mudah alih. Kami adalah pasukan yang gembira terdiri daripada 3 jurutera teras, dan saya adalah tambahan baharu. Kerja keras untuk membina aplikasi telah selesai, dan saya bersedia untuk mengambil alih apabila kami melancarkan. Memandang ke belakang, ada kegembiraan, tetapi saya terharu pada masa itu. Rasanya seperti ada begitu banyak yang perlu dilakukan dan tiada masa atau tenaga kerja untuk melakukannya. Walau bagaimanapun, saya mula bekerja dan membahagikan masa saya sebaik mungkin untuk akhirnya melancarkan.
Salah satu acara pelancaran pertama kami melibatkan mengumpulkan sekumpulan kecil wartawan di sebuah restoran di SCBD, Jakarta. Nadiem, CEO kami, menyampaikan pembentangan, selepas itu kami menjemput wartawan untuk memuat turun aplikasi dan mengalami tempahan Gojek secara langsung. Walau bagaimanapun, pada masa itu, kami menemui bug yang menyusahkan: perkhidmatan yang memaparkan peta dengan semua pemandu akan terhenti, menyebabkan semua pemandu hilang dari peta. Ini juga bermakna tiada sesiapa boleh menempah perjalanan, dan kami perlu memulakan semula perkhidmatan.
Dan kemudian, 5 minit sebelum Nadiem selesai pembentangannya, saya melirik telefon saya dan melihat bahawa peta pemandu kosong. Saya berlari ke komputer riba saya secepat kaki yang gemetar boleh membawa saya, berdoa bahawa sambungan 3G dari telefon saya akan membenarkan saya sekurang-kurangnya SSH ke pelayan untuk memulakan semula perkhidmatan. Nasib berada di pihak saya pada hari itu, dan saya berjaya memulakan semula perkhidmatan tepat pada masanya dan duduk di sana hiperventilasi sementara wartawan menjadi teruja bahawa mereka boleh menempah pemandu mereka. Ini adalah foto kami pada akhir acara pelancaran.
Dari kiri ke kanan: Sam, Kevin, saya, Nadiem, Mikey, dan Rio

TEKNOLOGI LEBIH DARIPADA PRODUK TERAS
Terdapat banyak cerita seperti di atas. Aplikasi adalah fokus utama kami, dan pada masa itu, kami mempunyai banyak kebakaran untuk dipadamkan. Apabila pengguna kami berkembang, kami menemui ralat dan bug yang tidak pernah kami lihat sebelum ini.
Semasa fasa ini, saya mengambil peranan taktikal, bekerja langsung dengan kod dan cuba debug isu yang muncul. Sekali saya melakukan profil memori untuk perkhidmatan pemandu yang sama kerana nampaknya pengumpul sampah membuat keseluruhan perkhidmatan (sudah pada 98% penggunaan CPU) terhenti. Ia mengambil masa yang lama sehingga saya memutuskan untuk menyerah dan menulis semula API dari Java ke Go, menukarnya di belakang load balancer kami, dan menonton dengan kagum apabila penggunaan CPU turun kepada 3% untuk pelayan tersebut. Rasanya hebat, tetapi itu bukan apa yang sepatutnya saya lakukan.
Saya memerlukan lebih ramai orang, dan saya memerlukan mereka dengan cepat. Saya sepatutnya memberi lebih banyak perhatian kepada banyak kawasan lain syarikat yang memerlukan bantuan. Sebagai contoh, papan pemuka operasi kami, di mana kami menjejaki onboarding dan pengurusan pemandu, sangat memerlukan pembaikan. Adakah anda percaya kami menggunakan Post-Its untuk menjejaki beberapa medan pangkalan data kami? Betul:
Dan kemudian terdapat analitik kami untuk menjejaki bagaimana perbelanjaan iklan kami berjalan. Kami menggunakan banyak SDK, tetapi ini adalah sekilas pertukaran yang saya ada dengan pasukan AppsFlyer pada masa itu:
Begitu banyak kawasan lain yang memerlukan perhatian saya tidak mendapatkannya. Saya terperangkap dalam kemarau pengambilan ini dan dalam minda yang tidak akan membuat saya membelanjakan wang kami yang sudah terhad.


APA YANG SAYA AKAN LAKUKAN BERBEZA
Pertama sekali, saya akan menghabiskan lebih banyak masa membangunkan rangkaian individu pintar dari ruang teknologi. Individu yang saya boleh bertukar idea atau meminta bantuan apabila diperlukan. Saya membayangkan saya perlu menjaga rapat semua IP rahsia saya dan tidak bercakap dengan sesiapa. Lebih teruk lagi, saya adalah seorang introvert, dan perbualan tidak datang secara semula jadi. Dan sebagai hasilnya, saya boleh lebih baik dalam mengekalkan hubungan dan memupuk hubungan. Jika saya telah bekerja pada itu melalui rangkaian saya, akan menjadi lebih mudah untuk mendapatkan bantuan atau cadangan mengenai pengambilan.
Seterusnya, saya akan melakukan lebih banyak paralel. Saya berada dalam kemarau pengambilan, tetapi ada masa apabila pengambilan mencapai titik di mana anda mempunyai sekumpulan temuduga dan calon berpotensi, namun kemajuan terhenti. Saya agak berhati-hati dan teragak-agak untuk melabur dalam pasukan yang dioutsource untuk bekerja pada projek secara serentak. Fokus saya semata-mata pada mengisi jawatan dalaman, yang, memandang ke belakang, ternyata menjadi langkah salah. Jika saya telah mengubah minda saya, saya akan sementara mengisi pasukan operasi dan pemasaran saya dengan pasukan kejuruteraan yang dioutsource dan membenarkan aliran kerja tersebut bergerak selari sementara saya bekerja pada masalah yang lebih mencabar.
APAKAH KESAN KESILAPAN INI?
Memandang ke belakang, kesan paling ketara kesilapan saya adalah kehilangan masa. Ini bukan sesuatu yang anda boleh dapatkan kembali; kepada startup, masa sering merupakan sumber yang terhad apabila cuba bersaing dengan orang lain dalam ruang tersebut. Kami boleh bergerak lebih cepat jika saya telah menjalankan aliran kerja untuk operasi, pemasaran, dan HR secara selari dengan mengupah pasukan yang dioutsource. Kami juga akan mempunyai lebih banyak data untuk dimasukkan ke dalam pembangunan aplikasi kami. Akhir sekali, kami boleh menjadi lebih menarik kepada VC dengan mendapatkan semula masa itu dan akan mengumpul wang lebih awal. Walaupun telah menjadi sebahagian daripada beberapa pengumpulan dana, tiada yang berjalan lancar atau secepat yang anda jangkakan.
1. Kenal pasti di mana anda memerlukan Teknologi
Walaupun mungkin kedengaran mudah, ini adalah salah satu pengajaran paling penting yang saya pelajari. Teknologi bukan sekadar produk teras anda. Aplikasi teknologi melangkaui kejuruteraan dan ke pelbagai jabatan lain seperti Operasi, Pemasaran, HR, dan Kewangan. CTO yang lebih baharu kadang-kadang boleh terlepas pandang realiti ini dan tidak menyediakan sokongan yang diperlukan untuk fungsi ini secepat yang diperlukan. Saya pasti begitu, dan secara retrospektif, langkah awal saya akan menjadi memperluas fokus saya di luar produk.
2. Lepaskan Kawalan
Satu lagi langkah pemula dari pihak saya adalah mengambil pemilikan tunggal semua perkara teknologi. Dengan cuba menyampaikan teknologi kepada pasukan lain sendiri, saya memperlahankan semua orang, termasuk diri saya. Jika saya telah meletakkan pasukan sementara atau dioutsource dengan tech lead yang baik dalam fungsi tersebut, saya boleh memberdayakan pemilik fungsi untuk mengambil alih dan membangunkan penyelesaian mengikut keperluan mereka. Pergantungan mereka kepada saya akan terhad kepada perkara penting seperti seni bina dan perpaduan keseluruhan. Saya menyedari bahawa dengan cuba mengawal segala-galanya, saya menggunakan minda 2x dan bukan 10x. Jadi, lepaskan kawalan, berikan co-leader anda sumber, dan keluar dari jalan mereka.
Ini membawa kita kembali kepada sebab mengapa saya memulakan Madison Technologies. Kami di sini untuk membantu anda menggerakkan perkara dengan lebih cepat. Kami di sini untuk mengambil alih sementara anda mengupah pasukan impian anda. Kami telah berada di sana sebelum ini, dan kami akan melalui ini bersama-sama.
Jangan teragak-agak untuk menghubungi saya melalui LinkedIn saya untuk perbualan yang lebih mendalam. Mari berhubung!

Tentang Penulis
Sheran Gunasekera adalah penyelidik keselamatan dan pembangun perisian. Beliau adalah pengasas bersama dan Pengarah Penyelidikan untuk Madison Technologies, sebuah syarikat pembangunan perisian di Singapura, di mana beliau menasihati pasukan kejuruteraan dalaman dalam kedua-dua keselamatan komputer peribadi dan peranti mudah alih. Penglibatan Sheran dalam keselamatan mudah alih bermula pada 2009 apabila beliau memulakan penyelidikan keselamatan BlackBerry. Sejak itu, beliau telah memegang peranan kepimpinan dalam kedua-dua kejuruteraan dan keselamatan di beberapa startup di Asia termasuk GOJEK, aplikasi multi-perkhidmatan atas permintaan yang kini disenaraikan secara awam.
