Pekerjaan Back End Engineer adalah peran di bidang pengembangan perangkat lunak yang fokus pada pengembangan dan pemeliharaan bagian belakang (backend) dari sebuah aplikasi atau situs web. Seorang Back End Engineer bertanggung jawab untuk mengelola logika bisnis, pengolahan data, dan integrasi dengan berbagai sistem.
Ringkasan pekerjaan
Kami sedang mencari Back-end engineer yang akan melakukan tugas mengatur struktur informasi dari aplikasi perangkat lunak di sisi server, dan menulis kode program untuk dijadikan tampilan website.
Tanggungjawab
- Merancang dan membangun database yang efisien dan dapat diakses oleh aplikasi.
- MengembangkanAPI (Application Programming Interface) untuk memungkinkan aplikasi berinteraksi dengan server.
- Membangun logika bisnis (business logic) untuk memproses data dan menghasilkan output yang diinginkan.
- Memastikan bahwa server aman dari serangan dan downtime, serta melindungi data pengguna.
- Mengoptimalkan performa aplikasi dengan meminimalkan waktu respon dan memaksimalkan kecepatan server.
- Mengikuti perkembangan teknologi terbaru untuk terus meningkatkan keterampilan dan memperbarui teknologi yang digunakan.
Kualifikasi
- Pendidikan S1 di bidang ilmu komputer, teknik informatika, atau bidang terkait lainnya
- Menguasai bahasa pemrograman seperti Java, Phython, Ruby, atau PHP
- Keterampilan tentang basis data seperti SQL atau NoSQL
- Memahami masalah security pada sistem dan aplikasi
Seputar Back-end Engineer
Apa saja tools yang harus dikuasai seorang Back-end Engineer?
- Bahasa Pemrograman: JavaScript (Node.js), Python, Ruby, Java, atau PHP.
- Framework: Express.js (Node.js), Django (Python), Ruby on Rails (Ruby), Spring (Java), atau Laravel (PHP).
- Database: MySQL, PostgreSQL, MongoDB, atau Redis.
- Alat Pengembangan: Visual Studio Code, IntelliJ IDEA, Git untuk kontrol versi, Postman untuk pengujian API, dan Docker untuk mengelola lingkungan pengembangan.
- Pemantauan dan Penyimpanan Log: Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana), atau Splunk.
- Keamanan: OWASP ZAP untuk pengujian keamanan, bcrypt untuk pengamanan kata sandi, atau OAuth untuk otentikasi dan otorisasi.
- Infrastruktur dan Penyimpanan Data: Amazon Web Services (AWS), Google Cloud Platform (GCP), atau Microsoft Azure untuk menyediakan infrastruktur cloud, serta layanan seperti Amazon S3 untuk penyimpanan data.
Bagaimana cara menilai kandidat Back-end Engineer?
- Pengetahuan Teknis: Evaluasi pengetahuan teknis kandidat dalam bahasa pemrograman yang relevan dengan backend development, seperti JavaScript (Node.js), Python, Ruby, Java, atau PHP. Ajukan pertanyaan teknis yang berkaitan dengan konsep dasar, sintaksis, dan fitur-fitur bahasa pemrograman tersebut. Anda juga dapat memberikan tugas atau studi kasus untuk menguji pemahaman dan keterampilan mereka dalam mengembangkan aplikasi backend.
- Pengalaman dan Portofolio: Tinjau pengalaman kerja dan portofolio kandidat. Perhatikan pengalaman mereka dalam mengembangkan sistem backend, proyek yang pernah mereka kerjakan, serta kontribusi dan pencapaian yang relevan. Mintalah mereka menjelaskan peran dan tanggung jawab mereka dalam proyek-proyek tersebut, serta hasil yang telah dicapai.
- Keterampilan Database: Backend Engineer harus memiliki pemahaman tentang database dan keterampilan dalam menggunakan query untuk mengelola dan memanipulasi data. Ajukan pertanyaan seputar penggunaan database, seperti penggunaan SQL, desain skema database, atau keterampilan dalam menggunakan sistem database tertentu seperti MySQL, PostgreSQL, atau MongoDB.
- Pemahaman Arsitektur Backend: Backend Engineer harus memiliki pemahaman tentang arsitektur sistem backend dan bagaimana komponen-komponen tersebut saling berinteraksi. Tanyakan tentang pemahaman mereka tentang komunikasi client-server, pengelolaan sesi, penggunaan cache, atau manajemen API.
- Kualitas Kode dan Pemecahan Masalah: Tinjau kualitas kode yang dihasilkan oleh kandidat dalam proyek-proyek sebelumnya. Perhatikan gaya penulisan kode, struktur proyek, dan praktik pengkodean yang baik. Berikan pertanyaan atau masalah pemecahan masalah untuk menguji kemampuan mereka dalam memecahkan masalah teknis secara efisien.