Saya memberikan "ceramah" baru-baru ini di kelas Full Stack "Kyle Coberly" di Galvanize. Pembicaraannya benar-benar terbuka - “ceritakan pada kelas saya tentang diri Anda atau pengalaman Anda dalam dunia pengembangan perangkat lunak,” adalah satu-satunya panduan yang diberikan kepada saya.

Ternyata membicarakan diri Anda kepada sekelompok pengembang baru bermanfaat bagi Anda berdua. Bagi saya, hal ini membawa refleksi pada jalur saya sendiri sebagai seorang pengembang, sebuah topik yang belum pernah saya pertimbangkan selama ini. Saya telah mengerjakan banyak hal dalam karier saya yang [relatif] singkat, dan saya beruntung memiliki atasan yang mendorong dan mendorong perilaku tersebut. Meskipun mungkin membuat pengembang lain takut memikirkan tentang seorang insinyur firmware yang menulis aplikasi Javascript tumpukan penuh (terus terang, ini membuat saya takut), ini adalah deskripsi yang saya sukai.

Saat saya secara mental menjalani kehidupan pengembang saya, saya memikirkan tentang kemajuan saya melalui teknologi dan bahasa - Firmware C/Assembly tingkat rendah, C++ untuk komputasi berbasis server perusahaan, C# sebagai klien yang berhubungan dengan pengguna, plugin Atlassian di Java, Backbone pertama .js, lalu aplikasi web Ember.js. Rekan-rekan saya akan mencatat satu pengecualian mencolok dari daftar itu: Python.

Python tidak cocok dengan perkembangannya, karena sudah terjalin di setiap pekerjaan dan proyek saya dalam beberapa bentuk atau lainnya. Skrip satu kali, tugas pekerja tanpa kepala, integrasi berkelanjutan terdistribusi, GUI PyQt, aplikasi CherryPy dan Django, hampir semuanya ada. Itulah bahasa yang saya gunakan saat memikirkan masalah.

Konsep yang sangat kuat! Setiap pengembang memiliki “bahasa alami”. Banyak pengembang yang fasih dalam berbagai bahasa, namun menurut saya sebagian besar memiliki satu (atau mungkin dua) bahasa favorit mereka. Apa yang membuat konsep ini kuat adalah mengetahui bahasa alami pengembang dapat mengubah cara Anda berinteraksi dengannya. Ini adalah bentuk “menempatkan diri Anda pada posisi mereka” yang memungkinkan Anda mempertimbangkan bagaimana mereka akan memikirkan dan [mudah-mudahan] memecahkan masalah tertentu. Dalam peran pemimpin atau pemilik produk, Anda dapat mengukur posisi mereka dalam penemuan dan menawarkan saran atau panduan tepat waktu. Sebagai kolaborator, Anda dapat memprediksi dan meringankan permasalahan baik dalam penemuan maupun pengembangan.

Mengenali bahasa alami Anda sendiri juga memiliki manfaat yang luas. Ini memberi perspektif tentang kekuatan dan kelemahan Anda. Hal ini dapat mengungkap bias solusi Anda. Dengan sendirinya, hal ini tidak akan membuat Anda menjadi pengembang yang lebih baik, namun hal ini merupakan alat utama untuk mengetahui di mana Anda dapat melakukan perbaikan. Bagi saya, ini adalah pengamatan sederhana yang akan saya bawa lama setelahnya memberikan ceramah saya di Galvanize.

Jadi, apa bahasa alami Anda?