Beda dengan data scientist atau data engineer yang relatif sudah populer, profesi DevOps Engineer masih tergolong profesi yang underrated. Padahal, faktanya profesi ini sudah mulai dikenal sejak tahun 2007-2008 (Sumber: Atlassian). Namun, karena terminologinya masih tergolong baru dibanding pekerjaan IT lainnya, sampai saat ini profesi ini bisa dibilang belum terlalu populer. Padahal, dari sisi demand profesi ini sangat menjanjikan, growing rate lowongan kerja DevOps Engineer bahkan diperkirakan terus meningkat hingga 20% setiap dekade. Hal ini bisa kamu manfaatkan jadi peluang karier, asalkan mengikuti DevOps Engineer roadmap yang tepat.
Di Indonesia contohnya, peluang kerja dan gaji untuk profesi ini tergolong sangat oke. Jika kamu cek di job platform seperti Linkedln atau Jobstreet, pasti kamu akan dengan sangat mudah menemukan ratusan lowongan DevOps Engineer dari berbagai jenis industri, Peluang gaji yang ditawarkan juga sangat menarik:
Mengutip KodeKlaud ada 5 alasan utama DevOps Engineer digaji besar oleh perusahaan:
- Orang dengan kemampuan DevOps masih susah dicari
- Perusahaan harus bersaing dengan perusahaan lain untuk mendapatkan talenta DevOps yang mumpuni
- DevOps membantu perusahaan mendapatkan keuntungan
- DevOps membantu perusahaan bekerja dengan lebih cepat
- DevOps membutuhkan banyak skills
Lantas, bagaimana DevOps Engineer roadmap untuk pemula? Simak artikel ini sampai akhir!
BACA JUGA: Pelatihan dan Pengembangan SDM: Penjelasan Lengkap
DevOps Engineer Roadmap Untuk Pemula
Fakta menariknya, meskipun DevOps Engineer banyak dibutuhkan perusahaan, namun sayangnya pelamar untuk profesi ini masih tergolong sedikit. Padahal, roadmap DevOps Engineer itu bisa diikuti oleh orang yang tidak punya background IT. Bahkan, di industri juga ada banyak lowongan DevOps Engineer yang tidak mensyaratkan harus lulusan IT yang terpenting menguasai skills-nya. Oleh karena itu, ini bisa jadi kesempatan untuk kamu mulai belajar skills-nya. Untuk pemula, kamu bisa mengikuti roadmap ini:
DevOps Engineer Roadmap: Pemahaman Teknis
Pertama, untuk bisa jadi DevOps Engineer kamu harus pelajari hal teknis seperti:
- Bahasa pemrograman = Python, Ruby, JavaScript
- Konfigurasi software = Ansible, Puppet, Chef
- Unix administration
- Sistem operasi = Linux
- Containerization and container orchestration = Kubernetes, Docker
- Version control system = Git
DevOps Engineer Roadmap: Metodologi DevOps
Selanjutnya, kamu bisa pelajari metodologi DevOps seperti:
- CI (Continuous Integration) = Proses penggabungan kode ke branch utama dari repositori pusat
- CD (Continuous Deployment) = Mengotomatisasi code deployment yang sudah diverifikasi ke lingkungan produksi
- Agile = Pengembangan software secara iteratif, berulang, serta bisa diubah di tengah bila perlu
- Site Reliability Engineering = Mengotomatisasi tugas infrastruktur IT seperti manajemen sistem dan pemantauan aplikasi
Tentunya selain paham teorinya, kamu juga harus menguasai praktiknya.
DevOps Engineer Roadmap: Flow Pengembangan
Selanjutnya, kamu juga harus mempelajari alur pengembangan perangkat lunak atau software development life cycle:
- Planning = Tahap ini adalah fase awal dimana tujuan dan kebutuhan proyek diidentifikasi dan dianalisis
- Defining requirement = Tahapan memastikan bahwa semua kebutuhan pengguna dan pemangku kepentingan diidentifikasi dan didokumentasikan dengan jelas
- Design = Design adalah tahap dimana arsitektur dan desain sistem dirancang berdasarkan kebutuhan yang telah dianalisis
- Development = Perancangan, pengkodean, pengujian, dan implementasi software
- Testing = Software diuji untuk memastikan bahwa semua fitur bekerja sesuai dengan spesifikasi dan tidak ada bug
- Deployment = Software yang telah diuji dan disetujui siap untuk diterapkan ke lingkungan produksi
- Maintenance = Memantau kinerja software dan menangani masalah yang muncul
Perlu diketahui, untuk posisi DevOps Engineer Junior jobdesk-nya tidak sampai sampai software development life cycle, tapi meskipun begitu kamu tetap harus paham dengan konsep software development life cycle ini.
Networking Fundamental
Seorang DevOps Engineer perlu memiliki pemahaman yang kuat tentang dasar-dasar jaringan untuk mengelola infrastruktur secara efektif. Berikut adalah beberapa konsep dan keterampilan dasar networking yang harus dipelajari:
- Model OSI (Open Systems Interconnection) = Tujuh lapisan model OSI (Physical, Data Link, Network, Transport, Session, Presentation, Application) dan fungsi masing-masing
- Model TCP/IP = Pahami empat lapisan model TCP/IP (Network Interface, Internet, Transport, Application) dan bagaimana mereka berinteraksi dengan model OSI
- Protokol IP (Internet Protocol) = Pahami fungsi protokol IP dalam pengalamatan dan routing data
Linux Basic
Selanjutnya, kamu juga harus memiliki pemahaman yang kuat terkait dasar-dasar Linux, karena sebagian besar alat dan platform DevOps berjalan di atas sistem operasi ini. Berikut adalah hal-hal dasar yang perlu dipelajari oleh seorang DevOps Engineer terkait Linux:
- Perintah dasar Linux
- Manajemen file dan direktori
- Pengelolaan paket
- Pengelolaan proses
- Pengelolaan pengguna dan grup
- Editing file
- Networking
Linux and Unix Administration
Untuk menjadi DevOps Engineer yang kompeten dalam administrasi Linux dan Unix, berikut adalah beberapa topik yang harus kamu pelajari:
- Sistem Operasi dan File System
- Manajemen Pengguna dan Grup
- Konfigurasi Jaringan
- Otomatisasi dan Scripting
- Manajemen Paket dan Software
- Monitoring dan Logging
- Manajemen Proses dan Layanan
- Keamanan Sistem
BACA JUGA: Seberapa Penting Corporate Digital Training?
Bash Scripting
Bash scripting adalah penggunaan bahasa pemrograman shell, yang dikenal sebagai Bash (Bourne Again SHell), untuk menulis skrip yang mengotomatisasi tugas-tugas di lingkungan Unix/Linux. Skrip ini adalah file teks yang berisi perintah-perintah Bash yang dapat dieksekusi oleh shell untuk melakukan berbagai operasi sistem. Dalam konteks DevOps, bash scripting sangat berguna untuk berbagai tujuan:
- Mengotomatisasi proses build dan deploy
- Mengelola konfigurasi dan setup environment
- Mengintegrasikan dan menjalankan alat-alat monitoring
- Mengotomatiskan pengelolaan infrastruktur dan layanan
Dengan memahami dan menguasai Bash scripting, DevOps Engineer dapat meningkatkan efisiensi dan produktivitas dalam mengelola dan mengotomatisasi berbagai aspek dari siklus hidup perangkat lunak.
Docker
Selanjutnya, kamu juga harus mempelajari Docker yaitu platform yang memungkinkan pengembang dan DevOps Engineer untuk membangun, mengirim, dan menjalankan aplikasi dalam container yaitu lingkungan terisolasi yang mengemas aplikasi dan semua dependensinya sehingga dapat dijalankan secara konsisten di berbagai lingkungan. Docker memudahkan pengelolaan dan deployment aplikasi dengan memastikan bahwa aplikasi berjalan sama di semua sistem yang mendukung Docker.
Dengan memanfaatkan Docker, DevOps Engineer dapat meningkatkan efisiensi, kecepatan, dan keandalan proses pengembangan, pengujian, dan deployment aplikasi, membuat pipeline DevOps lebih efisien dan otomatis.
Git
Git adalah sistem kontrol versi terdistribusi yang digunakan untuk melacak perubahan dalam kode sumber selama pengembangan perangkat lunak. Bagi seorang DevOps Engineer, Git sangat penting karena membantu mengelola perubahan kode secara kolaboratif dan memastikan bahwa setiap perubahan dicatat, dapat diulas, dan, jika perlu, dapat dikembalikan ke versi sebelumnya.
Git memungkinkan pengembang dan tim DevOps untuk bekerja secara lebih efektif dan efisien dalam mengelola kode, berkolaborasi, dan menerapkan praktik Continuous Integration/Continuous Deployment (CI/CD).
Belajar DevOps Engineer dari Nol Bersama Mentor Expert
Kamu yang sudah tertarik berkarier jadi DevOps Engineer mungkin juga sudah pernah coba explore di Google terkait materi DevOps. Di internet, saat ini ada banyak sumber belajar DevOps gratis yang bisa diakses siapa saja. Faktanya jika kamu sebelumnya sudah punya basic skill di bidang DevOps dan ingin remind kembali knowledge yang kamu punya, belajar dari internet akan sangat membantu. Namun, jika kamu tidak memiliki basic skill dan mulai dari nol, belajar dari internet akan cukup sulit karena sangat challenging untuk pemula menemukan dan menentukan materi yang perlu dipelajari di masing-masing topik.
Bahkan, mengutip Dev Dan di Medium yaitu salah satu orang yang belajar DevOps secara otodidak, ia menyampaikan bahwa belajar DevOps Engineer sendiri itu hard journey. Bagaimana tidak? DevOps itu pendekatan yang mencakup praktik budaya dan teknis untuk menjembatani software development dan IT operations. Jadi, tidak cukup belajar teori saja, tapi perlu juga praktik.
Jika kamu tertarik ingin belajar DevOps dari nol secara lebih efektif, alangkah baiknya kamu punya mentor yang bisa mendampingi journey belajar kamu. Contohnya, di kelas DevOps Engineer Digital Skola. Di kelas ini kamu akan belajar dari nol dan dibimbing mentor expert dengan minimal 4 tahun pengalaman. Di kelas DevOps Engineer Digital Skola juga kamu tidak perlu pusing memikirkan materi atau sumber belajar, karena semua sudah disediakan. Nantinya, kamu akan belajar pakai kurikulum komprehensif yang sudah disesuaikan dengan kebutuhan industri:
- Introduction to DevOps Engineer
- Networking Fundamental
- Linux Basic
- Linux and Unix Administration
- Bash Scripting
- Docker Basic
- Docker Practical
- API with GoLang
- Ansible
- Git
- CI/CD With Jenkins
- Kubernetes
Untuk info lengkap kamu bisa klik langsung link di bawah ini ya!