Rasanya Mahasiswa Magang jadi Site Reliability Engineer

Rika Dewi
HMIF ITB Tech
Published in
6 min readSep 19, 2020

Halo! Kenalin aku Rika, seorang anak informatika yang mendapatkan kesempatan magang jadi Site Reliability Engineer selama 3 bulan di Warung Pintar. Di kisahku sebelumnya, aku banyak bercerita tentang SRE (singkatan dari Site Reliability Engineer) dari kacamata anak Warung Pintar. Pada kisahku kali ini, aku akan banyak cerita tentang SRE dari sudut pandangku sebagai mahasiswa informatika sembari berbagai tips buat kamu yang juga mahasiwa. Cerita ini adalah hasil kompilasi dari pertanyaan yang biasa di-kepo-in anak mahasiwa ke aku, yuk check it out!

Kak, gimana sih kok bisa magang jadi Site Reliabiliy Engineer?

Jadi, awalnya nggak pernah ada pikiran yang terlintas di kepalaku buat jadi seorang Site Reliability Engineer. Bahkan, aku awalnya mendaftarkan diri buat jadi Backend Engineer. Semua ini berawal dari pesan di LinkedIn.

Tips #1: Jangan remehkan kekuatan LinkedIn

Biasanya kalo mahasiswa tanya, cari tempat magang di mana sih? Pertama, dari koneksi di dunia nyata (keluarga, teman kuliah, etc). Kedua, dari LinkedIn. Percayalah, semua kisahku sebagai SRE ini nggak akan dimulai kalau aku nggak pernah rawat akunku di LinkedIn. Pesan ajakan untuk bergabung di Warung Pintar ini datang dari orang yang belum kukenal namun terkoneksi di akunku melalui LinkedIn. Jadi, yuk mulai bersih-bersih LinkedIn kamu dan buat akunmu semenarik mungkin di mata orang.

Coding Test

Singkat cerita, aku mendapatkan email dari Warung Pintar berisi sebuah coding test. Berbeda dari coding test pada umumnya yang berisikan soal competitive programming, coding test ini berisikan tugas untuk mengimplementasikan sebuah teknologi dalam kurun waktu 1 minggu. Teknologi ini cukup umum digunakan oleh Backend Engineer (ingat, awalnya aku mendaftar sebagai Backend Engineer bukan SRE), namun aku sendiri belum pernah menggunakannya. Setelah eksplorasi, aku berhasil menyelesaikan tugas ini tepat waktu dengan bantuan google dan stack overflow :)

Interview

Seperti pada umumnya, terdapat dua jenis interview yaitu interview teknis dan non teknis.

Tips #2: Eksplor jawaban why untuk pertanyaan pada interview teknis

Kalau kamu mengerjakan coding test secara baik dan benar, tentunya kamu akan bisa memberikan jawaban yang bersifat what dengan baik dan benar pula. Namun, coba gali lebih dalam dan selalu tanyakan ke dalam dirimu kenapa kamu melakukan itu. Misalnya, pada kasus coding test kemarin aku menggunakan bahasa Go karena memiliki support terhadap concurrency yang sangat baik dengan adanya goroutine. Hal ini tentunya akan membuat kamu terlihat memiliki kemampuan analisis dan decision making yang baik. Lakukan riset tentang tech stack yang digunakan perusahaan dan coba cari kenapa tech stack tersebut lebih baik dibandingkan teknologi serupa.

Tips #3: Pastikan kamu pernah buka website perusahaannya sebelum interview non teknis

Setelah interview teknis, aku dibawa ke interview non teknis. Sebelum interview ini dimulai, aku biasa menyiapkan diri dengan membuka website perusahaannya minimal satu kali untuk mencari soal visi dan value yang dipegang oleh perusahaan tersebut. Sedikit cocoklogi antara visi perusahaan dan visiku inilah yang menjadi jawaban saat aku ditanya, “Kenapa kamu memilih magang di sini?” Dengan kemampuan cocoklogi ini, harapannya kita dapat menjadi kandidat yang tepat bagi perusahaan. Jika kamu justru menemukan visimu bertentangan dengan visi perusahaan, mungkin kamu butuh berpikir lagi apakah kamu memang cocok di perusahaan ini sebelum benar-benar terjurumus di dalamnya.

Setelah aku berhasil menjalani tahap ini, barulah aku mendapat offering sebagai Site Reliability Engineer. Respon pertamaku adalah kaget. Aku tidak banyak tahu tentang Site Reliability Engineer dan topik ini juga sedikit sekali memiliki hands-on experience selama kuliah. Hanya jiwa adventurous dan perasaan curiosity yang membuatku berkata iya untuk offering ini.

Kak, kerjaan Site Reliability Engineer itu ngapain sih?

Sebagai seorang engineer tentunya pekerjaanku adalah menyelesaikan masalah. Berbeda dari Frontend atau Backend Engineer yang biasanya bekerja untuk mengembangkan suatu produk tertentu, Site Reliability Engineer bekerja untuk mengembangkan infrastruktur aplikasi sehingga menjadi reliable. Faktanya kita tidak bisa membuat website yang memiliki 100% uptime percentage, karena terlalu banyak faktor tidak terduga yang bisa menyebabkan suatu website menjadi down. Di sinilah seorang SRE bekerja untuk meminimalisir terjadinya down dan sekalipun terjadi down, sistem dapat dengan cepat dan mudah melakukan recover.

Hah? Trus ngapain Kak sebenernya? — Agar lebih mudah terbayang, aku akan bercerita tentang pekerjaanku secara teknis sebagai Site Reliability Engineer di Warung Pintar. Secara garis besar, terdapat 3 buah proyek yang kukembangkan selama 3 bulan menjadi SRE.

Kubernetes Event Watcher

Namanya memang terdengar keren, tetapi secara teknis proyek ini hanya suatu aplikasi yang komponen utamanya adalah sebuah percabangan yang bisa dituliskan sesederhana ini:

if (unexpected_event) then { alert }

Lebih detailnya, kamu dapat membaca artikel yang kutulis ini. Tantangan utama dari proyek ini adalah memahami konsep dari Kubernetes sendiri. Tantangan ini juga yang dirasakan oleh seorang yang baru pertama kali menjadi SRE yaitu learning curve yang tinggi.

Tips #4: Kalau kamu anti baca dokumentasi, jangan coba-coba jadi SRE

Seorang SRE akan banyak menggunakan teknologi-teknologi baru yang jarang digunakan di proyek kecil, misalnya Kubernetes. Konsekuensinya, kamu akan sering melihat dirimu berduaan dengan dokumentasi selama jadi SRE. Namun, jika kamu sudah melewati masa curam dari learning curve ini, SRE adalah pekerjaan seru dan tepat buat kamu yang suka eksplorasi hal baru!

Integrated Webhook System

Webhook atau biasa disebut web callback adalah cara untuk suatu aplikasi berkomunikasi dengan aplikasi lain dengan memberikan data secara realtime. Analoginya seperti saat kamu meminta seorang teman untuk mengingatkanmu jika ada kelas hari ini dengan cara mengirimkan pesan melalui media sosial. Temanmu akan memberikan data (pesan melalui media sosial) secara realtime saat suatu event terjadi (pada kasus ini saat ada kelas), dan kamu harus memantau media yang sudah kalian janjikan sebelumnya (dalam hal ini media sosial) agar mendapatkan data ini.

Integrated Webhook System yang kubangun ini memantau event yang datang dari tiga buah aplikasi yaitu Gitlab, AppCenter, dan Tuleap. Ketika suatu event terjadi, sistem akan memberikan alert atau aksi yang bersesuaian dengan data yang diterima.

BotOps

BotOps terdiri dari 2 komponen utama yaitu Chatbot dan Operation. BotOps ini terhubung dengan Kubernetes Cluster dan aplikasi Tuleap. Dengan terhubung pada Kubernetes Cluster, seseorang dapat melakukan deployment semudah melakukan chat. Selain itu, BotOps juga memiliki fitur untuk mengecek log dan deskripsi dari sebuah service yang berjalan di atas Kubernetes Cluster. Dengan terhubung pada aplikasi Tuleap, BotOps juga menjadi sarana untuk melakukan task management pada Kanban maupun Scrum Board.

Kak, gimana sih rasanya kerja di Warung Pintar?

Gapless

Salah satu hal paling mencolok yang kurasakan saat bekerja di Warung Pintar adalah tidak adanya senioritas. Hal ini paling terasa saat berdiskusi dengan AnWar (sebutan untuk pekerja Warung Pintar). Aku sama sekali tidak merasakan dipandang inferior karena intern, dan aku mendapatkan tugas berdasarkan kemampuanku bukan berdasarkan posisiku yang hanya seorang intern.

Tidak hanya gapless antara posisi sebagai intern dan karyawan tetap, sifat gapless ini juga kurasakan antar hierarki kepemimpinan di Warung Pintar. Sering kulihat sosok CTO Warung Pintar, Sofian Handiwijaya mengikuti daily meeting bersama tim engineer-nya. Para AnWar juga aktif memberikan feedback dan tidak ragu melontarkan apresiasi untuk aplikasi yang kubuat selama magang di Warung Pintar.

Supportive Mentor

Selama magang di Warung Pintar, aku ditemani oleh seorang mentor bernama Agung Julisman atau akrab disapa kak Ajul yang merupakan VP of Engineering di Warung Pintar. Di tengah padatnya jadwal beliau, Kak Ajul selalu menyempatkan meeting online berdua bersamaku saat aku kebingunan tentang suatu hal. Sifatnya yang ramah dan suka becanda menjadi hal yang membuatku betah selama magang di Warung Pintar. Kak Ajul juga seorang mentor yang berusaha mengenalku meskipun aku seorang intern. Jika aku mengirim pesan kepada Kak Ajul jam 7 pagi, beliau selalu membalas seperti ini, “Ini baru bangun atau belum tidur?” Ia sangat paham kebiasaanku tidur pagi dan menyuruhku segera tidur jika aku mengirim pesan pagi-pagi ke beliau :)

Tech Savvy

Kata-kata ini cocok mendeskripsikan para engineer di Warung Pintar yang tidak bosan-bosannya berusaha mengikuti update teknologi yang ada. Selama magang di Warung Pintar, aku mendengar banyak istilah teknologi baru yang memicuku untuk mengeksplor lebih banyak lagi hal baru.

Sekian kisah magangku di Warung Pintar! Aku mengucapkan terima kasih khususnya kepada Ricky Fernando, yang telah berkontribusi dalam pembuatan medium ini. Akhir kata, aku ingin membagikan sebuah survei dari stack overflow yang mungkin bisa membuat kamu tertarik menjadi seorang Site Reliability Engineer (https://insights.stackoverflow.com/survey/2020#salary). Terima kasih sudah membaca!

--

--