Bagaimana saya harus memilih seorang insinyur perangkat lunak aplikasi web?
Posisi (permanen) adalah untuk menulis ulang klien dari aplikasi server klien desktop yang ada. Halaman tidak akan dihasilkan secara dinamis di server, tetapi server akan mengekspos API lengkap dengan cara apa pun yang diperlukan, misalnya panggilan JSON RPC, dan dapat membuat file statis tersedia. Ini akan menggantikan klien yang harus diunduh dan dipasang oleh orang, sehingga memerlukan peramban yang layak dengan pengaturan yang wajar (mis. JavaScript diaktifkan) tidak masalah. Hampir semua kasus penggunaan adalah untuk PC desktop. Ini tidak akan dapat diakses oleh mesin pencari (ini adalah aplikasi perusahaan).
Kita bisa menulis semuanya dalam satu halaman, tetapi tidak harus. Hampir semua ditulis oleh insinyur perangkat lunak aplikasi web yang bersangkutan. Pustaka sumber terbuka yang tepat untuk digunakan juga terserah insinyur, layaknya.
Saya secara khusus mencari saran tentang kualifikasi apa yang harus dicari / diverifikasi dalam sebuah wawancara, karena memilih seorang insinyur perangkat lunak aplikasi web pada umumnya adalah topik yang terlalu luas.
Sunting - Posisi ini murni pemrograman JavaScript dalam browser (dan bertanggung jawab atas HTML dan CSS) - pengembang lain akan mengembangkan server tetapi posisi ini dapat meminta fasad di atas API. Tidak ada Ruby, ASP, JSP, dll. Karena lapisan server web sangat tipis dan hanya menerjemahkan panggilan ke API lapisan bisnis dan mengembalikannya sebagai JSON (atau apa pun, tetapi JSON tampaknya lebih mudah).
Jawaban:
Sebagai pengembang web yang terutama bekerja pada aplikasi perusahaan yang berurusan dengan sistem legacy, saya dapat menawarkan beberapa saran tentang apa yang membuat saya sukses, dan mudah-mudahan itu akan membantu.
Saya tidak yakin apakah Anda mencari situasi sementara / konsultasi untuk memberi Anda satu aplikasi, atau FTE untuk mengembangkan dan mempertahankan jangka panjang ini, tetapi ini harus berlaku dalam kedua kasus tersebut, saya pikir.
Hanya beberapa pemikiran dari pengalaman saya di parit, tetapi jika departemen saya merekrut pengembang baru, inilah yang akan saya katakan kepada mereka untuk dicari.
Saya berharap departemen saya memiliki anggaran untuk pengembang lain ...
sumber
Catatan: Ini hanya pendapat saya, jadi jangan melemparkan wastafel dapur ke arah saya;)
Saya pikir Anda munging nama-nama dari dua posisi yang jelas berbeda (yang dapat sedikit membingungkan).
Insinyur Perangkat Lunak : Seorang insinyur. Orang yang kuat dalam memecahkan masalah abstrak yang tidak harus terikat pada platform tertentu. Pengetahuan yang kuat tentang pola desain, algoritma (baik algoritma yang dikenal serta desain dan analisis algoritma), beberapa kekuatan dalam aljabar linier dan mungkin beberapa kalkulus. Ketika mempekerjakan seorang insinyur perangkat lunak di masa lalu, saya belum khawatir tentang pengetahuan domain spesifik mereka seperti kemampuan mereka untuk memecahkan masalah yang kompleks.
Pengembang Aplikasi Web : Seseorang yang mengetahui seluk beluk membangun aplikasi web. Memahami arsitektur server vs sisi klien dan bagaimana berkomunikasi secara efektif antara keduanya. Sudah terbiasa dengan standar W3C, baik negara yang sudah selesai maupun WIP. Memahami cara kerja basis data dan cara mengoptimalkan bila perlu (optimasi kueri, penyimpanan basis data, pengindeksan, dll). Juga pahami berbagai mekanisme caching dan cara lain untuk mengoptimalkan aplikasi mereka. Juga memahami konvensi semantik.
Mungkin ada beberapa hal di sana yang saya lewatkan yang mungkin saya isi ketika saya memikirkan mereka.
Dari uraian tentang apa yang Anda cari, menurut saya sepertinya Anda sama sekali tidak mencari insinyur perangkat lunak; Anda sedang mencari pengembang aplikasi web.
Jadi, hal pertama yang akan saya lakukan adalah mempersempit siapa yang Anda cari dan keahlian apa yang Anda harapkan dari seorang kandidat. Mungkin sedikit membantu Anda.
sumber