Professional Documents
Culture Documents
Ada juga masa ketika saya merasa bangga. Seperti ketika saya menulis
script pertama saya dan menjalankannya dengan sukses. Atau ketika saya
memasukkan aplikasi pertama saya ke dalam server dengan tulisan “hello
world”. Atau ketika saya menulis crawler pertama kali untuk mengisi
sebuah database. Saya merasa seperti tuhan yang memerintahkan antek-
antek dalam bentuk kode untuk melaksanakan perintah saya.
Tentu saja, hal ini terdengar bodoh sekarang. Namun, kala itu saya sedang
kuliah dan belum melihat seperti apa dunia nyata itu. “Silicon Valley” tidak
berarti apa-apa selain sebuah tempat nan jauh di sana.
Namun satu hal tentang saya yang Anda tidak ketahui – saya dulu
merupakan presiden klub IT di SMP. Saya belajar HTML dan flash,
menghabiskan waktu senggang saya bermain Sim City 3000, dan
menciptakan sebuah website tentang game tersebut. Saya selalu
mempunyai sisi geek di dalam diri saya.
Tidak lama bagi saya untuk kembali merangkul sisi tersebut. Film The
Social Network rilis pada tahun terakhir universitas saya. Setelah lulus,
saya bergabung dengan ranah startup Singapura yang masih muda sebagai
seorang wartawan teknologi.
Film The Social Network membuat industri teknologi terlihat keren
Saya seolah dikelilingi dengan tren bahwa semua orang harus belajar
coding. Menjadi programmer merupakan sesuatu yang keren, dan saya
berbohong jika tidak pernah berkhayal mengenai hal tersebut.
Dan gerakan belajar coding ini semakin meriah karena sangat mudah
untuk mulai mempelajarinya. Pada saat itu, gerakan open source telah
berkembang sebegitu rupa hingga siapapun dapat dengan mudah mencari
bantuan, sumber daya, dan dokumentasi lewat Google.
Gerakan belajar coding ini telah berkembang menjadi sebuah industri, dan
masih ada banyak ruang di pasar, berhubung suplai engineer yang tidak
banyak.
Dan sekarang kita ada di tahun 2015. Jika Anda ingin belajar programming
sebagai sebuah resolusi tahun baru, maka artikel ini cocok bagi Anda. Saya
berbagi sejarah pribadi ini bukan karena narsis (well, mungkin sedikit),
namun untuk menggambarkan kenyataan yang ada:
Jadi inilah yang terjadi: Saya belajar coding di waktu senggang dan
memastikan bahwa hobi saya itu tidak mengganggu pekerjaan utama saya.
Memang sulit, tapi satu-satunya cara adalah mengorbankan waktu luang
saya.
Atau mungkin Anda seorang profesional muda yang patah semangat dan
sedang mencari sesuatu yang berbeda. Anda sudah mengumpulkan cukup
banyak tabungan untuk merambah hal lain. Programming bisa saja
menjadi tiket Anda menuju karir yang lebih menjanjikan.
TujuanHasil
Sebuah script Ruby yang menghitung tag dalam blog teknologi untuk
melihat topik apa yang populer.
Sebuah script Ruby yang mencari informasi di dalam website dan menyalin
informasi tersebut ke dalam database lain.
Tabel dan bagan yang dapat disortir. Saya menyambungkan sebuah
aplikasi Ruby on Rails dengan D3.js, sebuah library visualisasi berbasis
javascript.
Statsy, aplikasi Rails yang bertindak sebagai database fakta yang memiliki
fungsi pencarian dan sebuah pembuat bagan berbasis Google Charts.
Setiap proyek yang sukses menjadi lebih rumit. Saya mulai dengan
menciptakan script, yang merupakan program yang ‘hidup’ di dalam
lingkungan bahasa pemrograman desktop Anda. Lalu saya belajar Rails,
sebuah framework untuk menciptakan aplikasi web yang dibuat di atas
bahasa pemrograman Ruby. Perjalanan ini menjadi lebih menyenangkan
saat saya coba mencari proyek yang berarti untuk dikerjakan. Seperti yang
ditulis oleh salah seorang programmer:
Saya mengetahui perasaan itu. Saya juga kewalahan ketika saya benar-
benar melihat tantangan yang ada di hadapan saya. Namun hal itu tidak
menghentikan saya. Triknya adalah dengan memulai dari hal yang kecil,
dan mengumpulkan kepercayaan diri untuk menangani proyek yang lebih
besar. Seiring berjalannya waktu, Anda akan belajar lebih cepat. Anda akan
kaget seberapa banyak yang bisa Anda serap.
Jika hal tersebut terjadi, ambil istirahat mental. Kunjungi masalah tersebut
nanti. Pikirkan secara seksama kemungkinan sumber kesalahan. Minta
bantuan orang lain. Dan ketika Anda telah memperbaiki bug yang ada,
adakan pesta kecil. Lalu ambil nafas panjang dan mulai lagi.
Bagi saya, tidak ada alasan ilmiah di balik keputusan yang saya ambil.
Saya awalnya memilih Python karena sering disebut sebagai bahasa ideal
bagi para pemula. Lalu, saya beralih ke Ruby karena kolega saya sudah
terbiasa dengan bahasa ini. Hal tersebut merupakan sebuah keputusan
sosial (lihat poin sebelumnya). Secara sekilas, hal itu sangat masuk akal.
Terlepas dari dukungan yang baik, Ruby memiliki salah satu syntax yang
paling bersih, membuatnya mudah untuk dibaca dan dipelajari. Sementara
itu, Rails memiliki banyak sekali plugin yang memberi sebuah aplikasi
berbagai kemampuan – seperti otentikasi pengguna, sebuah sistem
pengelolaan konten, atau sebuah dashboard admin – langsung ketika
pertama digunakan. Rails mempunyai fitur yang sangat banyak sehingga
membangunnya terasa seperti mencocokkan berbagai aplikasi mini
sekaligus, dan kemudian berusaha semampu Anda untuk membuatnya
pas.
Jadi jika tujuan Anda adalah untuk membuat sebuah prototipe berjalan
dengan momen menjengkelkan yang paling sedikit dalam waktu singkat,
maka Ruby on Rails bisa menjadi pilihan Anda. Untuk pembelajaran
lanjutan, simak video dari Michael Cheng, developer PHP berbasis di
Singapura yang baru-baru ini belajar Ruby on Rails.
Atur ekspektasi
Tergantung pada tujuan Anda, mencapai posisi dimana Anda menjadi
produktif berkat coding akan membutuhkan waktu yang tidak sedikit. Jika
Anda merupakan bagian dari sebuah startup dan Anda ingin berkontribusi
dengan melakukan coding front-end, belajar HTML, CSS, dan Git sudah
lebih dari cukup dan dapat dipelajari dalam hitungan minggu. Jika Anda
seorang calon entrepreneur yang ingin membangun sebuah aplikasi web,
belajar ketrampilan yang dibutuhkan dapat memakan waktu berbulan-
bulan tergantung dari niat Anda untuk belajar. Jadi mungkin Anda dapat
melihat diri Anda sendiri menggali-gali dalam kegelapan sebelum akhirnya
menemukan jalan keluar.
Ini merupakan hal penting yang harus ditanyakan sebelum Anda memulai,
meskipun saya belum mempunyai jawaban pasti bagi diri saya sendiri.
Meskipun sudah belajar selama dua tahun, mungkin nantinya saya akan
merasa jalan ini tidak sesuai dengan tujuan saya lagi.
Anggap Anda adalah seorang CEO startup dengan waktu yang terbatas.
Belajar programming mungkin kurang produktif untuk perusahaan Anda
ketimbang belajar desain user experience, user testing, analisa data, dan
keterampilan lainnya yang tidak dimiliki para developer. Pada akhirnya,
programming hanyalah sebuah alat untuk membuat sebuah produk yang
sukses.