Temui Milan Vucic , salah satu mentor kursus "Dasar-Dasar Java" di CodeGym University, penulis dan pengajar kursus "Pengembangan aplikasi Android untuk pemula" . Dia memiliki pengalaman delapan tahun bekerja sebagai pengembang Android dan beberapa tahun menjadi mentor Java & Android. Dalam teks ini, dia berbicara tentang latar belakang profesional dan bimbingannya, mengungkap kesalahan terbesar yang dapat dilakukan oleh pemula, dan menyarankan pengguna CodeGym untuk menjadi pengembang.

Mengapa Anda memilih menjadi pengembang?

Saya dari Serbia. Saya banyak berpindah-pindah ketika saya masih kecil, jadi saya berpindah lima sekolah dasar dalam delapan tahun. Hal ini membuat saya cukup blak-blakan dan sangat menerima profesor baru. Suatu ketika saya mempunyai seorang profesor matematika yang hebat, maka saya mulai berkompetisi dalam matematika dan memenangkan hadiah ketiga dalam kompetisi nasional Serbia. Kemudian saya bersekolah di sekolah Tata Bahasa Matematika, yang melatih beberapa siswa terbaik untuk berpartisipasi dalam kompetisi global dalam bidang matematika, fisika, dan pemrograman. Saya sangat menyukai disiplin akademis itu. Jadi, saat SMA, saya belajar banyak bahasa seperti Pascal, C, C#, dan sedikit SQL untuk database. Selain itu, saya telah menjadi seorang gamer sepanjang hidup saya, dan saya melihat potensi besar dalam membuat game.

Apa jalur pembelajaran Anda untuk menjadi seorang pengembang?

Saya pertama kali mengikuti program serius di perguruan tinggi. Saya mendaftar di salah satu perguruan tinggi teknik terbaik di Beograd dan telah belajar di sana selama dua tahun. Saat itu, saya mendapat nilai yang relatif tinggi di setiap mata pelajaran dari program pelatihan. Lalu saya dan teman saya memutuskan untuk membuat aplikasi dan melamar magang (pada tahun 2015). Untungnya, “proyek rumah” kami membantu kami mendapatkan posisi trainee, dan kami mulai bekerja di sebuah perusahaan. Bahasa utama untuk proyek-proyek di sana adalah PHP, yang belum pernah saya coba sebelumnya. Namun manajemen memberi kami waktu beberapa minggu untuk mempelajari framework PHP, yang saya lakukan dengan menonton tutorial YouTube dan googling. Saya juga menulis kode dalam PHP, hanya untuk mengenal bahasanya. Akhirnya, kami masuk ke dalam tim dan bertahan di perusahaan itu selama satu tahun. Lalu, saya mendapat pekerjaan lain, melakukan beberapa pemrograman Python dan kemudian beralih ke Android. Beberapa tahun pertama sangat melelahkan dan menantang, penuh dengan pekerjaan dan pengetahuan baru. Namun lambat laun, rasa percaya diri saya tumbuh. Pada titik tertentu, saya pikir saya akhirnya menjadi seorang programmer sejati.

Di perusahaan mana Anda pernah bekerja, dan proyek apa yang Anda ikuti?

Perusahaan pertama saya hebat: Saya menyukai budaya di sana. Saya pernah menjadi anggota tim penelitian dan pengembangan mereka. Kami sedang mengerjakan sebuah aplikasi untuk membantu siswa mengatur studi kuliah mereka, di mana Anda akan memiliki beberapa UI yang ramah untuk melihat ruangan mana yang kosong, mana yang penuh, dan jadwal perkuliahan. Perusahaan kedua tempat saya bekerja adalah salah satu perusahaan pemrograman terbaik di kawasan ini. Saya bersenang-senang di sana: kami membuat berbagai jenis aplikasi. Bagi saya, sebagian besar waktu, saya mengerjakan aplikasi medis. Kemudian, selama tiga setengah tahun terakhir, saya bekerja di sebuah perusahaan yang menawarkan aplikasi bermain poker untuk pengguna. Dan di sana, saya mempelajari lebih banyak hal tentang Android.

Dari sudut pandang Anda, bagaimana masa depan Java dalam pengembangan Android (dan secara umum)?

Saya telah menulis kode terutama di Java, yang merupakan bahasa favorit saya. Dari semua bahasa yang saya gunakan, Java adalah bahasa yang paling indah dan mudah dipelajari karena sangat ramah. Java sudah digunakan di banyak proyek; tentu saja, ia memiliki masa depan. Anda dapat membuat hampir semua hal di Java: dari Android hingga aplikasi web, dari backend hingga frontend hingga desktop. Tetapi bahkan jika kita membayangkan bahwa Java tidak memiliki masa depan dan semua proyek yang ditulis di Java telah berhenti (yang mana hal ini tidak mungkin terjadi), Java masih merupakan bahasa yang bagus untuk mengenal pemrograman. Mengetahui Java, Anda dapat mempelajari Python atau C# dengan relatif cepat. Anda tidak akan menyukai pemrograman jika Anda pertama kali mempelajari bahasa yang rumit (atau jelek). Jika saya mempelajari PHP atau C++ dari awal, saya mungkin tidak akan menyukai pemrograman sama sekali: keduanya tidak mudah untuk dikuasai.

Pada titik manakah Anda memutuskan untuk menjadi seorang mentor?

Seperti telah saya sebutkan sebelumnya, banyak profesor saya yang hebat dalam pekerjaannya. Saya menghargai pengajaran mereka yang menginspirasi, yang membantu saya menjadi mahir dalam disiplin ilmu mereka dan memotivasi saya untuk memperoleh lebih banyak pengetahuan. Jadi wajar saja, ketika saya menjadi seorang pengembang dengan banyak pengalaman, saya merasa perlu mentransfer pengetahuan tersebut kepada seseorang karena saya tahu cara melakukannya dengan benar. Inilah sebabnya saya mulai bekerja di Codementor. Saya memiliki setidaknya sepuluh siswa reguler dan banyak sesi satu kali (atau lebih), dan saya membimbing mereka dari tidak mengetahui cara menyalakan komputer hingga memahami cara membuat kode aplikasi Java atau Android sederhana. Saya juga mengadakan sesi debugging langsung: ada opsi bagi pengguna Codementor untuk membuat janji temu dengan mentor dan mendapatkan bantuan dalam debugging. Selama sesi ini, saya memperbaiki bug dan menjelaskan apa sebenarnya (dan untuk tujuan apa) yang saya lakukan pada titik-titik tertentu. Pengalaman ini sangat mempengaruhi gaya mengajar saya. Saya ingin siswa saya di kursus Android sangat terlibat dalam penjelasan topik apa pun. Saya membimbing mereka melalui seluruh proses berpikir saat mereka menulis kode dan mengerjakan solusinya. Anda perlu menerapkan pendekatan pembelajaran yang bermakna karena itulah satu-satunya cara untuk menguasai sesuatu dengan benar.

Bagaimana Anda mendapatkan ide untuk meluncurkan kursus Android Anda sendiri?

Itu sungguh mengejutkan saya. Saya tahu CodeGym tidak memiliki kursus Android, jadi saya memutuskan untuk mengusulkan agar saya dapat membuatkan kursus tersebut untuk mereka dan mereka menerimanya. Saya mulai mempersiapkan materi, dan otak saya terus bekerja dalam dimensi yang berbeda. Kadang-kadang saya berjalan di jalan dan mengambil ponsel saya untuk menulis sesuatu untuk kursus. Saat itu, saya punya banyak ide: bagaimana jika kita menulis aplikasi ini, dan aplikasi itu, mencakup bidang pengetahuan atau konsep Android ini?.. Menyenangkan sekali membuat konten kursus dan mengkode aplikasi. Membuat kursus Android adalah pengalaman yang luar biasa bagi saya, dan saya masih mempunyai banyak perbaikan dalam pikiran saya. Selama sesi live kami, saya bercerita banyak tentang pengalaman profesional saya, terutama dari 3-4 tahun pertama bekerja. Saya pikir ini akan membuka banyak pintu bagi mereka. Saya tidak hanya mengajari mereka Java atau Android, tetapi juga membahas cara kerja di perusahaan dan cara merancang program di kehidupan nyata.

Apa kesalahan umum yang dilakukan siswa saat belajar pemrograman?

Kesalahan terbesar adalah berhenti belajar dan berpikir bahwa pemrograman jauh di atas kepala Anda. Saya masih membuat bug setelah tujuh tahun pengalaman kerja. Beberapa di antaranya sengaja – untuk menunjukkan kepada siswa cara melakukan debug. Beberapa bug terjadi begitu saja selama pengkodean langsung, dan siswa dapat melihat sendiri cara saya memperbaikinya untuk pertama kalinya. Satu-satunya hal yang berbeda bagi saya dibandingkan dengan pelajar adalah kemungkinan besar saya akan menemukan dan memperbaiki bug lebih cepat.

Apa perbedaan utama antara siswa yang memiliki pengetahuan/pengalaman pemrograman sebelumnya dan mereka yang masih pemula dalam coding?

Jika Anda pernah berenang dan mengenal seseorang yang tidak banyak melakukan aktivitas fisik, siapa yang lebih mungkin melakukan kompetisi fisik apa pun dengan lebih baik? Kamu tahu jawabannya. Hal yang sama berlaku untuk pemrograman: pengalaman sebelumnya dengan komputer/teknologi akan membantu Anda. Jika Anda seorang gamer komputer, akan lebih mudah bagi Anda untuk mempelajari pemrograman dibandingkan seseorang yang belum pernah menggunakan komputer. Seorang pemula di bidang teknologi akan memiliki jalan yang paling signifikan. Apakah Anda tahu bahasa Inggris dengan baik? Kelebihan instan, karena banyak materi tersedia untuk Anda, sebagian besar bahkan gratis (Youtube, StackOverflow, dll). Siapa yang akan belajar lebih cepat? Tentu saja, orang yang telah menghabiskan ribuan jam di depan komputernya dan mengetahui cara kerja teknologi secara umum. Namun jangan berkecil hati karena Anda tidak memiliki cukup pengalaman dengan teknologi: Anda juga bisa menjadi seorang pengembang; Anda hanya perlu lebih banyak waktu.

Bisakah Anda memberikan saran kepada pengguna CodeGym tentang cara mencapai tujuan pelatihan mereka dan menjadi pengembang?

Jelajahi teknologi

Teknologi membuat hidup kita lebih mudah. Saya telah belajar banyak hal dengan mengklik tombol secara acak dan menjelajahi lingkungan kerja saya. Saat Anda melihat sesuatu, apakah Anda ingin tahu cara kerjanya? Kemudian klik di atasnya!

Lupakan rasa takut

Nasihat terbesar saya untuk semua orang adalah jangan takut. Semua orang membuat bug dan kesalahan. Cukup google dan banyak riset, dan pada akhirnya Anda akan menemukan solusinya.

Investasikan waktu untuk belajar

Apa yang kami lakukan di kelas adalah setengah dari perjuangan; Anda perlu menginvestasikan lebih banyak waktu secara individu. Semakin banyak Anda melakukan antar kelas, semakin banyak Anda belajar, bukan? Jika Anda tidak melakukan apa pun di sela-sela kelas, Anda mungkin akan memiliki pengetahuan ( dari menonton ceramah saya ), tetapi Anda tidak akan dapat membuat sesuatu secara mandiri. Jika Anda mengikuti pelatihan Dasar-Dasar Java atau kursus Android, luangkan waktu setidaknya sama banyaknya untuk bekerja sendiri seperti saat kita bekerja bersama. Katakanlah kita punya waktu tiga setengah jam seminggu bersama saya; maka Anda harus melakukannya sendiri setidaknya tiga atau empat jam seminggu. Penting untuk membuat kode sendiri untuk memperkuat pengetahuan dan menghasilkan pertanyaan potensial untuk diskusi di masa depan. Jangan pernah ragu untuk mengajukan pertanyaan baik di kelas atau di obrolan Slack. Untuk bug yang persisten, kami bahkan dapat melakukan sesi debug langsung seperti yang kami lakukan di grup terakhir. Pembelajaran adalah jalan dua arah, dan terserah pada kita semua untuk menjadikan kursus ini pengalaman yang menyenangkan dan produktif. “Saya mengajari siswa hal-hal yang akan membuka banyak pintu bagi mereka.”  Wawancara dengan Milan Vucic, mentor di CodeGym University - 1