Semuanya ada dalam detailnya

Seiring pertumbuhan saya sebagai pengembang, saya mulai melihat pemrograman lebih dari yang sebenarnya. Di permukaan, pemrograman dapat dilihat sebagai keterampilan teknis yang berfungsi sebagai utilitas untuk membuat program dan perangkat lunak untuk menyelesaikan masalah di dunia nyata. Tapi sejujurnya, ini lebih dari itu. Pemrograman adalah suatu bentuk seni. Begitu pula dengan seni, produk akhir dari seluruh kode yang ditulis tidak hanya berfungsi untuk mengubah kehidupan penonton yang disuguhkan program tersebut, tetapi juga kehidupan penciptanya dengan cara yang tidak terduga.

Saat merenungkan beberapa tahun yang saya habiskan sebagai pengembang, saya menyadari bahwa saya tidak lagi mengikuti pola pikir yang sama seperti dulu. Saya mendekati masalah secara berbeda. Saya merespons kegagalan secara berbeda. Saya berpikir jauh berbeda. Saya memandang dunia secara berbeda. Praktek pemrograman yang konsisten tidak hanya meningkatkan keterampilan teknis saya, tetapi juga mengajari saya banyak hal tentang kehidupan.

Berikut adalah pelajaran yang saya pelajari dari pemrograman.

Bagaimana Berpikir

Sebelum saya memulai pemrograman, saya melihat dunia dengan tingkat pemahaman yang relatif dangkal. Saya tidak melihat lebih dalam tentang keadaan sebenarnya. Saya tidak membaca buku. Saya tidak penasaran.

Saat melihat sebuah program, Anda dapat memecah semuanya menjadi komponen-komponen yang lebih kecil hingga yang Anda miliki hanyalah kelas, fungsi, dan variabel. Kami dapat melihat dengan sangat transparan apa sebenarnya yang memungkinkan program ini berfungsi sebagaimana mestinya. Apa sebenarnya yang diceritakan di sini tentang bagaimana dunia berfungsi? Bagaimana dunia ini terstruktur?

Semuanya bisa didekonstruksi

Setiap hal dapat didekonstruksi menjadi komponen dasarnya. Atom dan isotop. Bahan penyusun realitas dan dunia material. Seperti kode yang digunakan untuk membangun alam semesta indah yang dapat kita alami dalam video game, segala sesuatu di alam semesta kita berfungsi persis seperti yang dimungkinkan oleh kode biologis, kimia, dan fisika alam semesta kita.

Saya mulai merasakan rasa ingin tahu tentang dunia di sekitar saya, menyebabkan saya melihat lebih dekat pada detail-detail kecil di sekitar saya. Saya mulai memahami dunia dengan cara yang lebih menakjubkan. Saya dapat melihat sehelai daun sederhana dan membayangkan bagaimana kompleksitas proses alam perlahan-lahan membawa daun ini ke keadaan seperti yang saya lihat pada saat itu.

Hal ini menyadarkan saya bahwa dunia adalah produk dari proses dan sistem langkah demi langkah dengan cara yang sama seperti kita membangun sebuah program variabel demi variabel, fungsi demi fungsi, kelas demi kelas, dan komponen demi komponen hingga akhirnya kita menciptakan suatu kesatuan yang kohesif. aplikasi lengkap dan fungsional. Sesuatu yang benar-benar tercipta dari ketiadaan. Sebuah program yang mengikuti aturan dan hukum yang kami tetapkan untuk itu.

Mengapa berpikir seperti ini penting

Ketika saya mulai berpikir seperti ini, saya menyadari bahwa tidak ada sesuatu pun dalam hidup kita yang dapat dicapai tanpa memecah tujuan kita menjadi proses-proses tertentu. Semuanya membutuhkan langkah dan pertumbuhan tambahan. Jarang sekali sesuatu dapat dicapai dalam satu kali kejadian. Baik itu bisnis, hobi baru, keterampilan baru, atau apa pun tujuan Anda, semua itu membutuhkan waktu dan kesabaran.

Menanggapi Kegagalan

Sebagai programmer, kita harus menghadapi banyak sekali kegagalan setiap hari. Beberapa dari Anda mungkin familiar dengan Aturan 90-90 dalam rekayasa perangkat lunak. Jika tidak, hal ini dijelaskan dengan indah oleh Tom Cargill dari Bell Labs:

“90 persen pertama dari kode tersebut mencakup 90 persen pertama waktu pengembangan. 10 persen sisanya dari kode tersebut mencakup 90 persen waktu pengembangan lainnya.”

Pada dasarnya, sebagian besar waktu yang dihabiskan untuk menulis kode sebenarnya dihabiskan untuk melakukan debug. Mengingat fakta ini, penting untuk dipahami bahwa tidak semuanya berhasil pada percobaan pertama kita. Debugging adalah tentang memahami kegagalan kita, mencari tahu apa yang menyebabkan kegagalan tersebut, dan kemudian membuat penyesuaian yang tepat untuk mengatasi kegagalan tersebut. Cuci, bilas, dan ulangi. Yang penting kita tidak berhenti sampai kode yang kita tulis berjalan sesuai keinginan kita.

Trial and error pada akhirnya membawa kesuksesan

Bayangkan jika setiap kali kita menemui error atau bug pada suatu program, kita menyerah begitu saja. Tidak ada yang bisa dicapai. Tidak ada yang akan tercipta. Jika ada sesuatu yang ingin dicapai di dunia ini, kita harus mengatasi kegagalan yang ada di hadapan kita. Jika ada sesuatu yang diajarkan debugging kepada saya, itu adalah ini.

Kegagalan bisa membuat frustasi. Itu bisa membuat kita merasa tidak bergerak maju. Itu bisa membuat kita merasa belum cukup tahu. Tapi itulah intinya. Kegagalan harus menginspirasi kita untuk belajar lebih banyak, memikirkan pendekatan berbeda yang bisa kita ambil, dan mengadopsi perspektif berbeda. Hal ini memungkinkan kita untuk memahami masalah kita hingga kita tidak akan mengalaminya lagi. Trial and error pada akhirnya mendorong kita menuju kemajuan dan menjadi manusia yang lebih baik. Jadi jangan takut untuk bereksperimen dan berani dalam mengambil keputusan.

Saya tahu bahwa di masa lalu ketika saya tidak berhasil pada awalnya, saya tidak akan membiarkan hal-hal tersebut memperlambat saya. Saya akan terus mencoba dan mencoba sampai saya mendapatkan persentase kesalahan yang sedikit rendah dalam kinerja aktivitas itu. Hal itulah yang memungkinkan saya menjadi atlet Divisi 1. Hal inilah yang memungkinkan saya mendapat pengakuan rutin atas kinerja saya di perusahaan saya saat ini. Hal itulah yang membuat saya dapat memancarkan nilai sebanyak-banyaknya kepada orang-orang di sekitar saya. Jadi saran saya adalah jangan pernah berhenti. Teruslah berusaha dan gigih. Belajar dari kesalahanmu. Dan gunakan alasan Anda memulai untuk terus mendorong Anda maju.

Pikiran Terakhir

Ada banyak hal yang dapat kita pelajari dari tindakan sederhana yang kita lakukan dan pekerjaan yang kita lakukan sehari-hari. Anda hanya perlu melihat lebih dekat dan memperhatikan apa yang Anda peroleh dari apa yang ada di depan Anda dan bagaimana tepatnya hal ini membentuk Anda sebagai pribadi. Ini akan memungkinkan Anda melihat lebih banyak nilai dan tujuan dalam pekerjaan Anda.

Pemrograman telah mengajarkan saya lebih dari sekedar dua hal ini, namun kemampuan kita untuk mengatasi kegagalan dan kemampuan kita untuk berpikir secara berbeda adalah dua kekuatan super yang saya percaya dapat dimanfaatkan oleh semua orang.