Pelajari lebih dalam masalah utama developer web

Kumpulan insight tentang poin masalah developer teratas, yang dikumpulkan dari sejumlah percakapan satu lawan satu.

Beberapa bulan lalu, Paul Kinlan memposting tentang masalah utama developer pada tahun 2021, jadi sebaiknya kita mulai artikel ini dengan pembaruan tentang 2 kuartal terakhir. Angkanya sedikit berubah, tetapi peringkatnya tidak berubah.

Tantangan Kuartal 1 2021 K2 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 seluruh browser. 26% 28% 24% 21%
Pengujian di seluruh 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 titik masalah ini. Sebagai bagian dari upaya yang lebih besar untuk melakukannya, saya dan rekan saya, Kadir Topal, 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. Jika menggunakan "semua" atau "beberapa", ini mengacu pada developer yang diwawancarai, bukan seluruh komunitas. Riset lebih lanjut diperlukan untuk mengekstrapolasi insight tersebut secara lebih luas.

Percakapan ini adalah 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-hal baru dan terus mengikuti perkembangan dengan membaca catatan rilis browser, sementara yang lain mempelajari hal-hal baru melalui rekan kerja dan teman. Beberapa orang menganggap kompleksitas adalah bagian dari pekerjaan dan menikmati tantangan, sementara yang lain hanya ingin menyelesaikan pekerjaan mereka. Saat memikirkan cara mengatasi masalah tersebut, penting untuk mengingat keragaman ini.

Salah satu hal yang umum di antara semua developer adalah 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 dapat menggunakan framework tersebut. Kami tidak dapat meningkatkan poin masalah developer jika framework dan CMS tidak disertakan dalam solusi.

Berbicara tentang 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, kesulitan terbesarnya adalah terus mengikuti perkembangannya. Hal ini mengubah interpretasi kami terhadap pertanyaan tersebut, dan sekarang kami 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-contoh untuk mengikuti standar, banyak developer justru menunjukkan kesulitan dalam mengikuti praktik terbaik. Ini adalah area lain yang perlu kita jelaskan 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 diperbarui dengan fitur dan API terbaru. Mereka ingin membacanya dari sumber yang lebih resmi.

Menjaga agar fitur dan API yang memungkinkan kasus penggunaan baru tetap relevan adalah masalah yang lebih kecil. Developer lebih kesulitan dengan fitur, API, dan perubahan pada platform yang mengakibatkan perubahan praktik terbaik.

Sebagian besar developer setuju bahwa kompatibilitas adalah salah satu tantangan terbesar. Keadaannya membaik melalui upaya seperti Compat 2021 dan Interop 2022, tetapi jelas bahwa developer belum menganggapnya sebagai masalah yang telah terselesaikan.

Sebagian besar developer menggunakan polyfill dengan cara tertentu. Namun, dalam banyak kasus, penggunaannya transparan bagi developer, karena polyfill dapat ditambahkan secara otomatis oleh alat seperti Babel atau framework. Bagi mereka yang mengelola polyfill sendiri, mengetahui apakah polyfill "baik" atau tidak bisa menjadi masalah. Developer menyebutkan penggunaan jumlah penginstalan di NPM dan pembuat polyfill sebagai sinyal. Beberapa developer menyebutkan bahwa mereka melakukan pekerjaan untuk menghapus polyfill yang tidak diperlukan karena penghentian dukungan untuk IE 11.

Framework menyebabkan masalah fragmentasi. Kami mendengar laporan bahwa developer "terjebak" dalam framework versi lama, dan karenanya fitur yang dapat mereka gunakan menjadi terbatas. Namun, migrasi ke framework yang sama versi lebih baru dapat berbiaya mahal dan sulit dibenarkan.

Kesimpulan

Pengembangan web modern memiliki banyak komponen yang bergerak, termasuk standar, browser, library, polyfill, CMS, framework, praktik terbaik, dan alat. Keragaman ini adalah salah satu hal hebat tentang web, tetapi saat ini, setiap developer harus memahami setiap bagian dan kompatibilitasnya satu sama lain.

Saya ingin tahu apakah ada cara untuk memberikan lebih banyak kejelasan kepada developer tentang bagaimana semuanya terikat dan lebih banyak penyelarasan di antara semua bagian, tanpa mengorbankan keberagaman. Ini adalah masalah besar dan kompleks, serta sulit dilakukan sekaligus. Namun, dari mana kita harus memulai?

Jika Anda memiliki pandangan dan pendapat yang ingin disampaikan. Saya juga ingin berbicara dengan Anda. Saya akan menyiapkan cara untuk menjadwalkan percakapan secara langsung, tetapi untuk saat ini, DM saya terbuka di Twitter. Hubungi kami dan kita dapat meluangkan waktu untuk berdiskusi.