Jawaban singkatnya: Selamanya.

Jawaban panjangnya: Selamanya.
Bukan berita baik memang, tetapi mencoba untuk mengukur progress melalui jumlah jam yang kamu habiskan untuk belajar bukanlah cara terbaik untuk mengukur sebuah kemajuan.

Saya mulai mempelajari iOS sejak akhir 2010. Sejatinya sudah hampir 5 tahun sejak itu, dari mulai mempelajarinya secara part time hingga mempunyai pondasi yang solid menurut saya. Saat ini saya bekerja sebagai full-time iOS developer di dua startup di Jakarta dan mencoba untuk “mengajar” melalui blog ini. Jadi tidak saja saya telah melalui tahapan untuk diri saya sendiri, tetapi saya juga mencoba berbagi pengetahuan dan pengalaman setiap hari. iOS development bisa memakan waktu lebih lama untuk dipelajari karena beberapa alasan.

Pertama, dasar-dasar iOS biasanya akan terasa sangat sulit untuk dikuasai -kebanyakan karena Objective-C merupakan bahasa pemrograman yang cukup sulit jika dilihat dari berbagai aspek (akan terlihat cukup keren memang jika dibandingkan dengan bahasa pemrograman lainnya). Mungkin akan membutuhkan waktu yang sangat lama untuk mengatasinya, bahkan bagi seorang developer berpengalaman sekalipun. Terlebih lagi, banyak sekali resource-resource diluar sana yang mengajarkan iOS tidak berfokus pada pemula.

Kedua, proses belajar tidaklah berhenti saat kamu berhasil membuat app pertamamu. Bahkan tidak akan berhenti saat kamu membuat app ke-100 mu. Sejujurnya, teknologi mobile (dan teknologi keseluruhan pada umumnya) berubah dengan sangat cepat yang jika kamu berhenti belajar, kamu akan tertinggal. Transisi ke bahasa pemrograman Swift bisa menjadi contoh yang bagus. Tidak peduli kamu mempunyai tiga bulan atau lima tahun pengalaman, perubahan ini merubah peta permainan dan memaksa seluruhnya untuk mempelajari sesuatu yang baru.

Saya sadar saat saya menyebutkan “belajar saja selamanya” tidaklah menolong, tetapi saya harus mencontohkan bahwa mencoba mempelajari iOS development dengan berpatokan pada sebuah kurun waktu tertentu bukanlah cara terbaik dalam berpikir bagaimana cara coding secara umumnya. Cara terbaik untuk mengukur kemajuanmu bukanlah seberapa lama yang kamu butuhkan untuk melakukan sesuatu, tetapi apa yang bisa kamu lakukan dengan hasil belajarmu.

Apply What You Learn
Fokus pada menghasilkan berlapis-lapis kualitas dari hanya sekedar mengukur waktu yang terbuang. Mungkin akan butuh sedikit waktu agar terbiasa untuk sampai pada titik ini. Tetapi tantanglah dirimu untuk melakukan apa yang paling sulit dan mengaplikasikan apa yang sudah kamu pelajari. Setelah mampu, segera buatlah sebuah app sederhana. Kemudian cobalah untuk menambahkan fitur dari setiap topik yang telah kamu pelajari ke dalam app sederhana tersebut untuk menjadi lebih keren dari sebelumnya. Saya sangat senang mempelajari sebuah topik semacam ini karena saya bisa dengan cepat mengetahui hasil dari usaha belajar saya. Hasil cepat memang merupakan motivator yang sangat hebat. :)

Coding Setiap Hari
Untuk rekan-rekan yang baru saja akan mempelajari coding, apapun bahasa pemrograman yang akan mereka pelajari, ada perbedaan yang sangat besar antara coding satu jam setiap hari dengan satu hari sekali setiap minggu. Jika kamu hanya coding sehari sekali setiap minggu, seberapa lama pun, kamu akan kehilangan efisiensi yang besar mencoba mengingat apa yang telah kamu pelajari minggu sebelumnya. Sangatlah penting untuk duduk mempelajari sesuatu dan berlatih setiap hari.

Ada keuntungan yang sangat besar menggunakan metode ini. Saya biasanya merangsang seseorang untuk bisa menjadi iOS developer dalam waktu 12 minggu. Memang waktu tersebut cukup singkat, tetapi mereka harus mempelajarinya setiap hari -bahkan pada saat weekend sekalipun. Karena ini sangatlah penting, topik yang mereka pelajari masih hangat dan mereka tidak harus menghabiskan banyak waktu untuk mengulang pelajaran sebelumnya. Mereka belajar secara konstan dan berusaha menerapkannya. Kamu mungkin tidak memiliki waktu 80 jam dalam seminggu untuk coding, tetapi bahkan jika hanya menyisihkan waktu sedikit setiap harinya akan jauh lebih baik dari sekedar mempelajari banyak hal sekaligus tetapi dalam waktu satu hari.

Belajar Bersama
Bahkan jika kamu mempelajari ini sendirian, akan lebih baik jika kamu mengajak seseorang yang bisa membantumu. Belajar pada satu sisi akan sangat menyenangkan saat kamu tidak mengalami masalah, tetapi akan sangat frustasi saat harus berusaha debugging pada pukul tiga dini hari. Google dan Stack Overflow hanya bisa membantu sejauh saat kamu benar-benar merasa buntu.

Yang bisa membuat perbedaan adalah memiliki seseorang yang turut belajar bersamamu -apakah itu seorang mentor ataukah seseorang yang lebih berpengalaman. Saat kamu mulai pertama kali, akan sangat menolong jika ada seseorang yang bisa menjawab pertanyaan-pertanyaanmu dan menolongmu menyingkirkan hambatan saat kamu membutuhkannya.

Pilih Sumber yang Benar
Begitu banyaknya sumber-sumber di luar sana, tetapi tidak semuanya bagus bagi para pemula. Treehouse baru saja meluncurkan kursus bagi mereka yang benar-benar pemula.

Jangan Berhenti Menjadi Pemula
Menjadi programmer adalah mengenai bagaimana memecahkan masalah yang kompleks sehingga menjadi solusi yang logis. Melakukan pendekatan untuk setiap masalah dengan cara seorang pemula dapat membantumu berurusan dengan hal-hal baru yang harus kamu pelajari -apakah itu topik dasar ataukah bahasa pemrograman lainnya.

Seperti yang saya sebutkan, banyak hal berubah dengan sangat cepat, dan adalah tugas kamu untuk senantiasa beradaptasi. Dalam jangka pendek, syntax-syntax berkembang dan teknologi baru akan senantiasa tersedia. Dalam jangka panjang, kamu mungkin harus menerima kenyataan bahwa suatu saat nanti dalam karir programming kamu, orang-orang akan berhenti menggunakan iPhone.

Beberapa tahun lalu, akan sangat sulit untuk mengajarkan iOS development kepada pemula. Device sangatlah lamban dan memory management juga sangat sulit. Walaupun saat ini akan jauh lebih mudah mempelajarinya dari sebelumnya, tetap saja masih ada perubahan. Sekarang dengan kenyataan bahwa setiap iOS developer harus mempelajari Swift, kita semua menjadi pemula lagi.

Karena sejatinya akan ada sesuatu yang baru untuk dipelajari. Memikirkan berapa banyak waktumu yang sudah terbuang bisa sangat menyiksa. Sebaiknya, cobalah untuk berpikir mengenai proses belajar; seperti hal-hal apa saja yang bisa kamu perbuat dengan hal baru tersebut, apa yang bisa kamu tambahkan ke dalam project kamu, dan apa yang bisa kamu pelajari selanjutnya. Biarkan code mengarahkanmu, bukan hitungan jam, dan jangan cepat menyerah jika terlihat ini akan membutuhkan waktu yang tidak sebentar.

Saran saya bagi mereka yang sedang belajar iOS development:
– Jika kamu BENAR-BENAR ingin belajar, berkomitmenlah. Jangan menyerah, biarkan kamu pelajari seberapa lama pun yang dibutuhkan. Biarkan itu bulanan atau bahkan tahunan. Kamu pada akhirnya akan memperoleh kemampuan yang kamu idamkan. Pada titik tertentu kamu akan merasa letih dan menyerah. Pilihan ada di tanganmu untuk tetap melanjutkan.

– Pelajari lebih detil sejak awal. Jika kamu meloncati sebuah topik tanpa kamu benar-benar mengertinya, maka bersiaplah kamu akan menghadapi kesulitan saat kamu mulai mempelajari topik-topik yang lebih advanced. Pelajari secara persis urutannya, atau ulangi dan pelajari kembali jika perlu.

– Jika kamu terbentur sebuah bug, komitmenlah untuk menyelesaikannya secara mandiri sejauh yang kamu bisa. Saya telah menghabiskan waktu berjam-jam bahkan berhari-hari untuk bisa menemukan bugs yang pada akhirnya terlihat sangat konyol, tetapi yang demikian malah akan menambah pemahaman programming saya lebih dalam lagi. Jika kamu betul-betul menyerah dan tidak bisa lagi menemukan jalan keluar, tanyakan kepada temanmu atau posting pertanyaanmu di forum-forum seperti Stack Overflow. Setiap bug yang berhasil kamu pecahkan sendiri adalah sebuah kemenangan, maka rayakanlah sepantasnya.

Good luck!

 

Sumber : https://fajarnugraha.com/waktu-yang-dibutuhkan-untuk-mempelajari-ios-development/