Mentalitas Software Engineer
Pendahuluan
Setiap profesi sebenarnya membutuhkan Skill/Keterampilan dan Pengetahuan yang harus memadai agar bisa melakukan tindakan dengan tepat dan efektif.
Dengan Skill/Keterampilan dan Pengetahuan seseorang itu, maka dia bisa menyelesaikan permasalahan yang terkait dengan profesinya itu.
Katakanlah seorang Dokter.
Seorang Dokter butuh Skill/Keterampilan untuk bisa mengoperasikan alat-alat kedokteran ketika melakukan tindakan terhadap pasiennya.
Dan tentu saja butuh Pengetahuan ketika melakukan analisa dan tindakan terhadap penyakit pasiennya.
Hal yang sudah sewajarnya dan seharusnya.
Selain berbicara mengenai Skill dan Pengetahuan yang mestinya melekat kepada setiap profesional, ada komponen lain yang juga mesti mendapat perhatian.
Yaitu :
Mentalitas
Yup .. Mentalitas atau cara pandang atau cara bersikap
Mentality is a habitual or characteristic mental attitude that determines how you will interpret and respond to situations
from Vocabulary
Terjemahan bebas :
Mentalitas adalah kebiasaan atau karakteristik yang akan menentukan sikap, respon, dan interpretasi kita terhadap sebuah situasi.
dari Vocabulary
Yaa.. , termasuk didalamnya :
- memandang sebuah peristiwa.
- melakukan response atau tindakan terhadap sebuah peristiwa.
- keberanian untuk membuat keputusan.
- dll.
Mentalitas memang menjadi topik yang terpisah dari topik dan Skill dan Pengetahuan.
Dan jarang yang memasukkan nya ke dalam silabus kuliah atau kurikulum pembelajaran.
Paling hanya dimasukkan sebagai bagian terpisah dari profesi yang dijalani.
Kalaupun kita melihat di dunia IT, maka mungkin akan ditemukan misalnya di :
- Mata kuliah “Interaksi Manusia dan Komputer”
- Mata kuliah “Sistem Informasi”
- Mata kuliah “Bisnis dan Project Management”
Ataupun kalau ada di dunia kerja, maka akan kita temukan pengalaman dan sharing mentalitas di sesi-sesi Agile misalnya di sesi Sprint Retrospective.
Tetapi hal-hal tersebut bersifat Parsial yang hanya bisa kita dapatkan dengan pengalaman.
Semestinya hal-hal tersebut mendasari cara berpikir dan bersikap yang cocok sesuai dengan profesi yang kita jalani.
Contohnya bagaimana sih ?
Misalnya kita contohkan seorang Dokter.
Ketika dihadapkan kepada sebuah persoalan penyakit pasien, maka Mentalitas adalah sikap dan response dasar apa yang seharusnya dipunyai seorang dokter.
Kembali lagi ke poin diatas, mengenai Mentalitas yang bisa mengenai sikap atau response terhadap :
- memandang sebuah peristiwa.
- melakukan response atau tindakan terhadap sebuah peristiwa.
- keberanian untuk membuat keputusan.
- dll.
Begitupun kalau Dokter menangani pasien :
- apakah Dokter melakukan perbedaan layanan untuk pasien yang berbeda pembayaran, misalnya dengan Bpjs, Umum, atau Asuransi.
- apakah Dokter mau melakukan by-pass prosedur yang seharusnya, dan langsung saja ke tindakan tertentu.
- apakah Dokter meresepkan obat Generic atau obat Paten berdasarkan keinginan dan sponsor tertentu.
- apakah Dokter mau menerangkan dengan jelas mengenai analisa penyakit dan penanganannya ?
- apakah Dokter punya waktu yang cukup untuk setiap pasien tanpa terkesan terburu-buru.?
- dll.
Hal-hal diatas yang kadang-kadang kita temui ketika bertemu dengan kasus diatas.
Bagaimana dengan Software Engineer ?
Hmm.., di dunia Software Engineering juga mempunyai kasus yang berbeda dibandingkan dengan kasus Dokter diatas.
Misalnya :
- Kalau diminta berapa lama waktu pengerjaan sebuah tugas, apakah harus saya tambahkan Buffer time dalam waktunya ?
- Kalau misalnya pekerjaan ini terlalu sulit dan tidak mungkin dilakukan, apa yang saya lakukan.?
- Saya takut kalau mengambil keputusan terhadap kasus ini, karena kalau saya gagal, maka reputasi saya akan turun.
- Saya siap sedia saja kalau disuruh mengerjakan sesuatu, terima saja tanpa perlu kritis dan bertanya lebih detil.
- Lebih didahulukan kualitas coding, atau kecepatan penyelesaian fitur ?
- Apakah saya mau dikritik mengenai code saya, menyembunyikan ketidak tahuan saya atau mau belajar hal yang baru ?
- Apakah kalau saya diskusi dengan Project Manager, CTO, dan level apapun di perusahaan, saya akan bersikap egaliter dan apa adanya ?
- Apakah saya cuma peduli dengan ilmu apa yang saya dapatkan, tanpa perlu mau berkontribusi terhadap perusahaan ?
- Seberapa percaya diri saya dalam membuat keputusan sendiri terhadap fitur yang saya kerjakan ?
- Bagaimana kalau waktu release deployment, saya mengalami kegagalan ? apa yang harus saya lakukan ?
- dll.
Banyak hal-hal lain yang juga ditemui dalam kehidupan profesi Software Engineer.
Dan hal tersebut secara langsung dan tidak langsung akan mempengaruhi kenyamanan dan mentalitas natural dari Software Engineer.
Mentalitas ini juga bukan semata-mata datang dari Internal diri sendiri, akan tetapi bisa saja sebagian besar dari lingkungan External, seperti :
- Suasana Tim.
- Lingkungan kerjaan, seperti kecepatan/pace dari tim.
- Struktur hirarki dari perusahaan.
- Cara komunikasi diantara anggota tim atau antar tim.
- dll.
Tergantung dari seberapa kuat, seberapa fleksibel, dan seberapa adaptif antara mentalitas Internal yang dipunyai oleh seseorang itu dengan mentalitas External yang misalnya dipunyai oleh Organisasi / Perusahaan tempat seorang Software Engineer.
Walaupun memang pastinya ada Mentalitas yang “sebaiknya”/“ideal” dipunyai oleh seorang Sofware Engineer, yang mestinya tidak tergoyahkan dengan mentalitas External yang diminta oleh Organisasi/Perusahaan.
Kita lanjut ke Part 2