Menata Ulang Rumah Perangkat Lunak: Bagaimana Mengubah Profil Teknologinya dan Memilih Spesialisasi di Pasar TI?
Diterbitkan: 2023-03-06Setiap perusahaan perangkat lunak memiliki profil teknologinya sendiri. Seringkali bagi orang teknis ini lebih penting daripada profil domain perusahaan. Ini karena pengembang TI lebih suka melihat diri mereka sendiri melalui prisma teknologi di mana mereka bekerja, misalnya saya seorang pemrogram sistem yang dibangun dalam C#. Namun, apakah mereka mengerjakan proyek untuk perusahaan yang berurusan dengan pelatihan atau memproduksi kotak adalah kepentingan sekunder. Tentu saja, pengetahuan domain selalu berguna bagi pemrogram, tetapi itu tidak mengubah persepsi mereka tentang diri mereka sendiri melalui dimensi teknologi – kata Robert Marek, Co-founder & CTO di FINGO.
FINGO adalah rumah perangkat lunak Polandia yang telah menyediakan layanan pemrograman selama lebih dari 20 tahun. Pada tahun 2022, organisasi tersebut berhasil mengubah profil teknologinya. Selain layanan pemrograman yang ditawarkan dalam teknologi Java dan .NET, ia menambahkan Node.js dan telah menyelesaikan semua proyek yang dibuat sejauh ini dalam PHP.
Mengapa langkah ini dilakukan? Seperti apa proses perubahan yang mengatur diri sendiri? Dan apa hasilnya? Cari tahu dengan membaca wawancara kami dengan Robert Marek.
Sebelum kita mulai berbicara tentang proses mengubah profil teknologi itu sendiri, dapatkah Anda memberi tahu kami seperti apa perusahaan itu sebelum reorganisasi?
Jika Anda mengikuti portofolio 20 tahun FINGO, Anda akan menemukan proyek untuk keuangan, real estat, otomotif, e-commerce, dan banyak sektor lainnya, yang kurang lebih terkait satu sama lain. Ini sedikit kebetulan – selama bertahun-tahun proyek semacam itu telah muncul, dan kami telah mengembangkan tim kami. Tetapi keadaan ini sebagian besar dipengaruhi oleh profil teknologi kami (Java, .NET, PHP), di mana kami mencari pesanan lebih lanjut.
Namun, saya merasa itu tidak baik untuk bisnis kami. Penyebaran teknologi yang besar umumnya tidak baik untuk rumah perangkat lunak seukuran FINGO. Mungkin lebih mudah untuk menemukan proyek, tetapi lebih sulit untuk memastikan pertukaran orang. Saya akan memberi Anda sebuah contoh. Misalkan Anda membutuhkan 5 pengembang untuk proyek Anda. Ada 6 orang yang duduk di bangku tersebut, namun hanya 2 orang yang mengetahui teknologi yang dibutuhkan dalam proyek tersebut. Keadaan ini berarti masih ada 4 spesialis bergaji tinggi yang tidak bekerja, untuk siapa Anda perlu menyediakan pekerjaan. Selain itu, Anda perlu membuat 3 orang terbiasa dengan teknologi yang dibutuhkan untuk memastikan proyek ini memiliki staf.
Namun demikian, kenyamanan memiliki bisnis yang berfungsi dengan baik menghalangi kami untuk menerapkan perubahan tersebut. Kami memiliki proyek, klien reguler jangka panjang, dan pemrogram berpengalaman. Dalam lingkungan seperti itu, sulit membuat keputusan untuk mulai mengubah sesuatu.
Jadi apa yang membuat Anda memutuskan untuk mengubah profil teknologi di FINGO?
Di awal pandemi, pasar membeku. Perusahaan, tidak tahu apa yang akan terjadi selanjutnya, menahan diri untuk melanjutkan proyek saat ini atau memulai yang baru. Itu adalah masa ketika bahkan programmer takut kehilangan pekerjaan mereka. Kami bertanya-tanya apa yang harus dilakukan. Kami tidak ingin memberhentikan orang, tetapi di sisi lain, kami membutuhkan sesuatu yang akan membuat kami menonjol dari yang lain.
Sekitar Mei 2020, sebagai pemilik perusahaan, kami menemukan bahwa tanpa mengambil keputusan yang berani, situasinya dapat memburuk. Kami memiliki proyek terbanyak, dan karena itu pengalaman, di sektor keuangan. Selain itu, kami memiliki bagian produk yang menawarkan perangkat lunak yang memungkinkan pelaksanaan pelaporan wajib di sektor perbankan. Sektor keuangan adalah pilihan yang wajar bagi kami.
Pada saat itu, menurut saya FinTech dan sektor keuangan tidak mungkin menggunakan PHP dalam proyek mereka. Jadi saya berasumsi bahwa dengan berfokus pada sektor ini, kita akan beralih dari PHP dan hanya akan menggunakan Java dan .NET. Dengan informasi ini, kami pergi ke tim pada rapat umum perusahaan.
Jadi wabah pandemi yang memaksa Anda memutuskan untuk mengubah profil teknologi FINGO?
Iya dan tidak. Setelah berbagi informasi tentang spesialisasi, kami menunjuk tim kerja yang terdiri dari beberapa programmer berpengalaman yang memiliki bakat bisnis. Tugasnya adalah untuk memeriksa apa saja tren, teknologi, dan solusi populer di masing-masing negara terkait dengan sektor keuangan. Analisis mereka menegaskan asumsi saya sebelumnya, bahwa PHP adalah sesuatu yang langka dalam proyek keuangan. Pada saat yang sama, mereka merekomendasikan pengembangan kompetensi di Node.js, yang dihargai, bahkan di dunia start-up.
Di perusahaan kami, kami menghargai konsep manajemen pirus, di mana, antara lain, kami secara terbuka berkonsultasi dengan proyek yang penting bagi organisasi dengan seluruh tim. Berkat ini, orang merasakan dampak pada perkembangan perusahaan, tetapi juga merasakan tanggung jawab bersama atas keputusan yang diambil.
Oleh karena itu, inisiatif untuk beralih ke Node.js, yang datang dari bawah ke atas, masih harus disetujui oleh tim FINGO lainnya. Namun, ternyata ada keinginan kuat untuk berkembang ke arah ini. Mungkin itu adalah waktu khusus ketika kita semua takut akan masa depan dalam berbagai dimensi (aspek ekonomi dan kesehatan, dll). Paradoksnya, ini meningkatkan penerimaan keputusan untuk mengambil tantangan.
Berapa banyak orang yang harus memperoleh kompetensi teknologi baru?
Secara total, perubahan tersebut melibatkan 15 orang. Mereka harus memutuskan apakah mereka ingin berkembang sebagai pengembang frontend atau tetap menjadi pengembang backend dan membuat solusi di Java, .NET atau Node.js.
Salah satu dari orang-orang ini adalah full-stack developer yang telah mendeklarasikan dirinya sebagai frontend developer, jadi dalam kasusnya keputusannya mudah. Akibatnya, 2 orang memilih Java, dan 10 orang sisanya memilih Node.js.
Dua penguji juga ikut serta dalam reorganisasi, dan mereka juga harus mempelajari teknologi baru. Kebijakan perusahaan kami adalah menulis tes dalam teknologi yang sama dengan produk yang diproduksi. Saat penguji tidak tersedia untuk sementara, pendekatan ini memberi kami rasa aman; tes tertulis dapat diambil alih sementara oleh pemrogram.
Ada juga keberangkatan, tetapi ini adalah keputusan individu. Satu orang mengundurkan diri dari FINGO dengan cukup cepat, tetapi itu karena dia mengembangkan komunitas PHP di Wroclaw. Wajar jika harapan kami untuk kerja sama mulai menyimpang. Selama proses berlangsung, karena berbagai alasan, 2 orang lagi keluar dari perusahaan.
Membuat keputusan hanyalah awal dari jalan.Apakah perusahaan entah bagaimana membantu pemrogram memperoleh kompetensi baru?
Proyek strategis dibuat untuk mendukung pengembang dalam mempersiapkan penyediaan layanan secepat mungkin dalam proyek komersial. Pada awalnya, kami meminta mereka untuk secara subyektif menentukan berapa banyak waktu yang mereka perlukan untuk memperoleh pengetahuan yang diperlukan, sehingga memungkinkan mereka untuk melakukan pekerjaan dengan percaya diri untuk klien eksternal, dengan asumsi 2 skenario. Yang pertama dengan dukungan rekan yang lebih berpengalaman, yang kedua tanpa dukungan tersebut. Sebagai tanggapan, kami memperoleh berbagai perkiraan.
Beberapa menyatakan bahwa dengan dukungan dari pengembang Node.js yang berpengalaman, mereka dapat bergabung dengan proyek komersial bahkan setelah hanya satu bulan, dan yang lainnya hanya setelah beberapa bulan. Itu semua tergantung pada pengalaman (pribadi atau profesional) apa yang Anda miliki sebelumnya dan seberapa besar keberanian yang Anda miliki dalam diri Anda. Perlu dicatat juga bahwa kami juga memiliki pengalaman dengan lingkungan ini di FINGO. Jadi kami punya dasar.
Namun, kami tidak memaksakan cara memperoleh pengetahuan kepada mereka. Semua orang ini adalah pemrogram berpengalaman yang ingin terus belajar. Mereka memiliki gaya belajar yang mereka sukai. Secara umum, perolehan pengetahuan yang berkelanjutan entah bagaimana tertulis dalam industri teknologi baru. Oleh karena itu, kami memutuskan bahwa solusi yang paling masuk akal adalah dengan memberi mereka sumber daya dan waktu untuk belajar.
Kami juga melakukan reorganisasi perusahaan. Serikat yang mengatur diri sendiri diciptakan, di mana orang-orang yang bekerja dalam teknologi tertentu, tetapi tidak harus pada proyek yang sama, bertukar pengetahuan yang diperoleh. Sebagai bagian dari guild Node, sebuah proyek internal juga dibuat, di mana seseorang dapat menguji pengetahuan yang baru diperoleh. Kursus eksternal diselenggarakan untuk para sukarelawan.
Namun, yang paling memberi adalah kesempatan untuk bergabung dengan proyek dengan cepat. Contoh terbaik dari ini adalah salah satu pesanan yang sedang kami kerjakan, di mana kami membutuhkan semua tangan yang memungkinkan. Setelah mendapatkan persetujuan klien, pengembang PHP yang berpengalaman bergabung dengan proyek tersebut, juga bekerja di JavaScript, yang tidak memiliki pengalaman dengan Node.js itu sendiri. Namun, sudah ada pemrogram berpengalaman dalam proyek tersebut yang mampu mendukung kolega dan memastikan kualitas kode.
Mari kita bicara lebih banyak tentang klien Anda.Bagaimana reaksi mereka terhadap keputusan Anda untuk menjauh dari PHP?
Penolakan dan kesedihan internal terbesar yang kami miliki adalah dengan proyek yang dibuat untuk klien yang telah berdiri selama 10 tahun. Ini cukup lucu, karena salah satu programmer kami telah mengerjakannya sejak awal. Secara alami, dia tahu lebih banyak tentang sistem daripada banyak manajer di perusahaan itu. Sulit bagi kami untuk menjelaskan keputusan kami kepada mereka. Meskipun kami mendapat pemberitahuan sebulan, kami ingin merawat klien ini dengan baik. Kami setuju untuk tersedia bagi mereka selama enam bulan lagi. Menariknya, setelah 3 bulan, klien mengakhiri kerjasamanya sendiri, karena reorganisasi internal perusahaan. Ini juga menunjukkan bahwa Anda tidak boleh memikirkan hal-hal terlalu lama. Mereka harus dilakukan dan hanya itu.
Lebih mudah dengan proyek lain. Seperti peristiwa lainnya, itu terjadi secara alami. Misalnya, kami memiliki klien yang mengembangkan bagian dari sistem di Node.js. Kami sepakat bahwa pemrogram kami, yang sebelumnya mendukung proyek dalam teknologi PHP, akan memberikan layanan mereka dengan tarif lebih rendah untuk beberapa bulan pertama. Di satu sisi, ini adalah kompensasi atas asumsi efisiensi yang lebih rendah dari tim yang baru saja mengubah teknologi.
Bagaimana menurut Anda para pengembang melihat perubahan ini sekarang?
Saya pikir mereka bahagia. Orang-orang di industri ini suka belajar. Saat itu, mereka punya waktu dan uang untuk belajar. Mereka belajar penuh waktu, menerima gaji penuh dan dapat memperoleh manfaat dari hibah studi. Hal ini tentu berdampak positif pada perasaan mereka.
Apakah Node.js lebih baik dari PHP? Ini tentu saja bisa diperdebatkan. Pastinya, teknologi ini sedang populer sekarang, jadi kita sudah memasuki periode tren naik.
Beberapa orang awalnya merasa menyesal meninggalkan proyek PHP jangka panjang. Tetapi setelah beberapa saat, mereka mengakui bahwa mereka telah keluar dari stagnasi tertentu. Dan mereka merasakan angin tantangan baru yang mengasyikkan. Secara keseluruhan saya pikir itu berjalan dengan baik.
Berapa lama perubahan itu berlangsung?
Seluruh proses berlarut-larut seiring waktu. Verifikasi pasar memakan waktu cukup lama. Mengerjakan reorganisasi perusahaan dan berpisah dengan pelanggan juga menyita banyak waktu. Secara total, hampir 2 tahun telah berlalu sejak pembuatan tugas di Jira dan penutupannya.
Namun, perlu dicatat bahwa jeda terpanjang antara transisi pengembang dari proyek PHP ke Node.js hanya 3 bulan. Ini terkait dengan pernyataannya tentang waktu yang dia rasa perlu untuk bergabung dengan proyek tersebut dengan rekan-rekan yang lebih berpengalaman.
Apa aspek yang paling sulit?
Saya pikir baru saja sampai pada keputusan bahwa sudah waktunya untuk mengubah sesuatu. Namun, kesadaran bahwa jika kita tidak berubah sekarang, dan dalam satu atau dua tahun tidak akan ada yang berubah, sangat membantu dalam membuat keputusan lebih cepat.
Juga sulit untuk berpisah dengan klien ketika tidak ada alternatif yang terlihat jelas di cakrawala dan situasi ekonomi tidak stabil.
Sepanjang proses ini, kami ingin menjaga klien jangka panjang kami, membuat mereka dengan tenang menemukan alternatif, tetapi juga menjaga diri kami sendiri. Pastikan persiapan programmer dan kesiapan mereka untuk cepat menerima pesanan dalam teknologi baru.
Jika CTO perusahaan lain mendatangi Anda dan mengatakan bahwa dia juga berpikir untuk mengubah profil teknologi perusahaan, 3 nasihat apa yang akan Anda berikan kepadanya?
Memiliki visi. Ketahui mengapa Anda ingin melakukannya dan jelaskan kepada tim Anda ke mana Anda akan pergi dan mengapa.
Bekerja sama dengan tim Anda. Bicaralah dengan orang, sesuaikan tindakan Anda dengan apa yang Anda dengar, dan perhitungkan kemampuan mereka. Lakukan segalanya dengan orang-orang.
Lakukan semuanya secara konsisten, meski ada saat-saat ragu-ragu.