Pengembangan Software : Dengan In-house team, Freelance, atau Software House?

Big Zaman
- 05 September 2019

Disclaimer : Penulis adalah Direktur PT Badr Interactive, software house pengembang aplikasi web dan mobile yang telah berdiri sejak 2011 dengan 200+ portofolio proyek mobile & web application.

Kami Butuh Programmer!

Belakangan dengan maraknya dunia startup digital yang didorong oleh kebutuhan solusi teknologi dalam setiap aspek kehidupan untuk pasar berbasis perusahaan (B2B) ataupun konsumen (B2C), maka para pegiat bisnis mulai berbondong-bondong membuat website maupun aplikasi dengan tujuan untuk mempermudah aktifitas bisnis mereka. Dalam hal ini Programmer/Developer pun mulai banyak dicari untuk menciptakan berbagai aplikasi ataupun keperluan IT lainnya. Permintaan profesi sebagai programmer/developer ini kian meningkat sehingga sudah menjadi rahasia umum beberapa posisi in-house programmer punya rate salary yang cukup tinggi. Hal ini akhirnya menjadi pertimbangan tersendiri bagi founder startup atau perusahaan yang ingin merekrut mereka karena besarnya fixed cost untuk mengakuisisi talenta programmer terbaik hari ini. Pada akhirnya muncullah opsi selain hire programmer, yakni mencari jasa tenaga lepas seperti freelance perorangan hingga mempertimbangkan jasa software house untuk memenuhi kebutuhan IT mereka.

Pertanyaannya, lebih baik manakah merekrut programmer untuk develop software secara in-house, freelance perorang, atau hire software house? Tulisan ini akan mencoba untuk mengupas hal ini. Agar tidak melebar konteksnya, saya kerucutkan dalam konteks founder yang ingin membuat startup digital, atau seorang pimpinan perusahaan yang memiliki kebutuhan IT rutin didalam perusahaannya.

The Best Thing : You Must Have Your Own CTO!

Jika ada perusahaan startup digital baru yang akan mengembangkan produknya meminta saran diantara ketiga hal diatas, maka saya akan menyarankan mereka untuk memiliki profil seorang CTO yang qualified terlebih dahulu dalam startup-nya.

“If you are not a wizard, so find ‘the boss’ of wizard. He know what to do!”

Kenapa CTO yang qualified ini penting? Karena pada dasarnya kita ingin membuat startup IT atau ingin mengembangkan infrastruktur IT perusahaan kita, oleh karena itu tetap harus ada orang yang mengerti tentang hal-hal terkait IT dan digitalisasi produk.

Secara umum ada asumsi yang salah, bahwa kita perlu mengerti IT secara spesifik dalam mengembangkan bisnis kita selama kita dapat merekrut para lulusan ilmu komputer atau informatika. Sehingga banyak sekali startup yang dalam tataran cofounder-nya sama sekali tidak ada orang yang memiliki background IT yang mumpuni. Hal yang sama juga berlaku pada lulusan ilmu komputer yang hanya focus pada aktifitas ngoding-nya dalam memulai bisnis namun tidak mengerti bagaimana cara marketing, business development, ataupun finance, dan menyerahkannya kepada orang lain pada saat mereka akan menjual produknya.

NO YOU CAN’T! Justru disinilah peran critical seorang CTO. Dia tau bagaimana cara mengejawantahkan dari roadmap bisnis ke roadmap pengembangan produk. Dari roadmap pengembangan produk ke technology stack yang akan digunakan. Menimbang-nimbang arsitektur sistem MVP (Minimum Viable Product) yang simpel untuk segera dapat mem-validasi ide, namun juga mempertimbangkan potensi agar tidak memiliki technical debt yang besar di masa depan. That’s why you need a qualified-CTO! Bukan hanya mereka yang bergelar S.Kom atau Sarjana Informatika dibelakang namanya atau fresh grad yang belum memiliki pengalaman dalam product development apalagi mereka yang tidak memiliki background IT sama sekali.

Lalu dimana kita bisa mencari CTO? Hal ini memang tidak mudah. Mencari programmer yang bagus dan loyal hari ini saja sudah cukup sulit, apalagi CTO yang mau berbagi masalah dengan kita, memberikan waktu-waktu produktifnya bahkan masa depannya untuk startup kita yang masih belum jelas perkembangannya, serta dengan gaji startup fase awal yang biasanya juga tidak besar.

Beberapa hal yang dapat dipertimbangkan untuk mencari CTO:

1. Butuh kemampuan persuasif yang kuat. Karena memang startup fase awal memang tidak bisa menjanjikan banyak hal kecuali mimpi besar atau visi bersama. Maka butuh passion yang kuat dan karakter yang siap struggling untuk menjalankan bisnisnya dalam kondisi-kondisi yang sulit.

2. Variabel kedekatan seperti teman dekat, teman satu kuliah, satu komunitas, dan lain sebagainya. Pastikan kita sudah mengenal dengan cukup baik karena salah satu masalah utama dalam sebuah startup adalah terkait dengan team building dan bagaimana kita mampu berbagi peran. Sehingga memang mencari co-founder merupakan pekerjaan yang tidak mudah. Silahkan bisa tonton video dari Badr Startup Studio tentang tips mencari founder disini.

Sekali lagi hati-hati jangan hanya yang sekedar lulusan IT karena tidak semua lulusan IT tau cara mengembangkan produk dan implementasi MVP dari scratch. Kata kuncinya adalah : expertise dan experience. Ketika kita sudah mendapatkan “the right one”, maka cukuplah dia yang akan menentukan kapan harus rekrut, cukup di-outsource ke freelance perorangan, atau harus divendorin ke software house.

But I can’t Find My CTO!

Tahun 2014 ada seorang founder startup, sebut saja Saiful, datang ke kantor Badr Interactive. Sejak mahasiswa Saiful terkenal sebagai mahasiswa yang bertalenta, mapres, cumlaude, menang berbagai kompetisi dan bagian terpentingnya dia punya karakter mahasiswa yang jarang hari ini, idealis! Saiful tidak berlatar belakang IT, jadi dia datang ke Badr untuk menawarkan menjadi partner IT di startup-nya. Walaupun beliau cerita dengan sangat bersemangat tentang startup-nya, tapi saat itu kami tidak tertarik. Namun kami tetap membantu beliau dengan mencarikan anak intern yang bisa diminta untuk mengembangkan produknya. Sekian bulan berjalan ternyata tidak berjalan dengan lancar, anak-anak intern-nya tidak komitmen dengan target, dan software-nya buggy. Akhirnya Saiful memutuskan untuk hire beberapa orang / intern sendiri, ternyata hasilnya pun masih jauh juga dari memuaskan.

Tidak putus asa, Saiful mencoba peruntungannya untuk mencari orang IT (meskipun kualifikasinya masih jauh dari CTO ideal) yang bisa membantunya. Akhirnya dia mencoba hire vendor “kelas menengah” atau mungkin bisa dibilang sekelompok tim freelance. Cost yang keluar lebih mahal namun software-nya ternyata masih banyak bug dan glitch didalamnya. Software ini dapat didemo-kan untuk presentasi ke berbagai tempat, namun untuk dipakai massal sebagai sebuah produk pada umumnya, masih banyak error disana sini. Di akhir 2018, saya ketemu lagi dengan beliau di suatu tempat, dan beliau bilang kurang lebih,

“Saya udah mau nyerah Bang. Hampir lima tahun jalanin ini, banyak presentasi kesana kemari, hampir semua orang bilang produknya prospektif. Saya masih yakin startup saya ini secara bisnis promising, tapi….secara produk, startup saya lemah.

Dari sini saya mengambil kesimpulan, mengembangkan produk dengan hire programmer sendiri tanpa campur tangan CTO yang mumpuni mungkin bisa berhasil tapi kemungkinannya bisa dibilang sangat kecil walaupun senior programmer sekalipun, apalagi fresh graduate. Kecil kemungkinan kita bisa mempekerjakan sekelompok orang tapi tidak bisa jadi “mandor”-nya. Seringkali bahkan di-markup cost pengerjaannya, tidak sebanding dengan deliverables pekerjaan yang diberikan, atau kita tidak pernah bisa mengevaluasi pekerjaannya dengan optimal.

Disinilah, vendor menjadi solusi. Ada ‘mandor’-nya, ada orang yang bisa kerja. Ada yang bisa implementasi, ada yang bisa merancang dan memonitor standar kualitasnya. Sehingga tidak perlu pusing mencari CTO, dan tidak perlu sibuk cari programmer, cukup pikirkan apa yang mau dibuat dan tentunya siapkan budgetnya.

Kapan Harus Hire Software House?

Ini pertanyaan yang sulit, karena sejujurnya saya sebagai pelaku di bisnis software house akan menjawab, “Setiap saat!”

Ada beberapa hal yang harus dipertimbangkan sebelum memutuskan untuk hire software house. Sebagai bahan pertimbangan, silahkan Anda jawab beberapa pertanyaan-pertanyaan berikut:

1. Apakah kita memiliki tim yang memiliki skill dan resource yang cukup dan KITA PERCAYA dia bisa mengerjakan pekerjaan tersebut?

2. Apakah outsourcing ini dapat mencapai goals jangka pendek kita dengan lebih cepat? Apakah ada momentum penting yang kita lewatkan jika kita tidak bisa men-deliver goals kita tepat waktu?

3. Apakah kita memiliki resource untuk merekrut dan me-maintain in-house talent tersebut?

4. Apa saja value yang kita dapatkan untuk cost outsourcing yang kita keluarkan tersebut?

5. Dimanakah diri kita dan talent-talent terbaik di startup kita, kita alokasikan? Lebih baik belajar dan mengerjakan pekerjaan tersebut atau melakukan hal lain yang lebih impactful?

Harus diakui, vendor adalah solusi berkualitas yang paling praktis namun tidak efisien. Cost tersebut harus kita keluarkan karena kita membeli value yang disediakan oleh software house. Tidak perlu cari developer, tidak perlu maintain kondisi psikologis para programmer-nya, tidak perlu memikirkan biaya peningkatan kapasitas, dan lain sebagainya. Termasuk tidak perlu mempertimbangkan berbagai operational cost seperti biaya sewa kantor, listrik dan internet, jaminan kesehatan, pajak, dan masih banyak lagi. Semuanya sudah termasuk dalam ranah kerja dari vendor itu sendiri.

How about Corporate?

Untuk non-startup yakni perusahaan level korporat sekalipun juga biasanya cukup berhati-hati dalam hiring karyawan baru, yang akan menjadi fixed cost jangka panjang perusahaan. Beberapa klien-klien corporate Badr misalnya PT Pertamina Persero, orang IT-nya mengatakan bahwa semua project di Pertamina pasti sifatnya open tender kepada vendor eksternal, alih-alih dikerjakan sendiri.

Kenapa ke software house tidak ke freelance perorangan aja? Setidaknya karena dua alasan. Satu, seringkali freelance perorangan terlalu beresiko karena mereka biasanya single fighter. Sehingga jika tiba-tiba ada hal-hal force majeur yang terjadi, maka bisa dipastikan proyek akan terbengkalai. Kedua, biasanya perusahaan korporat hanya bisa bekerjasama dengan perusahaan yang sudah PKP (Perusahaan Kena Pajak), yang harus berinteraksi dengan segala kewajiban pajak seperti PPN, PPH Badan, dokumen resmi perusahaan dan lain sebagainya.

Key Takeaways : Gunakan Software House Seperlunya

Pengembangan software akan lebih mudah jika kita punya CTO atau orang yang memiliki kualifikasi ideal seorang CTO. Jika ia belum ada dalam startup atau perusahaan Anda, maka pastikan untuk ada. Jika kita sudah memilikinya, maka percayakan kepadanya untuk membuat tim “in-house”-nya sendiri atau meng-outsource-kannya.

Bagaimana kalau masih belum menemukan CTO nya? Segera siapkan budget lebih. Untuk startup, para founder-nya sudah harus bersiap untuk mencari sumber-sumber pendanaan sendiri seperti mencari investor untuk hire software house karena Anda tidak punya pilihan lain saat ini.

Saran tambahan dari saya:

1. Usahakan melakukan kerjasama yang bersifat jangka panjang, bukan hanya proyek jual beli putus agar vendor tetap melakukan maintenance jangka panjang produk kita. Cons-nya tentu harus ada yang ditawarkan baik profit sharing hingga share. Dan kalaupun software house-nya bersedia, tetap siapkan budget juga karena biasanya vendor tetap meminta alokasi untuk modal pengembangan. Kerjasama seperti ini sudah berjalan di Badr Interactive, kita sudah bekerjasama dengan PT Buku Yusuf Mansur dan PT Nurul Fikri untuk startup yang sedang kami kembangkan Skydu.id yang juga mengembangkan Paytren Academy dan NFJuara.

2. Jika vendornya maunya jual beli putus aja, ya kita harus menerima karena kita “membayar momentum” yang tidak boleh terlewat. Momentum itu sangat krusial yang menentukan growth tidaknya sebuah startup atau keputusan bisnis di perusahaan corporate. Maka siapkan perencanaan yang terukur dari sisi timeline dan tentu budget, sambil menyiapkan dalam jangka panjang untuk persiapan tim in-house sendiri. Kapan waktunya hiring sendiri? Ketika produk Anda sudah siap. Sistem lebih stabil, revenue stream sudah terlihat pola-nya atau setidaknya business model-nya sudah tervalidasi, disitulah saatnya Anda membentuk “the dream development team” untuk melanjutkan estafet pengembangan produk Anda selanjutnya.

Selamat memutuskan. Apapun hasil pilihan Anda, pastikan Anda bisa membuat software yang Anda harapkan namun tidak melewatkan momen yang ingin dikejar dan tentu dikembangkan dengan kualitas terbaik.