
Anda sebenarnya bukan pengembang. Cepat atau lambat, orang akan menyadari bahwa Anda tidak mengerti apa yang Anda bicarakan. Anda tidak cukup paham.
Mungkin Anda memiliki pemikiran seperti itu, dalam satu bentuk atau lainnya. Tidak ada yang memberi tahu Anda bahwa Anda bukan pengembang, tetapi Anda terus memikirkannya. Mungkin Anda sedang berpikir begitu sekarang.
Izinkan saya memberi tahu Anda rahasia tentang perasaan ini. Siap?
Semua pengembang, pada tingkat tertentu, berpikir dan merasa seperti ini. Ini terjadi begitu sering sehingga telah menjadi jalan yang dilalui dengan baik yang kita semua ikuti.
Bahkan yang terbaik di antara kita - veteran berpengalaman dan pendatang baru yang sangat berbakat - dicengkeram oleh pengalaman tidak menyenangkan yang serupa. Kita semua salah menilai keterampilan pengembangan kita.
Lagipula, pikiran seperti itu bisa berbahaya. Mereka memaksa kita menyimpan ide untuk diri kita sendiri. Mereka memaksa orang untuk menolak berpartisipasi dalam proyek. Mereka mempersempit prospek kita dan menghancurkan potensi. Mereka menguras kekuatan dan membatasi kita. Mereka membuat kita kehilangan orang.
Hari ini kita akan berbicara tentang perasaan . Untuk apa? Karena pengembang adalah manusia, bukan mesin. Perasaan kita memengaruhi kualitas dan kenikmatan pekerjaan kita.
Artikel ini didedikasikan untuk semua orang yang setidaknya pernah merasa bahwa mereka tidak dapat melamar profesi ini. Siapapun yang tidak puas dengan keterampilan pemrograman mereka, atau menganggap diri mereka bukan pengembang yang cukup baik . Jika Anda pernah merasa tidak nyaman menyebut diri Anda sebagai "pengembang", maka artikel ini cocok untuk Anda.
Mendefinisikan pengembang
Mari kita mulai dengan definisi utama. Siap?
Pengembang adalah orang yang menulis kode.
Dan itu dia! Tidak ada Dewan Suci yang memberi Anda gelar pengembang ketika Anda mencapai level tertentu. Tidak ada yang mengirimi Anda sertifikat di atas perkamen dengan tanda tangan berukir dan stempel kertas perak. Tidak ada ujian resmi yang harus Anda lalui untuk akhirnya, Anda mendapatkan hak untuk disebut sebagai developer.
Terkadang mereka menilai apa artinya menjadi pengembang berdasarkan kriteria buatan. Hal ini disebut filtrasi (gatekeeping), dan
Jika Anda menulis kode, maka Anda adalah seorang pengembang.
Tidak masalah jika Anda menulis secara profesional atau di waktu luang. Ini dapat dilakukan di CLI, IDE, web, atau di dalam aplikasi lain. Ini bisa berupa kode sisi klien, sisi server, tertanam, berbasis cloud, lokal, jarak jauh, atau lainnya. Jika ini adalah kode, maka Anda adalah anggota klub.
Sindrom Penipu
Sindrom penipu adalah keadaan ketika Anda merasa seperti penipu: mereka berkata, Anda tidak cukup baik dan seseorang pada akhirnya akan memahami ini, atau Anda sama sekali tidak pantas berada di sini. Sebagian besar pengembang merasa seperti ini di beberapa titik. Tidak percaya padaku David Walsh telah menulis artikel yang sangat bagus tentang pengalamannya seperti ini.
Dalam industri kami, sering kali ada pakar super - orang-orang di puncak profesionalisme yang tahu segalanya dan memiliki jawaban atas segalanya. Sulit untuk tidak membandingkan diri Anda dengan mereka dan tidak merasakan kekurangan Anda. Tapi sensasi ini hanya persepsi , bukan kenyataan. Inilah ilustrasi yang bagus :

Tampaknya semua orang tahu lebih banyak daripada Anda, tetapi sebenarnya tidak. Seluruh harta karun pengetahuan disimpan di dalam diri Anda. Alih-alih menderita karena tidak mengetahui sesuatu, pikirkan apa yang dapat Anda lakukan dan bagikan dengan orang lain. Ini tidak hanya akan memperkaya mereka, tetapi juga memperkuat pemahaman Anda tentang pengetahuan apa yang Anda miliki.
Pelatihan tongkat hoki
Saat Anda pertama kali mulai membuat kode, banyak hal menjadi sangat rumit. Saat keterampilan tumbuh, itu menjadi lebih mudah. Dan pada akhirnya, Anda berhenti memikirkan kode tersebut dan mulai memikirkan masalah yang sedang diselesaikan. Ini seperti mengemudi: setelah sejumlah latihan, Anda secara tidak sadar sudah mengayuh. Seseorang menyebut keadaan ini sebagai aliran .
Tapi ini butuh waktu . Tidak ada salahnya jika bahkan setelah bertahun-tahun usaha Anda belum memasuki kondisi mengalir. Setiap bagian pengetahuan baru membawa Anda selangkah lebih dekat dengannya. Setiap kali Anda mendengar fitur bahasa baru yang sangat besar atau dokumentasi yang berat (atau hanya mempelajari jargon grok dan grep ), Anda akan semakin dekat dengan alirannya. Namun pada kenyataannya, kurva belajar lebih seperti tongkat hoki.

Ketika Anda setengah jalan, Anda jatuh ke dalam jebakan.
Menjadi pengembang tidak berarti mendaki ke puncak pengetahuan. Ini berarti naik ke puncak, menikmati pemandangan sebentar, lalu mulai mendaki ke puncak berikutnya.
Sangat normal untuk merasa Anda harus banyak belajar. Setiap orang memiliki perasaan ini . Bagi sebagian besar pengembang, perasaan ini tidak hilang sama sekali. Ini salah satu kutipan favorit saya dari John Archibald Wheeler:
Saat pulau pengetahuan kita tumbuh, begitu pula tepi ketidaktahuan kita.
Semakin banyak kita belajar, semakin kita memahami betapa lebih banyak yang perlu dipelajari.
Pola pikir pertumbuhan
Dalam bukunya yang sangat bagus, Mindset , Carol Dweck menjelaskan mengapa orang mengadopsi salah satu dari dua cara berpikir saat mereka belajar.
Gambar pertama sudah diperbaiki : seseorang percaya bahwa keterampilan atau pengetahuannya di bidang ini adalah bawaan dan tidak berubah. Bukan karena mereka tidak meningkat - mereka meningkat - tetapi orang tersebut percaya diri dengan keterbatasan kemampuannya. Dan produktivitasnya mencontohkan cara berpikirnya. Masalah dengan cara berpikir ini memanifestasikan dirinya dalam situasi sulit: orang berusaha menghindari kesulitan karena dapat mengancam citra diri mereka.
Cara berpikir yang kedua adalah pola pikir untuk berkembang. Ini menyiratkan bahwa observasi adalah keterampilan yang dapat dikembangkan. Kesulitan dianggap sebagai kesempatan untuk mempelajari hal-hal baru. Intelijen tidak statis, bersifat seluler dan berubah.
Orang dengan mindset berkembang hampir selalu mengungguli orang dengan mindset tetap dari waktu ke waktu. Ya, ada pengecualian. Tetapi jika Anda melihat situasi secara keseluruhan, keuletan biasanya mengalahkan bakat.
Tidak ada salahnya memiliki mindset tetap. Masing-masing dari kita menganut salah satu dari jenis pemikiran ini dalam kaitannya dengan situasi dan fenomena yang berbeda. Tapi kesimpulan utama dari penelitian Dweck adalah mudah untuk beralih di antara keduanya.
Triknya adalah memformat ulang sikap Anda terhadap suatu topik. Pengembangan perangkat lunak adalah suatu keterampilan, bukan kemampuan bawaan. Diperlukan kesabaran dan latihan untuk mempelajarinya.
Jadi lain kali Anda mengunyah tugas yang sulit, cobalah melihatnya sebagai peluang untuk perbaikan.
Apa gunanya?
Apa maksud semua ini? Bahwa Anda adalah seorang pengembang . Selamat datang di komunitas pengembang.
Berhenti mengevaluasi posisi Anda, Anda tidak perlu melakukannya. Karakteristik perasaan dari sindrom penipu hanyalah persepsi. Bersabarlah dengan studi Anda. Ubah cara berpikir Anda. Proses ini membutuhkan waktu dan kami semua belajar.
Dan yang paling penting: buka dan tulis kodenya .