Internship Program: Software Development
Selami proses penciptaan perangkat lunak dari ide hingga menjadi produk jadi bersama tim profesional di lingkungan kerja yang nyata.
Durasi
1 Tahun
Tipe
Junior Staff
Lokasi
WFO (Yogyakarta)
Periode
Jan - Des 2024
Deskripsi Program
Software Development adalah proses dimana perangkat lunak diciptakan. Ini mencakup berbagai aktivitas mulai dari ide awal, perencanaan, desain, pemrograman, pengujian, hingga pemeliharaan. Tujuannya adalah untuk memenuhi kebutuhan pengguna atau memecahkan masalah tertentu melalui aplikasi atau sistem yang dikembangkan.
Dalam mengembangkan perangkat lunak, ada suatu pendekatan sistematis yang dikenal dengan Software Development Life Cycle (SDLC). Ini adalah serangkaian langkah atau fase yang dilalui selama proses pembuatan atau pemeliharaan perangkat lunak.
Software Development Life Cycle (SDLC)
Perencanaan (Planning)
Menentukan apa yang perlu dibuat, mengidentifikasi kebutuhan, dan menetapkan sumber daya.
Analisis (Analysis)
Mengkaji kebutuhan pengguna secara mendalam, memastikan semua aspek fungsional dan non-fungsional.
Desain (Design)
Mengembangkan blueprint teknis dari aplikasi atau sistem, mencakup antarmuka, basis data, dan arsitektur.
Implementasi (Implementation)
Dikenal sebagai coding, di mana desain yang telah dibuat diwujudkan menjadi kode program.
Pengujian (Testing)
Perangkat lunak diuji untuk memastikan bebas dari kesalahan dan memenuhi kebutuhan.
Peluncuran (Deployment)
Setelah selesai diuji, perangkat lunak siap diluncurkan dan digunakan oleh pengguna.
Peran & Tanggung Jawab di Setiap Fase
Setiap fase dalam SDLC membutuhkan keahlian spesifik dari berbagai peran profesional. Berikut adalah kontribusi mereka dalam setiap tahapan pengembangan.
1. Planning (Perencanaan)
- System Analyst: Memainkan peran penting dalam menentukan kebutuhan dan sasaran dari proyek perangkat lunak yang akan dikembangkan.
2. Analysis (Analisis)
- System Analyst: Memastikan semua kebutuhan pengguna dan bisnis teridentifikasi dan didokumentasikan dengan baik.
- UX Designer: Mulai memahami kebutuhan pengguna untuk mempersiapkan desain yang sesuai.
3. Design (Desain)
- System Analyst: Bekerja bersama tim untuk memastikan spesifikasi teknis sesuai dengan kebutuhan bisnis.
- UX Designer: Merancang tampilan antarmuka dan alur interaksi pengguna.
- Database Administrator: Terlibat dalam merancang struktur basis data yang optimal.
4. Implementation (Penerapan)
- Programmer/Developer: Mulai menulis kode berdasarkan desain yang sudah dibuat.
- Database Administrator: Bertanggung jawab untuk mengatur dan memastikan basis data berfungsi dengan baik.
5. Testing (Pengujian)
- Quality Assurance: Melakukan pengujian untuk memastikan kualitas dan fungsi sesuai kebutuhan serta bebas dari bug.
- Cyber Security Specialist: Melakukan uji penetrasi untuk memastikan aplikasi aman dari ancaman.
6. Deployment (Peluncuran)
- System Administrator: Bertanggung jawab untuk menyiapkan infrastruktur dan memastikan perangkat lunak dapat di-deploy dengan lancar.
- Database Administrator: Memastikan basis data siap untuk produksi.
- Cyber Security Specialist: Memastikan semua langkah keamanan telah diterapkan sebelum peluncuran.
7. Maintenance (Pemeliharaan)
- Programmer/Developer: Memperbaiki bug atau menambahkan fitur baru berdasarkan feedback.
- Quality Assurance: Melakukan pengujian ulang setelah pembaruan.
- System Administrator: Memastikan layanan berjalan baik dan melakukan pembaruan.
- Database Administrator: Melakukan backup reguler, pemulihan data, atau optimalisasi.
- Cyber Security Specialist: Memantau potensi ancaman dan memastikan keamanan terus diperbarui.
Budaya DevOps
DevOps adalah suatu pendekatan atau budaya dalam pengembangan perangkat lunak yang menekankan kolaborasi antara tim pengembangan (Dev) dan tim operasi (Ops). Inti dari DevOps adalah mempercepat siklus pengembangan dan peluncuran sambil memastikan kualitas dan stabilitas.

Planning
Mendorong feedback loop yang cepat melalui iterasi rilis yang lebih kecil & sering. Infrastruktur sebagai Kode (IaC) mulai dipertimbangkan.
Analysis
Tim Dev & Ops berkolaborasi erat sejak dini untuk memahami kebutuhan infrastruktur, keamanan, dan kinerja aplikasi.
Design
Desain tidak hanya fokus pada fitur, tapi juga pada keamanan & skalabilitas. Arsitektur mikroservis sering digunakan agar mudah dikelola.
Implementation
Menerapkan Continuous Integration (CI), di mana kode langsung diuji setelah commit. Proses build & test juga diotomatisasi.
Testing
Pengujian dilakukan secara otomatis & berkelanjutan (Continuous Testing). IaC dipakai untuk membuat lingkungan uji yang konsisten.
Deployment
Dengan Continuous Deployment (CD), kode yang lolos tes dapat dikirim ke produksi secara otomatis, seringkali menggunakan container (Docker).
Maintenance
Kinerja aplikasi dipantau secara ketat melalui monitoring dan log. Otomatisasi juga digunakan untuk pemulihan cepat saat terjadi masalah.
Tahapan Pendaftaran
Jadwal Akan Diumumkan
Pendaftaran
Mengisi form, seleksi administrasi, dan pengumuman.
Jadwal Akan Diumumkan
Tes Kompetensi
Penentuan studi kasus dan pengerjaan secara team work.
Jadwal Akan Diumumkan
Penentuan Penerimaan
Presentasi progress, penilaian individu, dan pengumuman.
Jadwal Akan Diumumkan
Penandatanganan Kontrak
Tanda tangan kontrak magang dan NDA.
Jadwal Akan Diumumkan
Bootcamp
Pembekalan intensif mencakup BPMN, UX, Backend, Frontend, Security, & DevOps.
Pendaftaran Segera Dibuka
Periode pendaftaran untuk program ini belum dibuka. Pantau terus halaman ini untuk informasi terbaru mengenai jadwal pendaftaran berikutnya!