Apakah Anda memperhatikan dengan kolega internasional Anda (dari negara mana saja) bahwa gaya pengkodean dan penyelesaian masalah sejalan dengan bahasa ibu?
Benar. Ini fakta yang sulit. Namun rantai sebab-akibat lebih kompleks.
Wilayah, ekosistemnya, kondisi cuaca, kehidupan tanaman dan hewan telah mempengaruhi perkembangan agama budaya lokal yang menjadi bagian darinya.
Budaya dan agama telah memengaruhi pembentukan dan pengembangan bahasa lokal.
Budaya dan bahasa telah meninggalkan bekas pada model masyarakat untuk kelompok etnis tertentu ini.
Model masyarakat telah mendefinisikan model perilaku - gaya hidup, sikap kerja, hubungan sosial, prioritas dan nilai-nilai individu. Itu bagian yang kita inginkan.
Orang-orang dari budaya yang berbeda akan mendekati penyelesaian masalah dengan bagasi warisan budaya mereka - bagaimana mereka memikirkannya, sikap apa yang mereka bawa ke pekerjaan, metodologi dan pola pemecahan masalah apa yang akan mereka terapkan, prioritas dan nilai apa yang mereka tetapkan.
Berbicara tentang contoh, saya dapat memberi Anda dua. Jika kita membawa Jerman ke tempat saya tinggal saat ini, ada beberapa pola yang saya amati.
Merencanakan segalanya di muka dan untuk jangka panjang adalah cara hidup. Pertemuan malam dengan teman dapat direncanakan beberapa minggu dan bulan sebelumnya. Orang-orang muda sudah peduli dengan pensiun mereka (asuransi dll). Ayunan mood, improvisasi, kemauan dan kemampuan untuk menyesuaikan saat Anda pergi sangat rendah. Secara alami dipindahkan ke cara kerja. Perencanaan dan ketertiban memainkan peran besar. Menjadi gesit dianggap sebagai karakteristik yang luar biasa untuk menggambarkan orang / tim modern dengan pemikiran progresif. Namun sebagian besar proses lincah yang saya amati di tim-tim Jerman tampaknya lebih seperti eksekusi mesin dari langkah-langkah yang telah ditentukan (bahkan jika orang benar-benar mencoba untuk menjadi gesit), tetapi tidak ada semangat lincah seperti itu.
Prediktabilitas segala sesuatu adalah norma kehidupan. Orang terbiasa mengetahui apa yang akan terjadi, di mana dan kapan. Itu membentang dari kehidupan sehari-hari di atas gaya kerja hingga hubungan pribadi. Anda bisa melihatnya misalnya ketika orang menyeberang jalan. Mereka menunggu lampu hijau dan mulai bergerak tanpa melihat apakah mobil benar-benar berhenti - karena mereka mengharapkannya. Orang-orang bangga dengan kemampuannya untuk mengendalikan setiap aspek kehidupan mereka. Namun ketika kehidupan kembali dengan sesuatu yang tidak terduga, ketika hal-hal di luar kendali, orang-orang menjadi takut. Jika ditransfer ke pemrograman saya telah melihat bahwa pengkodean dilakukan agak optimis, tidak ada obsesidengan memeriksa input, kunci asing untuk memverifikasi integritas data dan sebagainya. Juga tidak ada rekayasa ekstra untuk menjaga kode sampai batas tertentu tahan terhadap kegagalan dan beradaptasi dengan perubahan masa depan tertentu, hanya untuk memenuhi harapan hari ini (yang tidak mungkin berubah menurut keyakinan mereka).
Menyimpan uang dan mengoptimalkan pengeluaran mereka sangat penting dalam budaya. Itu tercermin pada artefak kerja. Karakteristik dan kualitas cocok dengan perencanaan tetapi tidak tiba-tiba melebihi mereka (untuk membuatnya lebih dingin atau hanya "dalam kasus"). Sisi lain dari permainan adalah keengganan untuk berinvestasi ke dalam perangkat keras dan lunak modern, untuk merekayasa ulang kode kerja, untuk refactor, untuk membuat segalanya lebih baik hanya untuk tetap sejalan dengan keadaan saat ini, untuk mempersiapkan masa depan. Karena tidak ada kemenangan langsung dan tidak ada yang membayar untuk perubahan, tidak ada yang benar-benar akan bergerak.
Kewirausahaan dan kreativitas agak rendah dalam budaya. Keengganan untuk mengambil risiko pada akun mereka sendiri adalah tinggi. Hasil kerja jarang mengandung cetakan yang tidak biasa, tidak terduga, kreatif. Orang-orang cenderung mengikuti jalan yang dilalui, sedikit eksperimen atau pengaturan yang tidak biasa "karena penasaran". Orang tidak suka mengambil inisiatif ke tangan mereka sendiri terutama ketika dipasangkan dengan tanggung jawab. Saya juga mendengar orang Jerman mendarat di Belanda terkadang mengalami kesulitan karena orang-orang di sana terbiasa bekerja secara mandiri tanpa bimbingan yang ketat. Pemrograman-bijaksana itu berarti sedikit percobaan dengan bahasa baru, alat atau perpustakaan, versi baru tidak diadopsi karena takut akan perubahan. Orang-orang mengambil pola desain dan menerapkannya secara membabi buta karena mereka diajarkan demikian di universitas dan tidak mempertanyakan penerapannya.
Berfungsi melebihi mode. Itu terlihat dalam kehidupan sehari-hari. Gaya urban umum, desain bangunan, dekorasi jalan, semuanya turun ke minimum yang diperlukan untuk berfungsi, tetapi biasanya tidak ada yang hanya untuk gaya, keindahan. Pemrograman-bijaksana itu terlihat pada kurangnya desain UI yang indah. Sebagian besar situs perusahaan dan pribadi agak kuno dan membosankan. Anda juga tidak dapat membujuk bos dan kolega untuk melakukan pemolesan karena mereka tidak melihat manfaat nyata.
Kompleksitas dan birokrasi adalah bagian dari gaya hidup. Orang mengambilnya lebih jauh dan melamar ke mana-mana. Hubungan pribadi. detail pekerjaan, keputusan, dan solusi sering menghasilkan banyak artefak untuk mendokumentasikan apa yang telah dilakukan. Kode pemrograman sering kali muncul dengan elemen yang tidak perlu, level abstraksi dan komposisi karena tampaknya bagi orang-orang lebih serius seperti itu. Prinsip KISS tidak terlalu populer.
"Menyelamatkan wajah" tampaknya sangat penting, untuk terlihat sukses, tidak menunjukkan tanda-tanda kelemahan atau kegagalan kepada orang lain (jika Anda memilikinya, hampir pasti akan digunakan untuk melawan Anda). Dalam praktik kerja mengakui kegagalan itu agak sulit, orang melakukan segalanya untuk tidak "kehilangan muka". Menerima kritik juga sulit. Mengkritik seseorang (dengan alasan baik atau tidak) adalah cara yang pasti untuk membuat musuh. Mengatakan apa yang ada dalam pikiran tidak dipraktikkan yang membuatnya agak sulit untuk memahami siapa yang berdiri di mana.
Intinya adalah, pelaksana yang baik, perencanaan dan penjadwalan top, presisi baik. Namun, inovasi dan kreativitas tidak diharapkan.
Contoh kedua berkaitan dengan budaya Rusia tempat saya berasal. Sangat berbeda.
Jadwal dan perencanaan tampaknya tidak memiliki nilai tertentu. Penyimpangan kecil tidak menjadi perhatian orang kecuali / sampai mulai mengancam hasil yang lebih besar. Orang tidak suka hidup sesuai rencana, lebih suka kebebasan mental, melakukan apa pun yang mereka suka dan ketika mereka ingin melakukannya. Dari segi pemrograman, mereka mungkin mengabaikan "tidak penting" seperti menulis dokumentasi dan mengerjakan tugas. Orang lebih mudah datang dan pergi, jika mereka bosan dengan proyek, tidak menyukai atmosfer, dan sebagainya. Komitmen jangka panjang per-kehidupan tidak diharapkan, orang tidak ingin terikat, jangan berharap mereka datang sekali dan tinggal sampai pensiun. Ini terlihat bagus di pasar ponsel. Sementara di Eropa / AS di mana-mana memiliki kontrak selama 2 tahun, di Rusia hal ini tidak dilakukan. Orang tidak
Orang-orang tidak menyukai birokrasi dan lebih suka hubungan informal. Sedikit atau tidak ada pekerjaan kertas, sesedikit mungkin diskusi dan pertemuan, cukup lakukan pekerjaan itu. Kompleksitas dalam kode tidak disukai, keputusan sederhana dan cara langsung lebih disukai. Rutinitas yang membosankan tidak disukai. Beberapa tugas "tidak penting" seperti berkomentar dan dokumentasi mungkin diabaikan. Orang mungkin menunda hal-hal membosankan tertentu dan melakukan hal-hal yang lebih menarik atau melakukan bagian membosankan dengan cara yang tidak terduga yang akan membuat mereka tetap termotivasi.
Biaya tidak terlalu penting. Orang suka mendapatkan sesuatu yang lebih baru, lebih dingin, lebih menarik dan lebih modern begitu saja, tanpa kasus bisnis. Jika memberikan kepuasan, mereka biasanya tidak akan resah tentang biaya tambahan yang dikeluarkan.
Orang-orang sangat antusias dengan segalanya. Makanan, musik, pakaian, artefak, dan ide dari berbagai negara dan budaya melewati pintu terbuka. Orang-orang yang mengerti pemrograman akan bereksperimen dengan bahasa, alat, atau perpustakaan baru, karena penasaran, dengan kasus bisnis atau tanpa. Berbagai filosofi dan metodologi, semuanya dengan senang hati diambil, disentuh, digigit, dicoba dan dicampur bersama dalam cara yang funky.
Kecantikan dan gaya sangat penting. Orang akan menghabiskan waktu dan uang ekstra untuk sesuatu yang tidak memiliki manfaat nyata tetapi hanya memuaskan rasa artistik. Seringkali mereka lebih suka sesuatu yang gaya daripada sesuatu yang lebih fungsional. Desain UI yang indah sangat dihargai. Orang-orang yang mengerti pemrograman akan merekayasa ulang kode yang tampak kikuk dan tidak terstruktur hanya untuk menambah gaya padanya, bahkan jika itu berfungsi dengan baik sebelumnya, menghasilkan waktu ekstra yang dihabiskan.
Resep dan aturan sering diabaikan dan bahkan dihina, orang mungkin melakukan sesuatu yang sama sekali berbeda jika mereka diyakinkan itu akan menjadi lebih baik (atau lebih dingin - tidak bisa menolak itu). Banyak keputusan dari atas akan dipertanyakan dan diperdebatkan. Dan ya, semua orang memiliki pendapat yang kuat tentang segalanya.
Prediktabilitas kehidupan cukup rendah sehingga orang selalu merencanakan segala kemungkinan. Hal yang sama sering tercermin dalam kode, sikap yang agak pesimistis, dengan cek ganda dan rencana mundur. Arsitektur mungkin mencerminkan kesiapan terhadap perubahan yang mungkin terjadi di masa depan, tetapi bukan arsitektur-seperti astronot. Agile bukan metodologi modern tetapi cara hidup. Orang juga terbiasa dengan perubahan dan tidak mencoba mengendalikan setiap aspek kehidupan mereka. Ketika sesuatu yang tidak terduga terjadi, orang hanya mengangguk, mengatakan "akan lebih baik lain kali" dan melanjutkan tanpa menjadi mental, mulai minum, narkoba dll. Kegagalan proyek tidak mengakibatkan bunuh diri, diambil dengan mudah.
Kebenaran politik rendah sehingga orang mungkin hanya mengatakan apa yang mereka pikirkan di depan ketika Anda tidak mengharapkannya. Dipersiapkan.
Intinya yang berbeda adalah, mengharapkan yang tidak terduga, sesuatu yang tidak biasa dan kreatif tetapi tidak mengharapkan presisi alat berat, menjadwalkan dan mengikuti aturan.
Mana yang lebih baik tidak bisa dijawab dengan mudah. Satu jenis pekerjaan lebih baik dicakup oleh satu kategori pekerja, yang lain oleh yang berbeda. Buruk jika orang ditugaskan tugas yang salah untuk mentalitas mereka. Saya kira itu adalah tantangan bagi manajer tim internasional untuk mengenali masalah itu. Saya tidak yakin itu pernah dibahas dengan aplikasi ke industri TI.