Artur Ter-Stepanyan dari CodeRiders Berbagi Wawasan Menarik Tentang Proyek Outsourcing Perangkat Lunaknya
Diterbitkan: 2023-02-06Pengembang dan insinyur perangkat lunak benci berbicara; kebanyakan dari kita telah mendengar ungkapan ini setidaknya sekali. Tapi entah benar atau tidak, kita memang butuh pendapat langsung dari para profesional. Tidak ada yang dapat berbagi wawasan yang lebih mendalam tentang proses pengembangan perangkat lunak selain pengembang dan insinyur itu sendiri.
CodeRiders melanjutkan seri wawancaranya dengan pengembang dan insinyur perangkat lunak terkemuka kami. Sebelumnya, kami membagikan perjalanan karyawan kami di bidang TI bersama dengan keterampilan teknis dan lunak mereka sebagai insinyur perangkat lunak jarak jauh profesional.
Kali ini kami melanjutkan dengan pengembang perangkat lunak full-stack kami, Artur Ter-Stepanyan, yang membagikan pendapatnya tentang manajemen outsourcing perangkat lunak, tim Scrum, dan proyek favoritnya.
Tentang Artur Ter-Stepanyan
Artur adalah pengembang perangkat lunak senior di perusahaan pengembangan perangkat lunak CodeRiders. Dia adalah salah satu alumni terbaik CodeRiders, yang telah membentuk tim inti pada tahun 2016.
Jika Anda telah mengikuti CodeRiders untuk sementara waktu, Anda mungkin sudah tahu bahwa CodeRiders memasuki industri IT internasional sebagai sekolah pengembangan perangkat lunak lokal pada tahun 2013. Hanya dalam setahun, sekolah tersebut memberikan lebih dari 800 alumni, 17 di antaranya membentuk CodeRiders perusahaan outsourcing perangkat lunak pada tahun 2014.
Artur telah berkontribusi banyak terhadap pengakuan internasional CodeRiders sebagai salah satu perusahaan outsourcing perangkat lunak terbaik di pasar. Dia telah bekerja dengan rekan-rekannya di beberapa proyek outsourcing perangkat lunak yang paling menantang dan kompleks. Artur adalah salah satu pengembang perangkat lunak pekerja keras kami yang telah mendapatkan ulasan positif dari klien untuk perusahaan kami. Dia juga aktif mewakili perusahaan kami dalam berbagai acara – yang terbaru adalah Pameran Perdagangan Internasional Hannover Messe 2022 di Hanover, Jerman.
Mari kita mulai dari awal!
Hai Artur. Terima kasih telah meluangkan waktu untuk berbicara dengan kami. Mari kita mulai dengan beberapa informasi latar belakang tentang diri Anda dan perjalanan Anda untuk menjadi pengembang perangkat lunak yang sukses. Bagaimana Anda berakhir di CodeRiders?
Halo. Terima kasih atas tawarannya. Saya pikir banyak pengembang perangkat lunak Armenia akan memahami cerita saya. Saya telah bekerja di industri TI selama 7 tahun, tetapi menjadi pengembang perangkat lunak bukanlah impian masa kecil saya, dan pengembangan perangkat lunak juga bukan jurusan saya di universitas. Sebagai orang dewasa muda biasa, saya tertarik pada banyak profesi acak, termasuk kedokteran dan perawatan kesehatan. Saya ingin memilih profesi yang benar-benar menarik minat saya. Pada akhirnya, itulah yang akan menghabiskan sebagian besar waktu Anda. Namun, saya juga tidak melupakan gaji rata-rata untuk profesi tertentu dan lingkungannya.
Pada saat saya sedang mencari peluang karir yang sempurna, saudara laki-laki saya bekerja di CodeRiders sebagai direktur departemen pengembangan bisnis. Pendiri perusahaan dan CTO adalah teman masa kecil kakak saya. Jadi, perusahaan itu sudah menghangatkan hati saya. Dia menyarankan saya mendaftar di kursus PHP, Laravel, dan JavaScript mereka untuk melihat apakah pemrograman menarik minat saya. Pada pertengahan 2000-an, industri teknologi sudah berkembang pesat di Armenia. Sebagian besar lulusan baru yang menjanjikan memilih profesi seperti pengembang perangkat lunak, insinyur, arsitek, penguji (spesialis QA), PM, dan pemasar digital, dan industri TI sangat kuat dan dipenuhi dengan sejuta peluang. Armenia sedang dalam perjalanan untuk menjadi pusat teknologi dunia berikutnya.
Jadi, saya memutuskan untuk mencobanya, dan seperti yang Anda lihat, itu adalah pilihan yang sangat baik. Saya menemukan diri saya dalam pengembangan perangkat lunak, dan tim itu sangat cocok untuk saya. Setelah berhasil menyelesaikan sekolah pengembangan perangkat lunak, saya dipekerjakan sebagai pengembang perangkat lunak back-end pada tahun 2016. CodeRiders adalah ruang kerja saya yang pertama dan satu-satunya. Kami telah menciptakan suasana di mana ungkapan “Saya hanya seorang karyawan” tidak cocok. Kami semua benar-benar peduli dengan kesejahteraan dan reputasi perusahaan, dan sungguh menakjubkan sejauh mana kami telah berkembang dari sekadar startup kecil menjadi vendor perangkat lunak yang diakui secara internasional. Saya tahu bahwa menemukan tempat kerja yang ideal pada percobaan pertama jarang terjadi, jadi saya sangat menghargainya. Saya pikir kesuksesan pribadi saya, serta kesuksesan perusahaan, sangat terkait dengan visi dan dedikasi kami. Kami seperti satu keluarga besar yang berkumpul untuk misi yang jelas untuk membantu orang bekerja lebih produktif dan bersenang-senang.
Anda menyebutkan bahwa tim itu seperti keluarga bagi Anda. Bukankah fakta ini menciptakan lingkungan kerja dan disiplin yang “longgar”?
Banyak yang percaya bahwa berteman dengan kolega atau memiliki hubungan dekat di tempat kerja merugikan produktivitas bisnis/kerja. Saya tidak akan berdebat dengan itu karena kasusnya berbeda. Namun, di CodeRiders, ini lebih seperti stimulus tambahan untuk bekerja lebih baik. Dengan CodeRiders, saya menjadi diri saya sendiri. Saya tidak berada di bawah tekanan apa pun, saya juga tidak merasa perlu pamer. Akibatnya, saya hanya berkonsentrasi pada pekerjaan saya dan melakukan yang terbaik: pengkodean dan pengembangan perangkat lunak. Hasil yang baik dan umpan balik klien yang positif membuktikan efisiensi pekerjaan saya.
Tolong jelaskan hari kerja Anda di CodeRiders.
Kita mulai dengan secangkir kopi tentunya. Jika hari Senin, semua anggota tim, termasuk departemen pengembangan bisnis, berkumpul untuk rapat pagi. Kami membagikan apa yang kami lakukan dan memastikan semua orang berada di jalur yang benar. Kemudian semua orang mulai bekerja.
Kami semua bekerja di beberapa kamar besar yang nyaman. Kami tidak memiliki kamar terpisah, yang menurut saya bagus, karena bekerja bersama entah bagaimana bisa menghilangkan stres. Misalnya, selama hari kerja keras, salah satu anggota tim kami mungkin membuat lelucon, dan semua orang tertawa dan terus bekerja.
Kami juga memiliki ruang terpisah untuk diskusi atau panggilan video. Jadi, jika kita membutuhkan ruang pribadi dan keheningan, kita bisa pindah ke kamar tersebut. Bagi kami para pengembang, ini biasanya terjadi di pagi dan sore hari ketika kami melakukan panggilan dengan klien dan tim pengembangan perangkat lunak jarak jauh. Kita mungkin juga memiliki beberapa rehat kopi ketika kita bisa membicarakan topik yang berbeda, bersantai, dan menyegarkan pikiran kita. CodeRiders menawarkan model kerja hybrid, yang berarti karyawan bebas memilih antara bekerja dari jarak jauh atau di kantor. Saya lebih suka pekerjaan di rumah karena saya senang berada di sekitar rekan kerja saya (saudara laki-laki dan teman dekat saya), yang membantu saya bekerja lebih produktif.
Apakah Anda akan membahas proyek Anda saat ini secara lebih rinci?
Saat ini saya bekerja pada platform manajemen olahraga all-in-one. Target utamanya adalah merampingkan organisasi klub olahraga. Ini adalah salah satu platform manajemen olahraga terkemuka di pasar internasional. Kami mengotomatiskan pengelolaan klub olahraga mana pun. Siapa pun dapat berpartisipasi dan mendorong klub lokal mereka dari mana saja di dunia. Produknya seperti memiliki seluruh tim administrasi di saku Anda. Ini membantu pengguna dengan mudah mengelola klub mereka di mana saja dan kapan saja di semua perangkat mereka. Saya bekerja dengan insinyur dan pengembang perangkat lunak jarak jauh dari hampir setiap benua. Kami memiliki beberapa manajer proyek yang bekerja sama dengan semua anggota tim teknologi dan klien.
Apa yang paling Anda sukai dari proyek pengembangan perangkat lunak Anda saat ini?
Selain fakta bahwa proyek ini besar dan tidak pernah membuat Anda bosan, saya menikmati proses dan metodologi kerja kami. Kami menggunakan metodologi pengembangan perangkat lunak Scrum, yang sempurna untuk proyek yang begitu kompleks. Scrum adalah framework Agile yang paling populer dan, tentu saja, mengikuti 5 prinsip Agile: komitmen, fokus, rasa hormat, keterbukaan, dan keberanian. Secara umum, model pengembangan perangkat lunak iteratif sangat fleksibel dan “ramah terhadap perubahan”. Anda tidak harus terpaku pada rencana. Dengan Scrum, Anda masih dapat berhasil dalam pengembangan dan implementasi perangkat lunak bahkan jika Anda tidak memikirkan versi produk akhir. Sementara itu, tidak seperti model perangkat lunak harga tetap, metodologi outsourcing perangkat lunak iteratif memastikan klien hanya membayar untuk pekerjaan yang dilakukan.
Jelaskan hari kerja khas Anda dalam proyek ini. Apa artinya menjadi full-stack developer yang bekerja dengan tim internasional?
Tim kami terdiri dari manajer proyek, pengembang perangkat lunak back-end dan front-end, insinyur, dan penguji. Manajer proyek memecah pekerjaan menjadi sprint, dan kami bekerja sama dengan erat untuk menyelesaikan dan menguji setiap sprint setelah bergerak maju. Jadi, proses dan garis waktu pengembangan perangkat lunak terlihat seperti ini:
- Kami mulai dengan perencanaan sprint. Setiap sprint dimulai sebagai berikut: Software developer, engineer, dan product owner mendiskusikan product backlog item (PBI) mana yang harus disertakan dalam sprint. Pemilik produk bertanggung jawab untuk memprioritaskan PBI untuk layar tertentu. Namun, kami juga didorong untuk membagikan pendapat, pemikiran, dan kekhawatiran kami tentang keputusan tersebut, dan itu bagus. Pada akhirnya, kami menyetujui tujuan sprint dan backlog yang realistis.
- Scrum harian mencakup pertemuan harian, yang berlangsung selama 15 hingga 30 menit saat kami check in, membagikan kemajuan kami, dan meninjau aktivitas kami untuk hari itu.
- Kami melanjutkan tinjauan sprint: di akhir setiap sprint, kami mengadakan pertemuan online dengan tim manajemen dan menunjukkan pekerjaan akhir kami. Tim manajemen menelusuri fitur kerja yang diterapkan selama sprint dan memberikan umpan balik. Umpan balik dimasukkan ke dalam simpanan produk, membantu kami memprioritaskan dengan lebih baik selama sprint mendatang.
- Langkah terakhir adalah sprint retrospective. Inilah saatnya tim Scrum meninjau hal-hal yang harus kami tingkatkan dan menawarkan metode perbaikan untuk masa mendatang. Kami berkolaborasi dan merencanakan langkah selanjutnya sesuai dengan itu.
Meskipun Anda menyukai metodologi Scrum, apakah ada kekurangan dalam proyek Anda yang ingin Anda perbaiki?
Sejujurnya, terkadang saya merasa bahwa kita membuang-buang waktu. Saya suka berbicara dan memastikan bahwa semua anggota tim berada di jalur yang sama. Ini, tentu saja, adalah kunci kesuksesan. Namun, terkadang beberapa panggilan atau obrolan tidak diperlukan, dan kita mungkin menghabiskan lebih banyak waktu untuk membahas suatu masalah daripada benar-benar mengerjakan proyek.
Bagaimana rasanya bekerja dengan orang asing? Apakah ada perbedaan budaya?
Tentu pengalamannya sangat berbeda, dan itu wajar. Kita hidup di lingkungan yang berbeda dan memiliki kebiasaan, pola pikir, dan mentalitas yang berbeda. Kami terkadang tidak mendapatkan lelucon satu sama lain. Namun, ini bukan masalah besar dan tidak mengganggu proses kerja kami. Memang, ini masalah waktu. Semakin lama kita bekerja sama, semakin baik kita memahami budaya lokal satu sama lain. Bagaimanapun, dengan semua perbedaan ini, saya tetap senang bekerja dengan para profesional dari negara lain. Ini membuat pekerjaan menjadi lebih menarik.
Seberapa penting manajemen proyek yang baik untuk pengembang perangkat lunak?
Manajemen proyek sangat penting. Sebuah proyek kemungkinan akan gagal 90% dari waktu jika tidak ada komunikasi yang transparan antara klien dan anggota tim. Pemahaman yang kuat tentang tanggung jawab adalah suatu keharusan untuk keberhasilan proyek.
Saya telah mengerjakan proyek yang memiliki dan belum memiliki manajer proyek. Dalam kasus pertama, saya berkomunikasi dengan lancar dan mudah dengan sesama insinyur dan pengembang perangkat lunak. Tim teknologi terkadang mengalami kesulitan berkomunikasi dengan anggota tim non-teknis, tetapi itu masalah waktu. Ini juga tergantung pada pengalaman pengembang perangkat lunak yang bekerja dengan orang non-teknis. Jika pengembang perangkat lunak terampil dalam bekerja dengan anggota staf non-teknis dan memahami logika mereka, komunikasi menjadi sederhana dan memakan waktu lebih sedikit. Jika tidak, mereka mungkin membutuhkan waktu sebentar tetapi sekali lagi mereka akan kembali ke jalurnya. Proyek kecil dan sederhana bahkan tidak membutuhkan manajer proyek. Namun, saya tidak akan meremehkan peran manajer proyek dalam proyek kecil. Tentu saja, mereka mengelola kerja sama dengan cara yang lebih profesional dan bermanfaat.
Bahasa atau tumpukan teknologi mana yang ingin Anda pelajari di masa mendatang?
Saat ini saya sedang menjelajahi Unity. Ini adalah mesin game lintas platform. Ini sangat populer, dan Anda mungkin sudah mengetahuinya. Unity mendukung berbagai platform seluler, konsol, desktop, dan realitas virtual. Ini sebagian besar digunakan untuk pengembangan game iOS dan Android dan sangat populer untuk pengembangan game indie (video game independen).
Salah satu keuntungan utama penerbitan indie adalah tersedia untuk banyak orang. Misalnya, pengembang dan insinyur perangkat lunak individu atau tim pengembangan perangkat lunak kecil dapat membuat game mereka sendiri tanpa dukungan teknis dan keuangan dari penerbit game besar. Saya bermain-main dengan mesin Unity untuk membuat game 3D dan 2D, simulasi interaktif, dan hal menarik lainnya.
CodeRiders adalah ruang kerja pertama dan satu-satunya Anda. Ini tidak sering terjadi. Mengapa demikian?
Saya tidak memiliki ruang kerja sebelumnya untuk dibandingkan dengan CodeRiders, dan saya tidak pernah berpikir untuk meninggalkannya. Ini sudah berarti bahwa ini adalah ruang kerja yang unik. Saya telah menyaksikan pertumbuhan perusahaan ini dari startup kecil menjadi vendor perangkat lunak mapan yang diakui secara internasional. Saya percaya dan menghargai kolega saya karena kita bertanggung jawab atas reputasi tinggi perusahaan. Saya percaya pada perusahaan pengembangan perangkat lunak CodeRiders dan visinya. Saya juga memiliki anggota keluarga dan sebagian besar teman dekat saya di antara staf, jadi menurut saya ketiganya membuat ringkasan yang solid untuk pertanyaan ini.
Mari akhiri wawancara ini dengan beberapa informasi tentang Artur sebagai individu. Hobi dan minat Anda?
Yah, saya menikmati olahraga, khususnya sepak bola. Saya juga senang bermain video game.
Terima kasih, Artur, telah meluangkan waktu untuk berbicara dengan kami. Saya pikir Anda berbagi banyak informasi berguna dengan audiens kami.
Jika Anda membutuhkan pengembang dan insinyur perangkat lunak berbakat seperti Artur, jangan ragu untuk mengirimkan pesan singkat kepada kami di sini. Kami juga terbuka untuk diskusi gratis. Tinggalkan pesan Anda dan salah satu anggota tim pengembangan bisnis kami akan menghubungi Anda kembali dalam satu hari kerja.