Mau jadi Developer? Mulai dari mana?
Perjalanan seorang mahasiswa yang tidak bisa apa-apa saat masuk kuliah, dan menjadi full-stack developer sebelum lulus kuliah
Ini adalah ceritaku dari yang tidak bisa apa-apa hingga bisa menghasilkan uang dari projek-projek yang kukerjakan. Seorang anak yang tidak pernah berpikiran menjadi developer, menjadi developer yang diandali oleh orang banyak. Aku menyebut diriku sebagai full-stack developer karena aku seringkali mengerjakan semua tugas dalam tim sendirian. Tidak jarang aku bekerjasama dengan orang lain untuk mengerjakan projek yang sama. Bagaimana prosesnya? Ini adalah pengalamanku …
Background sebelum Kuliah
Saat SMA, aku bersekolah di salah satu sekolah swasta di Jakarta. Aku mengambil jurusan IPA karena tidak bisa menghafal dan lebih senang sesuatu yang berurusan dengan angka atau berbau logika. Aku adalah orang yang malas belajar dengan nilai yang pas-pasan di sekolah. Hobiku adalah bermain dengan multimedia, mulai dari video editing hingga sound mixering.
Ketika memilih jurusan untuk kuliah, aku mencari sebuah jurusan yang berbau multimedia, dan kutemukanlah sebuah kampus di Surabaya dengan nama jurusan Information and Multimedia Technology. Singkat cerita, aku berhasil masuk ke universitas yang kuimpikan itu tanpa membawa pengetahuan tentang pemrograman. Saat itu, hal yang kuketahui tentang IT hanyalah HTML dan CSS yang biasa digunakan untuk pemrograman web.
Awal Perkuliahan
Minggu pertama kuliah, aku menyadari bahwa aku tidak akan diajarkan apa-apa tentang multimedia dan hanya akan berfokus pada dunia IT. *Ketipu nama jurusan dong…* Tetapi ada satu hal yang membuatku tertarik pada dunia IT adalah selalu bermain dengan logika dimana aku terlatih untuk berpikir bagaimana sebuah program bekerja.
Bahasa pemrograman pertamaku adalah Java. Untuk pembaca, aku menyarankan untuk belajar basic pemrograman ini karena akan berguna untuk pengembangan aplikasi Android. Mulai dari conditionals, looping, error handling, data structures, hingga object-oriented programming. Semua basic pemrograman pada semua adalah sama, dengan begitu kamu akan dipermudah ketika mempelajari bahasa lain. Aku menghabiskan waktu 1 semester untuk belajar bahasa ini sepenuhnya.
Pada semester 2, aku belajar bahasa PHP untuk mendapatkan basic pemrograman website. Waktu itu, aku masih menggunakan PHP Vanila (tanpa menggunakan framework apapun). Di saat yang bersamaan aku belajar menggunakan Javascript dasar agar mampu menciptakan website yang simpel namun interaktif. Satu hal yang tidak boleh dilupakan ketika sudah bermain dengan backend adalah belajar database. Bahasa yang digunakan adalah SQL, terutama Relational Database.
Jujur, aku adalah orang yang sering tidak mendengarkan dosen. Kerjain tugas ketika sudah mendekati deadline. Aku terbiasa belajar melalui buku dan online course. Namun karena hasil pekerjaanku selalu berada di atas ekspektasi mereka, jadi dosenku juga tidak pernah komplain.
Pertengahan Kuliah
Ketika sudah sekitar semester 4, aku menantang diriku untuk belajar menggunakan web framework yaitu Laravel. Saat itu, aku belajar kilat melalui online course dan menyelesaikan dalam waktu 2 bulan. Di saat yang bersamaan, aku dan 4 temanku membuat sebuah bisnis IT bernama Fusions Visual yang menyediakan jasa desain dan pemorgraman website dan aplikasi.
Tidak hanya itu, aku mengambil online course pengembangan aplikasi mobile di Dicoding. Memang cukup mahal, namun kalau membayangkan nilai projek yang akan didapatkan, worth it lah.
Sambil mengasah skill Laravel, aku mengasah skill Android ku. Dengan begitu, aku terbiasa untuk membuat front-end dan back-end ku sendirian, atau menjadi junior full-stack developer ketika aku mengerjakan projek pribadiku dan menentukan deadlineku sendiri.
Namun, ada satu hal yang kurang ketika ingin menjangkau lebih banyak orang, yaitu iOS. Pengembangan iOS merupakan pengembangan yang cukup mahal dan ribet karena mengharuskan developernya untuk menggunakan device Apple dan harga device tersebut tidaklah murah. Oleh karena itu, aku mendaftar ke Apple Developer Academy untuk mempelajari produk Apple lebih lanjut. Salah satu keuntungan mengikuti program ini adalah aku dipinjamkan Macbook dan iPhone untuk dapat mengembangkan aplikasi sendiri.
Try Everything!
Ketika aku mengikuti Apple Developer Academy ini, aku telah berada pada semester 7. Aku merasa dengan waktu yang tersisa sebelum lulus ini tinggal sedikit lagi sebelum aku terjun ke dunia kerja. Maka dari itu, kucoba semuanya dan ku cari sebuah pekerjaan yang menurutku menarik dan bisa kukembangkan. Mulai dari game development menggunakan Construct 2 dan Unity, data science menggunakan Python, machine learning dan deep learning menggunakan Python, hingga cross-platform programming menggunakan Flutter.
Pada waktu inilah adalah waktu yang cocok bagi pembaca yang ingin mengetahui jalan hidup programmingnya, mau ke arah mana fokus yang akan digapai. Memang, mencoba semuanya bukan hal yang mudah. Jika kamu ingin masuk ke dunia game, kamu bisa memahami sistem game. Apa yang dilakukan oleh sebuah aplikasi ketika game tersebut dimainkan?
Hasil Pembelajaran
Sampai pada detik ini, aku belum lulus dari kuliahku. Sekarang aku sedang mengambil tugas akhir. Namun di titik ini, aku memiliki banyak sekali pengalaman di dunia IT, mulai dari dunia koding hingga menghadapi klien ketika mengambil projek sebagai freelancer. Ilmu yang kudapatkan tidak sebatas ilmu dari perkuliahan dan online course saja, melainkan lebih banyak ditempa berdasarkan berbagai percobaan atau research yang dilakukan ketika ingin belajar sesuatu.
Pencapaianku saat ini adalah sudah berhasil membuat dan mempublikasikan 3 aplikasi iOS, 2 aplikasi android, dan 10 website milik diriku sendiri dan klien yang kumiliki. Hasil jerih payahku telah memberikanku gaji untukku dapat bersenang-senang dan tidak lagi memanfaatkan uang dari orang tua.
Akhir Kata
Aku yang awalnya tidak tahu apa-apa tentang dunia IT, belajar dari 0 tanpa basic sama sekali, penasaran, hingga akhirnya jatuh cinta. Dari yang hanya tugas kuliah, berubah menjadi hobi dan pekerjaan sampingan. Banyak sekali keseruan dan kesedihan yang kurasakan dan kujalani, dan pada titik ini aku merasa bahwa ternyata menjadi developer itu menyenangkan.
Hai kamu yang membaca cerita pengalamanku, kuberi pesan penting ketika ingin memulai atau sedang berproses: Mencoba itu penting, kamu tidak akan pernah tahu rasanya mengerjakan di bagian tersebut. Membaca pengalaman orang lain belum tentu membuatmu tertarik atau tidak tertarik di bagian tersebut, namun dengan mencoba kamu akan tahu rasanya. Jika kamu ingin bertanya-tanya tentang perjalananku, silahkan kontak aku via LinkedIn.
Terima kasih telah membaca …