Pelajari lebih dalam masalah utama developer web

Kumpulan insight tentang poin masalah utama developer, dikumpulkan dari sejumlah percakapan satu hingga satu.

Beberapa bulan yang lalu, Paul Kinlan memposting tentang titik masalah developer teratas pada tahun 2021, jadi rasanya tepat untuk memulai artikel ini dengan pembaruan pada 2 kuartal terakhir. Angkanya telah sedikit berubah, tetapi peringkatnya tidak berubah.

Tantangan Kuartal 1 2021 Kuartal 2 2021 Kuartal 3 2021 Kuartal 4 2021
Mengikuti perubahan pada platform web atau standar web. 27% 26% 27% 22%
Menyesuaikan dengan sejumlah besar alat atau framework baru dan yang sudah ada. 26% 26% 25% 21%
Membuat desain atau pengalaman berfungsi sama di semua browser. 26% 28% 24% 21%
Menguji 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, saya dan rekan saya Kadir Topal telah mewawancarai lebih dari 18 developer. Tujuan kami adalah menyelidiki dan mulai memahami jalur untuk memperbaiki titik masalah developer teratas.

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. Diperlukan lebih banyak penelitian untuk mengekstrapolasi insight tersebut secara lebih luas.

Diskusi ini adalah pengingat yang luar biasa tentang betapa luar biasa dan beragamnya komunitas developer web, dan saya ingin berterima kasih kepada semua developer yang telah berbicara dengan kami. Beberapa developer memiliki pengalaman lebih dari 25 tahun, sementara developer lain memulai paling lambat 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 mengikuti perkembangan dengan membaca catatan rilis browser, sementara developer lain mempelajari hal baru melalui kolega dan teman. Sebagian orang berpikir kompleksitas adalah bagian dari pekerjaan dan senang mendapat tantangan, sementara yang lain hanya ingin menyelesaikan pekerjaan mereka. Saat berpikir untuk memecahkan masalah tersebut, penting untuk menjaga keragaman ini dalam pikiran kita.

Salah satu hal umum di antara semua developer adalah mereka semua menggunakan CMS atau framework untuk melakukan pekerjaan mereka. Wordpress, React, Bootstrap, Angular, dan Tailwind semuanya disebutkan, dan tidak ada developer yang menggunakan platform web vanilla dalam produksinya. Memilih kerangka kerja saat memulai proyek adalah sebuah tantangan, dan pengembang sering kali memperhitungkan persyaratan non-teknis. Misalnya, apakah akan mudah untuk menyewa pengembang untuk bekerja dengan kerangka kerja tersebut. Kami tidak dapat memperbaiki titik masalah developer jika framework dan CMS tidak disertakan dalam solusi.

Berbicara tentang platform web, sebagian besar developer memahami platform tersebut sebagai hal yang mereka kembangkan. Hal ini tidak hanya mencakup definisi klasik platform web, tetapi juga CMS, framework, alat, dan polyfill. Dalam banyak kasus, tetap mengikuti perkembangan terkini adalah yang menjadi kesulitan terbesarnya. Hal ini mengubah interpretasi kami tentang pertanyaan tersebut, dan kini kami tahu bahwa survei perlu diperbarui untuk memecahnya menjadi beberapa bagian yang tidak terlalu ambigu.

Area ambiguitas lainnya adalah definisi standar web. Ketika ditanya tentang contoh seputar memenuhi standar, banyak developer menyatakan kesulitan dalam memenuhi praktik terbaik. Ini adalah area lain yang perlu kami klarifikasi dalam survei.

Developer mencari praktik terbaik saat mengimplementasikan 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 adalah yang terbaru dengan fitur dan API terbaru. Mereka menginginkan sumber yang lebih resmi untuk membacanya.

Mengikuti perkembangan fitur dan API yang memungkinkan kasus penggunaan baru adalah masalah yang lebih kecil. Developer lebih kesulitan dengan fitur, API, dan perubahan platform yang mengakibatkan perubahan pada praktik terbaik.

Sebagian besar developer setuju bahwa kompatibilitas adalah salah satu tantangan terbesar. Berbagai hal meningkat melalui upaya seperti Compat 2021 dan Interop 2022, tetapi jelas bahwa developer belum melihatnya sebagai masalah yang terselesaikan.

Sebagian besar developer menggunakan polyfill dengan salah satu cara. Namun, dalam banyak kasus, penggunaan bersifat transparan bagi developer, karena polyfill dapat ditambahkan secara otomatis oleh alat seperti Babel atau framework. Bagi mereka yang mengelola polyfill mereka sendiri, mencari tahu apakah polyfill tersebut "bagus" bisa menjadi sebuah masalah. Developer menyebutkan menggunakan jumlah penginstalan di NPM dan pembuat polyfill sebagai sinyal. Beberapa developer menyebutkan bahwa perlunya menghapus polyfill yang menjadi tidak diperlukan karena menghentikan dukungan untuk IE 11.

Kerangka kerja ini memunculkan masalah fragmentasi. Kami mendengar laporan tentang developer yang "terhambat" ke dalam framework versi lama, sehingga fitur yang dapat digunakan terbatas, tetapi migrasi ke versi framework yang sama yang lebih baru mungkin mahal dan sulit untuk dibenarkan.

Kesimpulan

Modern web development memiliki banyak hal penting termasuk standar, browser, library, polyfill, CMS, framework, praktik terbaik, dan alat. Keberagaman ini merupakan salah satu hal hebat tentang web, tetapi saat ini, setiap developer memiliki kemampuan untuk memahami setiap bagian dan bagaimana kompatibilitasnya satu sama lain.

Saya ingin tahu apakah ada cara untuk memberikan kejelasan kepada developer tentang bagaimana semuanya bekerja sama dan lebih selaras di antara semua bagian, tanpa mengorbankan keberagaman. Ini adalah masalah yang besar dan kompleks, dan sulit untuk dilakukan sekaligus. Tapi mulai dari mana?

Jika Anda memiliki pandangan dan opini yang ingin disampaikan. Saya juga ingin berdiskusi dengan Anda. Saya akan menyiapkan cara untuk memesan percakapan secara langsung, tetapi untuk sementara, DM saya dapat dibuka di Twitter. Hubungi kami dan kita bisa menjadwalkan waktu untuk mengobrol.