27 November 2016

Be Java Developer from Zero

Assalamu'alaikum..

Menjadi Developer (red: Programmer) di tahun-tahun ini ialah sebuah kebutuhan industri yang menjanjikan, karena perkembangan dunia IT sangatlah pesat, baik di lingkup nasional maupun internasional. Virus "start-up" pun mulai menjamur dimana-mana termasuk di dalam negeri. Berbagai industri kreatif yang tadinya tidak bersinggungan dengan dunia IT, kini semua mengarahkannya menuju kesana. Tak ayal semuanya berbondong-bondong meng "online" kan produk masing-masing. Dari proyek rintisan semacam start-up hingga industri yang sudah mapan sekalipun telah merambah semuanya, sehingga banyak sekali vendor-vendor perangkat lunak yang menyediakan solusi penyediaan sistem kebanjiran proyek di sana-sini.


Berbagi pengalaman sebagai developer, saya akan mencoba membagikan ilmu yang saya dapatkan selama berkecimpung di dunia profesional. Karena tak semua developer melulu berasal dari jurusan IT (CATAT!). Meskipun posisi developer dianggap sebagian orang sebagai posisi "kuli", namun disanalah asyiknya broh, sist. Loh kenapa ada sist? Mungkin akan tabu sekali jika teman-teman mendengar developer profesional dari kaum hawa?! It's totally wrong! Bahkan sebagai developer, terkadang mereka lebih telaten daripada kita kaum adam. Tentu saja kalau sudah berpasangan lebih baiknya berhenti bekerja dan mengabdi sepenuhnya untuk suaminya, hehe.
Balik lagi ke topik, sebagai roadmap dan kelanjutan tulisan ini nantinya saya akan memberikan tutorial-tutorial singkat dan padat diharapkan bisa menjadi referensi teman-teman untuk belajar teknologi Java (karena latar belakang saya developer Java) dan juga tips dan trik bagaimana mengatasi permasalahan dalam pemrograman Java secara praktis. Di tulisan awal kali ini saya hanya akan memberikan gambaran-gambaran bagaimana belajar menjadi Developer Java (khususnya untuk web, bukan desktop) dari nol. Berikut adalah persiapan yang dibutuhkan.
Daftar amunisi:
  1. Belajar Pemrograman Java
  2. Belajar HTML
  3. Belajar Command Line (Linux/Windows/macOS)
  4. Belajar Database
Belajar Pemrograman Java
Ini adalah step fundamental, karena kita akan belajar untuk mempersiapkan diri menjadi developer Java, jadi sebuah keharusan untuk menguasai dasar-dasar bahasa pemrograman Java. Mulai dari konsep OOP (Object Oriented Programming) nya Java, hingga I/O dan multi-threading. Kalau teman-teman sudah menguasainya, silahkan menuju bahan kedua.

Belajar HTML
HTML merupakan sebuah teknologi untuk menampilkan halaman website yang paling dasar. Karena kita akan berkecimpung di website maka menguasai juga merupakan keharusan. Silahkan gunakan browser teman-teman untuk mencari referensi yang melimpah ruah di jagat dunia maya ini.

Belajar Command Line (Linux/Windows/macOS)
Ini juga merupakan suatu keharusan. Mungkin pada awalnya teman-teman akan takut karena membayangkan mengetik sesuatu di terminal/command prompt adalah pekerjaan hacker, namun teman-teman tak perlu khawatir karena mengetikkan perintah pada terminal/command prompt itu sangat asyik. Karena itu hanyalah perintah yang diulang-ulang saja, bahkan kalau teman-teman malas menulis tiap ingin menjalankan perintah tersebut, teman-teman bisa menulis tiap perintah spesifik pada note dan tinggal copy-paste saat pada terminal/command prompt saat ingin menjalankan perintah tersebut. Mudah bukan?!

Belajar Database
Basis Data atau database ialah sesuatu yang mudah dipelajari. Bahkan saya yang tidak sempat mengambil mata kuliah tersebut di semester akhir saya alhamdulillah mampu mempelajari dasar-dasarnya dalam waktu sebulan saja. Intinya database ialah menyimpan data berupa text yang berbentuk tipe data tertentu. Untuk awal lebih baik kita mempelajari database relasional. Sarannya tentu database relasional sejuta umat yakni, MySQL, haha.

Ke-empat materi di atas ialah permulaan awal yang nanti akan saya bahas juga dalam tulisan-tulisan selanjutnya. Jika memang berniat untuk belajar dan terdapat pertanyaan "saya masih belum bisa apa-apa dan tidak tahu semua di atas apakah saya bisa?" Tentu jawabannya adalah bisa. Asalkan teman-teman tekun mengulik dan bertanya, insyaAllah teman-teman akan bisa. Mungkin cukup sekian dulu pendahuluannya. Untuk tulisan selanjutnya kita akan melakukan instalasi JDK (Java Development Kit) pada laptop/PC/Mac dan membuat program sederhana Hello World! (dalam satu tulisan).

"Ke semua ilmu yang akan saya bagikan ialah ilmu dunia, sehingga jangan sampai melalaikan teman-teman semua dari ilmu agama, dahulukanlah mempelajari ilmu agama yang akan membawa teman-teman dalam kemenangan yang nyata daripada kemenangan semu"

Wa'alaikumussalam..

08 January 2016

Java, being Developer

It's five months from my latest post where I'm still a university students and doing the research for my thesis. But right now, before the celebrate of the graduation in my University, I was hired by new comers of e-commerce company in my country named JD.id as Java Developer. Although my major in the University is Engineering Physics, but I'm not eligible to be an engineer especially at physics scope, because I'm still doing hard to understand about fluid mechanics, thermodynamics, transport phenomenon, automatics control, modern control, signal processing and another topics that correlated with physics. It's why I'm not at a good confident level when applying an engineering physics vacancy of the company, but I prefer to applying IT vacancy with more good confident level. And I was hired as Java Developer.
So it's the occupation which I've dreamed before. Without going to Computer Science or IT major I can go to there. So it's good to start my professional career at IT background, especially to be a professional developer (red: a hacker). For most people which work on IT, the networking skill and developing skill is separated, you can't mixed these skill into one person. So the infrastructure specialist don't have a good developing skill, otherwise. Yes this is my chance to have a good networking and developing skill at the same time.
Full Team of JD.id
It's too early to say that I'm a professional developer, but the small step to get achieved and expand my knowledge, my career which I'm doing consequently. With the past I have a C++ programming experience, python, and right now I need to learn more about Java, because Java is not only a programming, it's a technology that bring solutions for the most critical problem at enterprise. So it's time to starting, never ending to learning new thing. But one month passed, I was miss something which often discussed on the labs, especially on image processing and artificial intelligence. Arghhh... stay focus on your work right now, Java...