Kumpulan insight tentang poin masalah utama developer, yang dikumpulkan dari sejumlah percakapan pribadi.
Beberapa bulan yang lalu, Paul Kinlan memposting tentang poin masalah developer teratas pada tahun 2021, jadi rasanya tepat untuk memulai artikel ini dengan update tentang 2 kuartal terakhir. Angkanya sedikit berubah, tetapi peringkatnya tidak berubah.
| Tantangan | Kuartal 1 2021 | Kuartal 2 2021 | Kuartal 3 2021 | K4 2021 |
|---|---|---|---|---|
| Mengikuti perubahan pada platform web atau standar web. | 27% | 26% | 27% | 22% |
| Mengikuti perkembangan sejumlah besar alat atau framework baru dan yang sudah ada. | 26% | 26% | 25% | 21% |
| Membuat desain atau pengalaman berfungsi sama di berbagai browser. | 26% | 28% | 24% | 21% |
| Pengujian di berbagai browser. | 23% | 24% | 20% | 20% |
| Memahami dan menerapkan langkah-langkah keamanan. | 23% | 25% | 20% | 19% |
Seperti yang disebutkan dalam postingan blog Paul, kita perlu mengatasi masalah ini. Sebagai bagian dari upaya yang lebih besar untuk melakukannya, rekan saya Kadir Topal dan saya telah mewawancarai lebih dari 18 developer. Tujuan kami adalah menyelidiki dan mulai memahami jalur untuk memperbaiki poin masalah utama developer.
Diskusi developer
Pernyataan penyangkalan: insight tersebut didasarkan pada sejumlah kecil percakapan dengan developer. Saat menggunakan "semua" atau "beberapa", ini mengacu pada developer yang diwawancarai, bukan seluruh komunitas. Penelitian lebih lanjut diperlukan untuk mengekstrapolasi insight tersebut secara lebih luas.
Percakapan ini menjadi pengingat yang bagus tentang betapa luar biasa dan beragamnya komunitas developer web, dan kami ingin berterima kasih kepada semua developer yang telah berbicara dengan kami. Beberapa developer memiliki pengalaman lebih dari 25 tahun, sementara yang lain baru memulai pada tahun 2020. Beberapa developer memulai karier mereka melalui gelar ilmu komputer formal, sementara yang lain memulai karier mereka secara mandiri. Beberapa developer secara aktif mencari hal baru dan terus mengikuti perkembangan dengan membaca catatan rilis browser, sementara yang lain mempelajari hal baru melalui kolega dan teman. Beberapa orang menganggap kompleksitas sebagai bagian dari pekerjaan dan menikmati tantangan, sementara yang lain hanya ingin menyelesaikan pekerjaan mereka. Saat memikirkan cara mengatasi poin masalah tersebut, penting untuk mengingat keberagaman ini.
Salah satu hal yang umum di antara semua developer adalah bahwa mereka semua menggunakan CMS atau framework untuk melakukan pekerjaan mereka. Wordpress, React, Bootstrap, Angular, dan Tailwind semuanya disebutkan, tidak ada developer yang menggunakan platform web vanilla dalam produksi. Memilih framework saat memulai project merupakan tantangan, dan developer sering kali mempertimbangkan persyaratan non-teknis. Misalnya, apakah akan mudah untuk mempekerjakan developer yang akan menggunakan framework tersebut. Kita tidak dapat memperbaiki poin masalah developer jika framework dan CMS tidak disertakan dalam solusi.
Terkait platform web, sebagian besar developer memahami platform sebagai hal yang mereka kembangkan. Hal ini tidak hanya mencakup definisi klasik platform web, tetapi juga CMS, framework, alat, dan polyfill. Dalam banyak kasus, mengikuti perkembangan tersebut adalah hal yang paling sulit. Hal ini mengubah interpretasi kami terhadap pertanyaan tersebut, dan kami sekarang tahu bahwa kami perlu memperbarui survei untuk membaginya menjadi beberapa bagian yang tidak terlalu ambigu.
Area ambiguitas lainnya adalah definisi standar web. Saat ditanya tentang contoh seputar mengikuti standar, banyak developer justru menunjukkan kesulitan dalam mengikuti praktik terbaik. Ini adalah area lain yang perlu kita klarifikasi dalam survei.
Developer mencari praktik terbaik saat menerapkan kasus penggunaan dan pola tertentu. Postingan blog dan StackOverflow disebutkan sebagai sumber praktik terbaik, tetapi developer sering kali bertanya-tanya apakah informasi yang mereka baca memang merupakan praktik terbaik dan apakah informasi tersebut sudah yang terbaru dengan fitur dan API terbaru. Mereka menginginkan sumber yang lebih resmi untuk membaca informasi tersebut.
Mengikuti perkembangan fitur dan API yang memungkinkan kasus penggunaan baru adalah masalah yang lebih kecil. Developer lebih kesulitan dengan fitur, API, dan perubahan pada platform yang mengakibatkan perubahan pada praktik terbaik.
Sebagian besar developer setuju bahwa kompatibilitas adalah salah satu tantangan terbesar. Hal ini mulai membaik melalui upaya seperti Compat 2021 dan Interop 2022, tetapi jelas bahwa developer belum melihatnya sebagai masalah yang terselesaikan.
Sebagian besar developer menggunakan polyfill dengan satu atau lain cara. Namun, dalam banyak kasus, penggunaan polyfill bersifat transparan bagi developer, karena polyfill dapat ditambahkan secara otomatis oleh alat seperti Babel atau framework. Bagi mereka yang mengelola polyfill sendiri, mencari tahu apakah polyfill "baik" dapat menjadi masalah. Developer menyebutkan penggunaan jumlah penginstalan di NPM dan kreator polyfill sebagai sinyal. Beberapa developer menyebutkan bahwa mereka berupaya menghapus polyfill yang tidak lagi diperlukan karena penghentian dukungan untuk IE 11.
Framework menimbulkan masalah fragmentasi. Kami mendengar laporan bahwa developer "terjebak" dalam versi framework yang lebih lama, dan akibatnya, fitur yang dapat mereka gunakan menjadi terbatas. Namun, bermigrasi ke versi yang lebih baru dari framework yang sama bisa jadi mahal dan sulit untuk dijustifikasi.
Kesimpulan
Pengembangan web modern memiliki banyak bagian yang terus berubah, termasuk standar, browser, library, polyfill, CMS, framework, praktik terbaik, dan alat. Keberagaman ini adalah salah satu hal hebat tentang web, tetapi saat ini, setiap developer harus memahami setiap bagian dan cara bagian-bagian tersebut kompatibel satu sama lain.
Saya bertanya-tanya apakah ada cara untuk memberikan kejelasan lebih lanjut kepada developer tentang bagaimana semuanya saling terkait dan lebih selaras antara semua bagian, tanpa mengorbankan keberagaman. Ini adalah masalah yang besar dan kompleks, serta sulit untuk dilakukan sekaligus. Tapi, harus mulai dari mana?
Jika Anda memiliki pandangan dan pendapat yang ingin Anda sampaikan. Saya juga ingin berbicara dengan Anda. Saya akan menyiapkan cara untuk memesan percakapan secara langsung, tetapi untuk sementara, DM saya terbuka di Twitter. Hubungi kami dan kita bisa mengobrol.