Showing posts with label lika liku software engineer. Show all posts
Showing posts with label lika liku software engineer. Show all posts
Sunday, February 21, 2016

Biaya Hidup di Kuala Lumpur


Gara-gara banyak yang nanyain tentang biaya hidup di Kuala Lumpur, di postingan kali ini, gw akan menjabarkan rincian per bulannya.

Rincian biaya hidup di KL per bulan (dalam Ringgit Malaysia)


Biaya hidup di Kuala Lumpur per bulan

Sewa Kamar

Sewa kamar ini biaya yang paling menentukan mahal murahnya biaya hidup di KL, makanya range nya besar sekali. Kamar di KL bermacam-macam, tergantung lokasinya, apa furniture nya sudah tersedia atau belum, fasilitasnya, dan tipe apartment nya. Semakin jauh dari transportasi umum, semakin murah pula harganya.

Berikut perkiraan harga apartment yang letaknya dekat dengan transportasi umum:
  • RM 450 untuk kamar medium di apartment yang biasa saja, biasanya tidak ber-AC dan hanya partial-furnished (hanya ada heater, kulkas, dan mesin cuci. Tempat tidur dan sebagainya beli sendiri).
  • RM 750 untuk kamar medium partial-furnished di condominium. biasanya ada kolam renang dan gym nya.

Beberapa saran dari gw supaya biaya sewa apartment jauh lebih murah:
  • Buat yang akan kuliah, jangan tinggal di akomodasi yang disediakan oleh kampus. Berdasar pengalaman gw, akomodasi dari kampus harganya super mahal.
  • Kalo memang berencana tinggal di KL dalam waktu lama (lebih dari setahun), carilah apartment yang non-furnished atau partially-furnished. Belilah tempat tidur dan lemari sendiri. Percayalah, harga tempat tidur dan peralatan lainnya jauh lebih murah dibanding harga sewa fully-furnished apartment setahun.
  • Cari teman yang bener-bener klop dan sewa 1 unit apartment. Satu unit partially-furnished apartment dengan 2 kamar berkisar RM 1.000 - RM 1.500, sedangkan yang 3 kamar, harganya RM 1.500 ke atas. Condominium dengan 3 kamar yang fully-furnished bisa mencapai RM 2.000 - 2.500 atau lebih. Jadi kalo dirata-rata, biayanya sekitar RM 750 per kamar. Dan itu bisa untuk berdua, sehingga masing-masing hanya membayar RM 375 per bulannya. Bahkan dulu, ada teman gw yang tinggal berenam di apartment dengan 3 kamar. Sehingga masing-masing orang hanya membayar RM 250 per bulannya. Intinya, makin banyak orang dalam satu apartment, makin murah juga biaya sewa kamar per orang.

Kalo mau nyewa apartment, jangan lupa bawa uang lebih untuk deposit. Biasanya mereka meminta 1 bulan uang sewa bayar di muka, ditambah 1,5 atau 2,5 bulan untuk deposit. Deposit akan dikembalikan saat kamu keluar.

Utility Bill dan Internet

Konsepnya mirip dengan sewa kamar, utility bill dan internet biasanya dibagi rata dengan jumlah orang yang tinggal di satu apartment. Jadi semakin banyak orang yang tinggal bersama, semakin murah juga bill-nya. Asal jangan ada temen kamu yang nyalain AC 24 jam aja, ya.

Groceries

Groceries di sini bukan cuma ngomongin bahan makanan doank. Tapi udah gw jadiin satu paket sama keperluan sehari-hari seperti sabun, shampoo, odol, peralatan make up, dan sebagainya. Biasanya sih, biaya groceries buat cowok jauh lebih murah dibanding cewek. Kenapa? Karena peralatan make up itu mahal. Udah gitu, cewek biasanya lebih ribet. Buat keramas, shampoo aja ga cukup. Harus pake conditioner, hair mask, dan lainnya. 

Makan

Semakin tinggi biaya groceries, biasanya semakin kecil biaya makan. Seenggaknya, begitu asumsi gw. Biaya makan berkisar RM 10 - RM 15 per hari. Biaya ini meliputi makan pagi yang ringan (buah, roti, atau susu), makan siang, dan makan malam yang berat. Kalo pas weekend mau jalan-jalan dan makan di mall, biaya makan nambah bisa jadi RM 20 - RM 30 per hari. 

Kalo mau berhemat, masaklah sendiri di rumah. Berdasar perhitungan gw, masak sendiri bisa menghemat biaya makan sampe 3-4x lipat. Bersyukurlah buat yang hobi masak. Hehehehehe.

Entertainment

Entertainment di Kuala Lumpur mirip-mirip dengan Indonesia. Ada bioskop, bowling, ice skating, karaoke, laser tag, rock climbing, jalan-jalan ke tempat wisata sekitar, main escape game, sampe mampir ke apartment temen dan ngobrol sampe subuh.

Sebenernya, RM 150 per bulan untuk entertainment itu sudah lebih dari cukup. Toh, ga setiap weekend butuh entertainment, kan? Apalagi anak kuliahan kan banyak tugas. Kalo jalan-jalan mulu, kapan skripsinya selesai? Hahahaha...

Sekedar perkiraan harga:
  • Sekali nonton bioskop biasanya RM 9-14, tergantung film dan waktunya. Kalo pagi biasanya ada early bird price. Terkadang, pake credit card tertentu juga bisa dapet buy 1 free 1.
  • Bowling, RM 15 per game.
  • Escape game, RM 25-30 per game per orang.
  • Ice skating, RM 20 buat maen sepuasnya seharian (dengan catatan, bawa sarung tangan dan kaos kaki sendiri). 
  • Laser tag, RM 50 buat 3 game.
  • Badminton, RM 20 per lapangan per jam.
  • Rock climbing, RM 50 per sesi.
  • Go kart, RM 50 untuk 30 menit.
  • Berenang, gratis. Kalo di apartment sendiri ga ada kolam renang, bisa numpang di apartment temen.
  • Nongkrong di rumah temen, seikhlasnya. Hihihi.

Biaya Dokter

Biaya dokter, obat-obatan dan lainnya biasa ditanggung oleh asuransi. Kamu cukup nunjukin kartu asuransi yang dikasih sama kampus / kantor, dan ga perlu bayar apa-apa lagi. Lagian, kamu ga sakit tiap bulan, kan?


Terus, Stef Sendiri, Berapa Biaya Hidupnya Sebulan?

Untuk menjawab pertanyaan tersebut, gw berbagi informasi mengenai kepribadian dan rutinitas gw dulu.
  • Gw ga gitu suka berbagi kamar, makanya gw menyewa satu kamar berukuran sedang sendirian. Gw tipe orang yang terkadang butuh me-time buat nge-charge energi.
  • Gw ga pelit soal makanan. Tapi memang hampir ga pernah makan berat kalo pagi. Biasanya paling cuma minum susu dan makan buah. Cuma kadang-kadang aja sarapan nasi lemak. Udah dari kecil memang ga pernah makan berat pagi-pagi.
  • I eat heavy lunch and heavy dinner. Tapi biasanya buat dinner, gw masak sendiri di rumah. Apalagi kalo lagi ga sibuk atau ga banyak kerjaan. Kalo weekend pun, seringnya masak dan makan di rumah biar hemat. Selain seru, masak dan makan di rumah itu 3-4x lebih murah dan lebih bergizi dibanding makan di restoran. PS: Mie instant jarang ada dalam menu makanan gw.
  • Walau gw sering masak di rumah, kadang-kadang gw juga memanjakan diri makan yang enak-enak di luar, seperti sushi, steak, pizza, green curry, dan lainnya. Papa gw selalu bilang, kalo mau makan apa, selagi masih muda dan punya cukup uang, beli aja. Dulu, pas masih muda, dia ga punya uang buat beli makanan yang dia pengen. Sekarang, dia udah punya uang, tapi tetep ga bisa beli makanan yang dia pengen, karena harus menjaga kesehatan.
  • Soal entertainment, gw hobi nonton bioskop. Hampir tiap minggu pasti nonton bioskop. Kadang bisa nonton 2-3x seminggu. Tapi nontonnya ga pake beli pop corn, ya. Selain itu, hampir tiap minggu gw juga main badminton, dan sesekali main go kartlaser tag, rock climbing, bowling, dan entertainment lainnya.
  • Jarang banget shopping. Beli barang kalo bener-bener perlu doank.
  • Make up minimalis. Gw lebih concern di perawatan seperti body lotionSPF, krim mata, bedak / foundation, sama lip balm doank.
  • Hobi jalan-jalan dan ngemil. Jalan-jalan yang gw maksud di sini cuma pergi ke tempat wisata di sekitar KL aja, kaya Sunway Lagoon, Zoo Negara, KL Bird Parki-City, Genting, Berjaya Hills, Melaka, Legoland, Pulau Redang, dan lainnya. Jalan-jalan ke luar Malaysia ga termasuk di perincian di atas, ya. 
  • Gw kemana-mana naik mobil. Makanya biaya transportasi gw murah. Walau bensin gw tanggung sendiri, tapi perawatan mobil ditanggung kantor, secara itu mobil kantor. Soal biaya, jelas lebih murah dibanding naik taksi atau naik transportasi umum. Enak, kan?Hehehehe.

Berdasarkan kepribadian dan rutinitas gw di atas, gw rata-rata menghabiskan RM 1.400 - 1.600 per bulannya. Satu per tiganya buat biaya sewa kamar, internet, dan utility. Gw memang bukan orang yang hemat banget, tapi gw juga ga boros banget. Gw menikmati hidup dengan cara yang tidak berlebihan.

Untuk yang mau kuliah, kerja, atau cuma sekedar iseng numpang tinggal di KL selama sebulan, semoga informasi di atas bermanfaat!
Monday, February 15, 2016

Lika-Liku Software Engineer: Happy 4th Career Anniversary

Dosen gw yang super jenius pernah bilang:
"Semua pengetahuan tentang coding, database, software design dan sejenisnya, yang kita pelajarin di kampus ini, hanya sebagai fondasi saja. Maksimal mungkin hanya 20% dari kenyataan di luar sana. Bila sebagian dari kalian nanti, bekerja di bidang software, jangan kaget kalo nanti, akan ada banyak sekali hal yang kalian tidak tahu. Pengaplikasian di dunia nyata adalah belajar tahap berikutnya, di mana kalian akan mempelajari 80% sisanya."
Kalimat-kalimat itu membekas di otak gw, sampai-sampai gw ngerasa takut dan tidak percaya diri saat awal-awal gw bekerja.

Hari pertama gw sebagai software engineer, gw langsung belajar sesuatu yang bener-bener baru: SQL Server Reporting Services (SSRS). Cukup menarik, sih, walau belom nyentuh coding sama sekali, lebih ke database query dan reporting

Satu bulan setelahnya, sebagai selingan nungguin senior gw nyelesain module, gw belajar simple javascript, membuat auto complete untuk text box, yang juga merupakan hal baru bagi gw.

Selesai berkutat dengan SSRS, dua bulan kemudian, gw belajar RS232 programming. Again, another new thing. Gw cukup lama fokus di RS232 dan gw cukup tertarik. Banyak mesin-mesin baru yang bisa gw otak-atik: Access Control Gate (ACG), Uninterrupted Power Supply (UPS), Credit Card Terminal, Note Acceptor, Card Issuing Machine, I/O Board, dan beberapa mesin lainnya.

Belum sampai enam bulan setelah gw join, gw jadi salah satu anggota tim utama dalam projek Express Rail Link (ERL), client yang cukup ternama di bidang rail trasnportation. Orang awam lebih mengenalnya dengan sebutan MRT / LRT. Di projek ini, gw menjadi satu-satunya engineer yang fokus di Access Control Gate (ACG) Application. Aplikasi ACG ini bukan cuma fokus di gate saja, tapi harus terintegrasi dengan beberapa komponen pendukung lain seperti Smart Card Reader, Barcode Reader, Visa payWave reader, Ticket Capture Unit, dan UPS

Gw masih inget pas gw berangkat ke Shanghai selama 2 minggu untuk training. Saat itu, gw sendiri takut dan ga yakin kalo gw bisa nyelesain semua ini, mengingat gw ga punya pengalaman sama sekali, dan gw juga yang paling junior yang belum genap 7 bulan di kantor ini. Untungnya, 8 bulan kemudian, semua selesai, ga pake delay. Gw sangat bersyukur bisa bekerja bersama bos dan senior-senior gw yang selalu suportif.

One of my babies go live!! (June 2013)

Setelah ERL projek, projek-projek lain pun berdatangan. Gw balik lagi mendalami database, dan lagi-lagi gw belajar sesuatu yang baru: data warehouse dan OLAP report. Prosesnya melibatkan 3 software baru yang sama sekali ga pernah gw sentuh sebelumnya: SSIS, SSAS, DevExpress.

Soal data warehouse, dulu sempat belajar teorinya doank pas kuliah. Pas gw praktekin di sini, gw baru mengerti sepenuhnya dan gw baru sadar kalo ini sungguh powerful. Lucunya, gw juga baru sadar kalo dosen gw yang ngajarin soal data warehouse dulu, dia sebenernya ga ngerti apa-apa.

Masih berkutat di report, gw juga ngerjain dashboard report untuk beberapa projek. Dari sini, gw juga banyak belajar javascript dan XML.

Bosen dengan report, projek berikutnya membuat gw lebih fokus ke aplikasi Web, yang tentunya berhubungan dengan .NET, Javascript, dan AJAX.

Dalam masa senggang, gw sering dijadikan bagian RnD untuk meriset sesuatu. Dari riset tentang TCPcryptography, brute force, cloud computing, web services, devices, dan sebagainya. Gw sendiri, sih, enjoy aja. Gw memang suka sesuatu yang baru dan gw tahu kalo gw itu fast learner. Bahkan sebelum genap 2 tahun sebagai software engineer, gw diangkat menjadi senior software engineer.

Seiring perjalanan gw sebagai senior, selain mementor 2 junior, gw juga terus mendalami database sampai akhirnya gw mendapatkan sertifikat Microsoft: Microsoft Certified Solution Expert (MCSE) - Data Platform.


Tiga tahun sepuluh bulan kemudian, gw memutuskan untuk resign dan pindah ke Singapore. Yah, sebenernya ini keputusan yang cukup sulit bagi gw. Walaupun begitu, meski sudah ga satu kantor lagi, gw masih tetap berkomunikasi dengan bos-bos dan teman-teman kantor gw yang lama. Hampir setiap hari kita masih saling menyapa dan meledek.

Di kantor yang baru pun gw terus belajar hal baru: Oracle, BizTalk server, bahkan finance. Iya, kantor gw yang baru bergerak di bidang finansial, dan sepertinya gw akan belajar finansial lebih banyak daripada belajar IT. I call it fate, karena dulu gw sempat berpikir mau ambil S2 di Finance. Hahahaha.


Dan hari ini, 15 Februari 2016, tepat 4 tahun gw berkarir di dunia IT. Gw cuma mau bilang kalo gw ga setuju apa yang dosen gw bilang. Dia salah. Gw ngerasa, saat kuliah, kita sebenernya hanya belajar kurang dari 5% dari apa yang akan kita pelajari dalam dunia IT yang nyata. Tapi 5% itu fondasi. Ibarat bangunan, kalau fondasinya kurang kuat, ga akan bisa menjulang tinggi ke atas.

Gw yakin, gw juga ga akan pernah mengerti dunia IT 100%. IT begitu luas dan berkembang sangat cepat. Mungkin butuh waktu ratusan tahun untuk mendalami seluruh seluk beluk IT. Gw sendiri ga ngerti networking, ga pernah bikin IOS application, ga pernah bener-bener mempraktikkan AI (Natural Language Processing, Machine Learning, Fuzzy Logic, dan lainnya), ga pernah nge-hack system, ga pernah bikin game, dan banyak hal lainnya yang gw ga ngerti. IT terlalu luas, bahkan dunia database dan programming sendiri, sangatlah kompleks.

Bagi kalian yang berkecimpung di dunia IT seperti gw, be humble. Ga ada orang yang ngerti semuanya. Jangan takut untuk belajar dan jangan pernah berhenti belajar.

~Mereka yang tua, adalah mereka yang berhenti belajar.~

Happy 4th Career Anniversary To Me!
Saturday, January 23, 2016

Singapore Employment Pass

Akhirnya, setelah hampir 3 minggu menunggu, Singapore Employment Pass gw di approved juga! Terima kasih buat semuanya yang sudah membantu baik dalam bentuk doa, kata-kata motivasi, tenaga, ataupun waktu. Really appreciate it!

Kali ini, gw mau menjelaskan proses aplikasi Singapore Employment Pass. Tentunya, sebelum memulai proses ini, kamu harus sudah mendapatkan tawaran pekerjaan dulu di Singapore. Buat yang lagi nyari kerjaan, coba daftar di situs-situs pencari kerja seperti Monster, jobstreet, jobscentral, atau sejenisnya.

Balik lagi ke topik, secara garis besar, begini tahap-tahapnya pembuatan Singapore Employment Pass:
  1. Start Application
  2. In-Principle Approval
  3. Notification Letter
  4. Card Registration
  5. Work Pass Card

1. Start Application

Inilah titik awal di mana pembuatan Employment Pass (EP) / S Pass kamu dimulai. Setelah employer kamu mulai menyerahkan semua dokumen untuk Employment Pass ke MOM, kamu bisa mengecek statusnya sendiri secara online di website Ministry of Manpower (MOM) Singapore.

Proses ini biasanya memakan waktu 1-8 minggu. Gw sendiri, EP di-approved 13 hari kerja setelah date of application. Sedangkan Mr Hamburger,  yang juga ikut pindah ke Singapore, 14 hari kerja.

2. In-Principle Approval

Setelah 1-8 minggu, kalo semuanya lancar, status EP kamu bakal berubah menjadi 'Approved'. Selamat!! Pada tahap ini, employer kamu akan mengirimkan In-Principle Approval Letter (IPA). Cek baik-baik data yang ada di sana dan pastikan data diri kamu benar dan gaji juga sesuai persetujuan. IPA ini harus kamu print dan harus kamu bawa saat melewati imigrasi Singapore.

Selain sebagai bukti bahwa kamu masuk ke Singapore untuk bekerja, IPA juga berfungsi sebagai single entry visa. Kita sebagai orang Indonesia memang tidak butuh visa, namun beberapa negara asing membutuhkan visa untuk masuk ke Singapore. IPA hanya berlaku selama 6 bulan, artinya, dalam waktu 6 bulan, kamu harus segera melapor ke MOM untuk mendapatkan Work Pass Card.

3. Notification Letter

Warga negara asing yang memasuki Singapore diwajibkan mengisi kartu kedatangan seperti yang terlihat di gambar berikut:
Disembarkation / Embarkation Card

Saat di imigrasi, kamu harus menyerahkan IPA dan kartu imigrasi di atas kepada petugas imigrasi. Halaman pertama dan kedua dari kartu imigrasi, akan disimpan oleh petugas. Sedangkan halaman ketiga dan IPA kamu akan dikembalikan padamu. SIMPAN HALAMAN KETIGA KARTU IMIGRASI INI BAIK-BAIK.

Selanjutnya, datanglah ke kantor dengan membawa passport aslimu dan halaman ketiga kartu imigrasi tadi. Ikutin aja apa yang diminta oleh employer-mu. Gw sendiri hanya perlu menanda-tangani Declaration Form, yang intinya gw menyatakan kalo gw tidak sedang menderita / tidak pernah menderita HIV, AIDS, dan TBC; serta setuju untuk memberikan informasi apapun yang diperlukan oleh MOM. Sebagian mungkin harus melaksanakan Medical Check-Up, semua tergantung permintaan dari MOM dan biasanya sudah tertulis di dalam IPA.

Kemudian employer akan memberimu Notification Letter dan segala dokumen yang perlu kamu bawa ke kantor MOM, seperti pasport, IPA, kartu imigrasi, dan declaration form yang sudah ditandatangani olehmu dan oleh pihak employer. Daftar dokumen yang harus kamu bawa tercantum di halaman kedua Notification Letter.

4. Card Registration

Paling lambat, dua miggu setelah kamu mendapatkan Notification Letter, kamu harus segera melakukan Card Registration di kantor MOM. Kalo tidak, EP mu akan dibatalkan.

Setelah semua dokumen siap, buatlah appointment dengan MOM secara online melalui link INI. Datanglah pada tanggal dan waktu yang telah kamu pilih dengan membawa semua dokumen untuk pengambilan foto dan sidik jari.

Berdasarkan pengalaman gw, kamu boleh saja datang 1 jam lebih awal. Kalo sepi, bisa langsung dilayani. Gw sendiri di kantor MOM kurang dari 10 menit dan semua sudah selesai. Mereka kerjanya cepat dan tidak bertele-tele.

Setelah selesai, mereka akan mengambil semua dokumen yang kamu bawa, kecuali passport, IPA, dan Notification Letter. Mungkin ada yang bertanya, "Lho, terus kalo kartu imigrasinya diambil, gw ga bisa keluar dari Singapore sampe Work Pass Card gw jadi, donk?" Tenang saja, berbekal Notification Letter, kamu sudah boleh bekerja dan juga keluar masuk Singapore sebelum Work Pass Card kamu jadi, asalkan Notification Letter kamu belum expired.

Notification Letter ini sendiri berlaku sampai 1 bulan dari tanggal pengeluaran, waktu yang lebih dari cukup untuk menunggu MOM mengeluarkan Work Pass Card.

5. Work Pass Card

Empat sampai lima hari kerja setelah kamu menyelesaikan proses Card Registration, MOM akan mengirimkan Work Pass Card kamu ke kantor. Inilah akhir dari proses pembuatan Employment Pass.

Selamat, kamu resmi menjadi pekerja asing yang legal di Singapore!! Work Pass Card ini akan menjadi KTP-mu selama di Singapore, yang bisa kamu gunakan sebagai tanda pengenal, membuka rekening bank, keluar masuk Singapore dengan lebih leluasa, menggunakan auto gate di bandara, dan sebagainya.
Work Pass Card / Employment Pass Card

Frequently Asked Questions (FAQs) and Answers

Selama proses pembuatan Employment Pass (EP), banyak sekali pertanyaan yang timbul di benak gw, seperti pertanyaan-pertanyaan berikut ini. Barangkali ada yang punya pertanyaan-pertanyaan serupa, semoga jawaban gw bisa membantu.

Apakah perbedaan Employment Pass (EP) dan S Pass?
Ada banyak tipe visa kerja Singapore, tapi yang gw sering denger cuma 2: EP dan S Pass. S Pass itu untuk skilled and semi-skilled workers dengan gaji minimum SGD 2.200 per bulan. Sedangkan EP itu untuk professionals dengan gaji minimum SGD 3.300 per bulan. *Oops, ketauan deh kalo gaji gw di atas SGD 3.300*
Gw sendiri belum begitu paham apa keuntungannya EP dibanding S Pass, mungkin berpengaruh kalo kamu mau jadi Permanent Resident. Yang gw tau sekarang, pemegang EP dengan gaji minimum SGD 5.000 ke atas, bisa memperoleh Dependant's Pass, artinya bisa membawa serta pasangan dan anak yang berumur kurang dari 21 tahun untuk ikut tinggal di Singapore. Untuk yang mau membawa serta orang tua, gaji minimumnya adalah SGD 10.000 per bulan.
Apakah gw mempunyai kualifikasi yang cukup untuk mendapatkan EP atau S Pass?
Silakan cek di SINI.
Berapa lamakah proses pembuatan Employment Pass (EP)?
Berkisar antara 1-8 minggu. Gw sendiri approved setelah 13 hari kerja.
Selama proses pembuatan EP, bolehkah gw dateng ke Singapore?
Boleh-boleh saja.
EP gw statusnya 'Pending inputs from vetting agencies. Expected outcome is 2 months from the Date of Application', apa maksudnya?
Status EP gw dari Pending ➾ Pending inputs from vetting agencies Approved. Stuck di status 'Pending inputs from vetting agencies' sekitar 10-11 hari kerja.
Yang gw denger, kalo universitasmu tidak tercantum di SINI, MOM akan melakukan penyelidikan lebih lanjut. Status 'Pending inputs from vetting agencies' itu berarti MOM sedang melakukan pengecekan terhadap pihak kampus, untuk memastikan bahwa kamu benar-benar mahasiswa di sana, CGPA (kalo di Indonesia lebih dikenal dengan nama IP) yang tercantum benar, dan ijazahmu asli. Lamanya proses ini biasa tergantung dari pihak kampus / universitasmu. Berdoa saja mereka merespon dengan cepat.
Apa yang harus gw lakukan kalo status EP gw 'Pending inputs from vetting agencies'?
Cukup menunggu dan berdoa.
Setelah EP gw di-approved, gw harus ngapain?
Employer-mu akan mengirimkan In-Principle Approval (IPA) Letter. Kamu cukup nge-print surat ini dan menunjukkannya ke petugas imigrasi saat memasuki Singapore. Setelah itu, datanglah ke kantormu sambil membawa passport asli dan kartu imigrasi. Employer-mu pasti tahu apa yang harus kamu lakukan setelah itu.
Apa itu In-Principle Approval (IPA)?
Selain sebagai bukti bahwa kamu masuk ke Singapore untuk bekerja, IPA juga berfungsi sebagai single entry visa.
Apakah gw harus terbang menuju Singapore dari Indonesia?
Tidak. Dari negara mana saja tidak masalah.
Apakah gw harus medical check-up?
Tergantung permintaan dari MOM. Biasanya tertulis di dalam IPA apa kamu harus medical check-up atau tidak. Kalau tidak, kamu hanya perlu menandatangani declaration form yang menyatakan kalo kamu tidak menderita HIV, AIDS, dan TBC.
Declaration Form nya dapet dari mana?
Pihak MOM sudah mengirimkannya ke employer kamu, pada waktu yang bersamaan dengan IPA kamu.
Bolehkah gw medical check-up di luar Singapore?
Tergantung tipe visa nya. Ada yang boleh, ada yang tidak. Kalopun boleh, yang dites harus memenuhi syarat. Kalo ga salah, mereka nge-test HIV, TBC, Malaria, dan Syphilis.
Supaya aman, kalo memang diharuskan medical check-up, lebih baik medical check-up di Singapore saja, dokter sana pasti sudah terbiasa dan lebih tahu apa yang harus dilakukan.
Setelah gw punya IPA, bolehkah gw masuk ke Singapore sebagai turis untuk sekedar berlibur atau mencari tempat tinggal?
Boleh. Kalo memang niatnya mau berlibur, saat masuk imigrasi, tidak perlu menunjukkan IPA.
Setelah gw dapet Notification Letter, apa yang harus gw lakukan?
Dalam waktu kurang dari 2 minggu, segera buat appointment dengan MOM secara online di SINI. Datang ke kantor MOM pada tanggal dan waktu yang disepakati untuk pengambilan foto dan sidik jari. Jangan lupa membawa semua dokumen yang dibutuhkan, seperti yang tertulis di halaman kedua Notification Letter.
Bolehkah gw bekerja atau keluar masuk Singapore sebelum Work Pass Card gw jadi?
Boleh, asalkan Notification Letter masih berlaku.
Bolehkah gw bekerja sebelum mempunyai Notification Letter?
Tidak boleh.
Employment Pass gw di-reject. Gimana, donk?
Wah, maaf sekali, kalo soal ini gw ga bisa membantu. Mungkin bisa meminta employer kamu untuk menanyakan alasannya dan mengajukan appeal.
Buat para pembaca yang sedang gundah gulana menunggu Employment Pass-nya di approve, tunggu aja dengan sabar dan banyak-banyak berdoa!
Sunday, January 3, 2016

Lika-Liku Software Engineer: Interview Ala Microsoft

Selama berkarir di dunia IT, gw tentunya sangat familiar dengan proses interview untuk software engineer. Proses interview memang beraneka ragam, tapi biasanya sangat standard: duduk, ngerjain tes tertulis, interview lisan, dan pulang, seperti yang pernah gw ceritakan di post Perjuangan Mencari Kerja.

Namun suatu hari, gw dapet panggilan interview dari salah satu perusahaan di Singapore, yang memiliki style interview yang unik. Style unik berasal dari sang CTO (Chief Technology Officer), berkewarganegaraan Canada, yang pernah bekerja di Microsoft selama kurang lebih 15 tahun. Dia ikut andil dalam pembuatan Microsoft Windows 98, Windows XP, sampai ke SQL Server 2012.

Ketika gw tanya kenapa dia keluar dari Microsoft, dia menjawab kalo dia bisa balik ke Microsoft kapanpun dia mau, tapi sekarang dia mau pensiun dini. Eeehh apa daya, salah satu temannya yang juga warga negara Canada, baru saja membuka cabang di Singapore dan meminta bantuan dia buat memimpin technical team-nya.

Singkat cerita, tibalah gw di situ, bertemu dengannya untuk interview. Dia bilang dia biasa meng-interview para kandidatnya dengan 'Interview Ala Microsoft', cuma versi lebih gampang aja. Karena kalo terlalu susah dan surprisingly gw berhasil menjawab, gw kerjanya di Microsoft, bukan di kantor ini. Orang-orang mungkin lebih mengenal style interview ini dengan sebutan 'Whiteboard Interview'.

Whiteboard interview (Startup Helium, 2015)
Interview-nya face to face, perorangan, tipikal interview IT pada umumnya. Bedanya, tidak ada tes tertulis atau tes langsung di komputer yang harus dikerjakan.

Seperti biasa, awalnya dia mempersilakan gw duduk dan memperkenalkan diri dulu. Kemudian meminta gw menjelaskan pengalaman dari technical skill yang gw cantumkan dalam resume, seperti berapa lama pengalaman gw di C#, Java, SQL, dan lainnya; projek apa yang gw bikin pake C#, Java, dan lainnya.

Kemudian dia bertanya tentang perusahaan gw yang sekarang, kerjanya ngapain, role and responsibility nya apa, ikut andil di projek apa aja, tiap projek biasanya tim nya berapa orang, pembagian tugasnya gimana, apa yang dikerjakan oleh anggota tim yang lain, relasi sama teman satu tim gimana, relasi dengan atasan gimana, dan lainnya.

Setelah sepuluh menit wawancara lisan, barulah dia mulai technical test. Dia memberikan gw beberapa sepidol dengan warna yang berbeda-beda. Dia sendiri juga memegang sepidol dengan warna yang berbeda-beda, sehingga masing-masing dari kita mempunyai sepidol berwarna-warni sendiri-sendiri. Sesi pertanyaan pun dimulai. Pertanyaan meliputi:

  1. SQL Server dan Database Design.
  2. Programming.
  3. Tes logika.

Jumlah pertanyaan bervariasi, soalnya juga berbeda-beda tiap kandidat, karena fresh dari otaknya saat itu juga. Gw tahu hal ini karena salah satu temen gw juga pernah interview di sana dan kemudian merekomendasikan gw. Pertanyaan yang temen gw dapet, berbeda dengan pertanyaan yang gw dapet.

Setiap sesi cuma ada 1 pertanyaan, kecuali soal logika yang terdiri dari 2 pertanyaan, sehingga totalnya ada 4 pertanyaan. Tapi, dia bakal menanyakan setiap pertanyaan sampai detail, dan dia meminta gw menjawab dengan berbagai cara yang berbeda-beda. Jadi, walaupun pertanyaannya cuma 4 nomer, tapi nomer 1 nya aja udah ada 1a, 1b, 1c, 1d, dan seterusnya sampai dia puas.

Sesi test dimulai dari SQL dan database design. Dia bikin case study dan nyuruh gw bikin database design buat case study tersebut. Setelah selesai men-design, dia bakal nanya gimana cara dapetin data untuk function tertentu. Awalnya gampang banget, cuma butuh 1 table sama 1 select statement doank. Abis itu baru requirement dari case study-nya jadi makin kompleks, jumlah table bertambah, bikin query-nya pun makin rumit.

Bagian programming juga dimulai dari pertanyaan paling gampang, contohnya bagaimana cara membat fungsi X tanpa meggunakan built-in library. Setelah gw tulis code-nya di papan tulis, terus dia bakal bilang: Gimana cara mempersingkat iterasinya? Begitu gw ganti code-nya buat memenuhi kriteria baru, dia bakal nanya lagi: Gimana kalo ga pake loop? Gimana kalo ga pake ini itu? Gimana kalo cuma boleh 1 line? Dan 'gimana kalo' lainnya...

Terakhir adalah tes logika. Tes logika kali ini adalah tes logika murni tanpa embel-embel programming atau database. Buat gw yang hobi bacain ridde dan penggemar puzzle matematika, tes logika kali ini bisa dibilang ga begitu susah, cuma memang lebih tricky dibanding tes logika di perusahaan-perusahaan lain yang gw tahu.

Lamanya technical test 1,5 jam. Saat interview, dia selalu meminta gw untuk 'think out loud' alias mikir sambil ngomong. Dia bilang sendiri kalau benar atau salahnya jawaban gw, itu urusan kedua. Yang dia prioritaskan bukan jawaban gw, tapi proses berpikir, proses berkomunikasi, dan bagaimana cara gw berdiskusi / bekerja sama dengan dia untuk menyelesaikan masalah. Gw sendiri beberapa kali stuck di tengah-tengah dan baru bisa menjawab setelah diberi clue. Walau begitu, tetep aja gw keterima! Yay!

Menurut gw, interview ala Microsoft atau whiteboard interview ini jauh lebih efektif dibanding tes tertulis. Untuk tes tertulis, penilaiannya murni berdasar benar atau salahnya jawaban kandidat, tanpa tahu bagaimana proses berpikir mereka. Para kandidat juga bisa saja mencari jawaban lewat Google, karena biasanya tes dilaksanakan di ruang terpisah dengan pengawasan yang minim.

Balik lagi ke pertanyaan interview, di antara ketiga sesi tersebut, pertanyaan tentang database yang paling susah. Interview lain biasanya cuma nanyain select-insert-update-delete query yang simpel atau nanyain cara kerja index. Sebelumnya, gw sama sekali ga pernah merasa kesulitan menjawab test tentang database. Sedangkan kali ini, gw disuruh men-design database untuk sistem tertentu dengan requirement tertentu. Setelah design database selesai, dia bakalan nanya gimana cara dapetin select query untuk function tertentu, seperti yang udah gw jelasin di atas. Dan... gw sempat berdiam diri 5 menit cuma buat mikir.

Mungkin memang dia sengaja kasih pertanyaan yang susah karena dia liat gw punya sertifikat Microsoft, dan dia sendiri ikut andil dalam pembuatan SQL Server. Dia mengaku kalo dia sangat-sangat-sangat familiar sama semua yang berhubungan sama SQL dan database. Dia bahkan bilang kalo dia yang men-design sertifikat Microsoft yang gw pegang saat itu.

Salutnya, walaupun dia jenius, dia tetep ramah, fun banget, dan ga pelit ilmu. Kadang agak kocak juga. Sama sekali jauh dari tipikal orang yang sombong atau bossy. I've found another great mentor to learn from!

No I'm not lucky, I'm blessed!
Tuesday, December 29, 2015

Lika-Liku Software Engineer: Perjuangan Mencari Kerja (Plus Pertanyaan Interview)

Beberapa pembaca yang mengenal gw di dunia nyata, pasti tahu kalo gw lagi aktif-aktifnya mencari kerja pas bulan Oktober - November kemarin. Masih berkutat di dunia IT, gw nyari kerja sebagai Software Engineer, Software Analyst, IT Consultant, atau sejenisnya.

(Hoojobs, 2015)

Dalam 2 bulan, gw dapet banyak telepon dan email yang gw tolak. Dari sekian banyak lowongan pekerjaan yang datang, hanya lima yang menarik. Setelah mengirimkan aplikasi gw, kelimanya pun memanggil gw buat test dan interview. Kelima perusahaan ini mempunyai prosedur yang berbeda-beda, namun serupa, yang akan menjadi topik postingan gw kali ini. Sebut saja nama perusahannya: Alpha, Bravo, Charlie, Delta, dan Echo.

Perusahaan Alpha

Lokasi: Kuala Lumpur

Perusahaan Alpha mempunyai interview prosedur yang sangat standard. Pertama-tama, gw disuruh ngerjain test tertulis yang durasinya 2,5 jam. Jumlahnya sekitar 25 pertanyaan (tepatnya berapa gw ga inget). Untuk menjawabnya, beberapa soal hanya butuh waktu 2 menit, namun ada juga yang butuh 20 menit.

Jenis soal beraneka ragam, mulai dari software architecture, programming, database query, dan test IQ. Gw menyelesaikan semuanya yang gw bisa dalam waktu 2 jam.

Setelah test tertulis selesai, gw di-interview langsung sama IT Manager-nya.

Keseluruhan prosesnya memakan waktu 3 jam. Tidak ada yang spesial dari interview ini. Pertanyaan interview pun cukup standard dan bisa dilihat di bagian akhir postingan ini.

Perusahaan Bravo

Lokasi: Kuala Lumpur

Begitu masuk, gw disuruh mengisi formulir data diri dan langsung dibawa ke salah satu meja dengan sebuah komputer nganggur. Salah satu senior memberikan gw soal yang harus gw kerjain langsung di komputer. Dengan kata lain, gw harus bener-bener coding, lengkap dengan design interface nya, dan program gw harus bener-bener jalan.

Anehnya, mereka ga membatasi waktu untuk mengerjakan soal. Kayanya sih, seharian di sana juga ga apa-apa. Tapi berhubung gw kurang sreg sama lokasinya dan lingkungan kantornya, gw pun memutuskan buat ngerjain asal-asalan dan selesai dalam waktu 2,5 jam. Ta da!!

Yang bikin gw kaget, walau gw ngerjain asal-asalan begitu, keesokan harinya, IT Manager-nya masih telepon gw buat second interview via telepon. Mungkin, walaupun gw ga ngerjain secara Object Oriented dan MVVM, dia cukup takjub dengan kecepatan gw ngerjain soal.

Pertanyaan interview lisan mirip-mirip dengan yang di Perusahaan Alpha, dan bisa dilihat di bagian akhir postingan ini.

Perusahaan Charlie

Lokasi: Kuala Lumpur

Perusahaan Charlie adalah salah satu perusahaan Denmark yang punya cabang di Kuala Lumpur. Sebelum mendapat panggilan interview, kandidat harus berhasil melalui 2 test online:
  1. Test IKM (International Knowledge Measurement) .NET Framework 4.5.
  2. Test online yang dibuat oleh perusahaan Charlie sendiri.
Perusahaan Charlie ini cukup menarik karena working environment dan style nya yang kebarat-baratan. Manager yang mewawancarai gw pun orang Denmark asli. Saat wawancara, gw diwawancarai 2 orang sekaligus, si manager dan solution architect yang bakalan jadi supervisor gw kalo gw join.

Setelah mereka menjelaskan tentang Perusahaan Charlie, mereka meminta gw untuk menceritakan hal-hal tentang diri gw sendiri, yang tidak tertulis dalam resume gw, contohnya seperti tempat kelahiran gw, keluarga, hobi, apa yang gw lakukan ketika senggang, dan lainnya.

Sesi kedua adalah sesi technical interview secara lisan. Pertanyaannya sangat beraneka ragam, dari software methodologydatabase, software architecture, coding, sampai ke testing. Pertanyaan interview bisa dilihat di bagian akhir postingan ini.

Sebenarnya, setelah sesi kedua selesai, akan ada sesi ketiga. Sesi ketiga adalah online interview untuk personality test dengan HR manager di Denmark. Namun, karena katanya gw spesial dan super langka, setelah sesi kedua selesai, si manager nerangin benefit yang gw dapet kalo gw bergabung di perusahaan tersebut, dan langsung nawarin offer. Bahkan dia menyuruh gw mengetikkan nama dan data diri gw sendiri di offer letter. Dia ngasih gw kartu namanya, offer letter yang udah di-print, beserta brosur tentang perusahaan.

Gw sendiri sempat shock ga percaya, secara interview yang harusnya mulai jam 4, tapi malah baru mulai jam 6.30 malam gara-gara pas gw minta ijin cuti dadakan, bos perusahaan gw yang sekarang malah cerita panjang lebar meyakinkan gw untuk stay. Alhasil interview yang berlangsung 2,5 jam ini pun baru selesai pukul 9 malam, dan termasuk durasi yang cukup lama karena membahas offer letter terpanjang yang pernah gw dapet: 13 halaman!

Perusahaan Delta

Lokasi: Singapore

Gw dikenalkan ke Perusahaan Delta oleh salah seorang supplier, yang juga teman gw. Perusahaan Delta  ini ternyata salah satu client-nya, yang kebetulan sedang mencari orang yang expert di hardware programming dan aplikasi kiosk. Teman gw sang supplier ini dulu cukup kagum dengan hasil kerja gw, yang katanya beda dari yang lain. Mungkin gara-gara ini, dia juga merasa ga perlu mengetes kemampuan programming gw dengan test tertulis.

Berhubung gw di Malaysia, bos Perusahaan Delta ini setuju buat ngadain interview via Skype. Durasi interview tidak begitu lama, hanya sekitar 1 jam. Saat interview, gw sebenernya ga ngerasa kaya lagi di-interview. Gw malah ngerasa gw kaya seorang konsultan yang lagi membantu dia menjawab kesulitan-kesulitan yang dia alami sekarang, secara dia bisa dibilang pendatang baru di dunia aplikasi kiosk. Dia bahkan ga begitu bertanya soal diri gw atau skill gw, atau pengalaman kerja gw seperti perusahaan-perusahaan lain.

Sejujurnya sih, gw juga ga terlalu menjawab semua pertanyaan dia secara mendetail karena ide gw enggak gratis. Nanti kalo memang dia menerima gw bekerja di sana, baru gw akan lebih terbuka mengenai semua ide-ide gw. =D

Perusahaan Echo

Lokasi: Singapore

Gw direkomendasikan oleh salah seorang teman gw yang sama-sama sedang mencari kerja. Kita pernah bekerja dalam satu team di beberapa projek. Saat interview di Perusahaan Echo, dia menjelaskan tentang team-nya dan projek yang pernah kita bikin. Mendengar penjelasan dia, sang CTO (Chief Technology OfficerPerusahaan Echo ini bilang tertarik dengan gw, yang kebetulan memang sedang mencari kerja.

Berhubung Perusahaan Echo punya style interview yang unik, sang CTO pun mengharuskan gw datang ke Singapore buat interview.

Normalnya, interview pertama itu interview sama System Manager, kedua sama CTO (Chief Technology Officer), dan ketiga sama CIO (Chief Investment Officer). Berhubung CTO nya terlalu semangat ketemu gw, jadi gw interview sama CTO nya dulu, baru kemudian sama System Manager-nya. Kedua interview ini dilakukan di hari yang sama (biar hemat ongkos ga perlu bolak-balik KL-Singapore).

Pertanyaan yang ditanyakan oleh sang System Manager terbilang cukup simpel dan umum. Seperti pertanyaan-pertanyaan umum yang bisa dilihat di bagian akhir postingan ini.

Style interview yang unik berasal dari sang CTO, yang juga pernah bekerja di Microsoft selama kurang lebih 15 tahun. Dia sedikit banyak ikut andil dalam pembuatan Microsoft Windows 98, Windows XP, sampai ke SQL Server 2012. Maka dari itu, dia biasanya meng-interview para kandidatnya dengan 'Interview Ala Microsoft', dengan versi yang lebih gampang. Interview Ala Microsoft bisa dibaca di SINI.

Setelah lolos dua tahap interview, gw dipanggil lagi ke Singapore buat interview yang ketiga, dengan CIO (Chief Investment Officer) nya. Walaupun sekarang dia CIO, dulunya dia juga orang IT dengan IT background yang cukup kuat. Interview dengan CIO cukup singkat, hanya memakan waktu 1 jam. Dia hanya menanyakan skill dan experience gw. Kemudian menjelaskan secara detail tentang Perusahaan Echodan role dan responsibility gw nantinya.

Dan Pemenangnya Adalah...

Champion (Flikie)
Dari kelima interview, semuanya gw lolos dan mendapatkan offer. Thanks to Microsoft Certificate, gw jadi bisa dengan gampangnya dapet kerjaan dan gaji yang jauh lebih tinggi dibanding rata-rata. Tapi masalah lainnya, gw malah jadi pusing tujuh lima keliling. Apalagi gw orangnya ga enakan, gw jadi ngerasa gimanaaaa gitu buat nolak offer.

Offer pertama datang dari Perusahaan Bravo. Secara gw interview di Perusahaan Alpha dan Bravo jauh lebih duluan dibandingkan 3 perusahaan lainnya. Namun berhubung lokasinya kurang strategis, offer dari Perusahaan Bravo gw tolak. Eeeehhhh, bukannya menghargai keputusan gw, mereka malah menaikkan gaji yang mereka tawarkan 3x dalam kurun waktu 5 hari. Memang sih, naiknya sedikit-sedikit. Namun, pada akhirnya tetep gw tolak dengan alasan yang sama: Lokasi kurang strategis.

Offer selanjutnya datang dari Perusahaan Delta di Singapore. Sehari setelah interview, dia nawarin kerjaan. Namun pada saat itu, offer nya jauh lebih rendah dari ekspektasi gw. Tawaran pun gw tolak secara baik-baik.

Tidak lama kemudian, Perusahaan Echo yang juga berada di Singapore tertarik dengan gw. Setelah bernegosiasi, akhirnya kita sepakat pada angka gaji yang begitu memuaskan. Apalagi mengingat pengalaman kerja gw yang masih kurang dari 4 tahun. Awalnya, mereka sama sekali tidak mengirimkan offer letter, hanya mengkonfirmasi via email, meminta gw mengisi form, dan mengirimkan beberapa dokumen untuk aplikasi Employment Pass (EP).

Sejak gw mengirimkan dokumen ke Perusahaan Echo hari itu, gw memutuskan untuk berhenti mencari kerja. Namun, gw terlanjur membuat janji interview dengan Perusahaan Charlie beberapa hari sebelumnya dan tidak mungkin gw batalkan.

Dua hari kemudian, gw datang ke Perusahaan Charlie untuk interview dan seperti yang gw ceritakan di atas, pada hari yang sama, gw pun mendapatkan offer letter. Terus terang gw malah jadi pusing, apalagi Perusahaan Charlie tahu kalo gw juga mendapat offer dari Singapore dan berniat menaikkan penawaran gaji. Gw sempat tergiur, namun gw tetap pada pilihan awal gw. Walaupun gw belum mendapatkan offer letter dari Perusahaan Echo, namun gw yakin, Perusahaan Echo ga akan PHP-in gw. (PHP = Pemberi Harapan Palsu). Maka dari itu, tawaran dari Perusahaan Charlie pun gw tolak baik-baik.

Di saat yang hampir bersamaan, Perusahaan Delta kembali lagi dan menawarkan gw gaji yang lebih tinggi. Bisa dibilang sudah mencapai gaji minimum yang gw mau. Tapi lagi-lagi harus gw tolak, berhubung gw sudah secara tidak langsung menyetujui tawaran bekerja di Perusahaan Echo. Tawaran dari Perusahaan Delta ini kemudian diambil oleh Mr. Hamburger.

Terakhir, Perusahaan Alpha, yang interview paling pertama, malah ngeluarin offer letter belakangan, kira-kira 4-5 minggu setelah interview. Namun gw justru sangat bersyukur. Dulu, sebelum gw mendapat tawaran pekerjaan lainnya, gw berharaaaapp banget bisa dapet di Perusahaan Alpha. Memang benar, everything happens for a reason. Sekarang, setelah dapet offer yang jauh lebih bagus, gw malah punya banyak alasan kenapa gw ga mau bekerja di Perusahaan Alpha. Salah satu alasan utamanya yaitu gw bakal bekerja di bawah agen (bukan langsung di bawah Perusahaan Alpha), dan agennya sangat kurang profesional.

...dan beginilah akhir dari perjuangan gw mencari kerja.
Semoga gw bisa banyak belajar dan terus berkembang di Perusahaan Echo.
Semoga karir gw (dan gaji tentunya) juga terus naik dan melambung.

By the way, gw punya banyak contoh offer letter. Kayanya kalo ada perusahaan yang butuh, gw bisa bantu. Hehehehe.. just kidding! It's private and confidential! =P

Berikut pertanyaan-pertanyaan general yang sering ditanyakan:

  1. Tell me about yourself. Perkenalkan diri dulu, latar belakang pendidikan kamu, sama jelasin pekerjaan kamu di perusahaan yang sekarang.
  2. Projek apa aja yang pernah kamu kerjakan? Di projek tersebut, apa kontribusimu?
  3. Masalah terbesar apa yang pernah kamu hadapi dalam karirmu sebagai software engineer? Apa yang kamu lakukan untuk menyelesaikannya?
  4. Mana yang lebih kamu suka, bekerja sendiri atau bekerja bersama tim? Mengapa?
  5. Apakah sekarang kamu bekerja bersama tim? Apakah kamu menyukainya? Berapa orang tim mu? Apa peranmu? Pernahkah ada masalah antar sesama anggota tim? Bagaimana kamu mengatasinya?
  6. Menurutmu, bos / manager / supervisor-mu itu orangnya seperti apa? Bagaimana relasimu dengan bos / managersupervisor-mu?
  7. Dalam waktu 3-5 tahun lagi, kamu mau jadi apa?
  8. Bagaimana cara membuatmu selalu up to date di dunia IT yang terus berkembang?
  9. Apa yang kamu lakukan di waktu senggang?
  10. Alasan ingin keluar dari perusahaan yang sekarang?
  11. Apa yang kamu ketahui tentang perusahaan ini?

Berikut pertanyaan-pertanyaan teknikal yang sering ditanyakan:

(Berhubung gw cukup expert di bidang SQL sama .NET, maka pertanyaannya lebih ke SQL dan .NET)
  1. Kemampuanmu dalam SQL Query. Untuk software engineer minimal select, insert, update, delete harus expert.
  2. Apa gunanya index di SQL database?
  3. Apa bedanya clustered sama non-clustered index?
  4. Apa bedanya Interface sama abstract class?
  5. Apa bedanya Events sama Delegates? Berikan contoh penggunaannya.
  6. Apakah kamu memiliki standard dalam coding? Bagaimana style coding kamu?
  7. Menurutmu, code yang baik itu yang seperti apa?
  8. Apa itu konsep object-oriented? Berikan contohnya.
  9. Jelaskan apa itu konsep MVC / MVVM?
  10. Jelaskan software methodology yang biasa kamu terapkan / diterapkan di perusahaanmu sekarang.
  11. Apa itu garbage collector dan kapan / bagaimana itu digunakan?
  12. Apa itu unit testing? Menurutmu, apakah fungsi testing?
  13. Terkadang, kamu bakal dikasih case study dan disuruh menjelaskan class apa aja yang diperlukan atau disuruh men-design database dari case study tersebut.
  14. Tes IQ atau tes logika. Soal tes IQ terlalu beraneka ragam kalo disebutkan satu per satu. Biasanya sih ga jauh-jauh dari Matematika dan coding.

Interview Ala Microsoft bisa dibaca di SINI.

Sekian dulu. Semoga informasi di atas berguna.
Buat yang akan interview, I wish you all the best!
Friday, December 4, 2015

Bahasa Pemograman yang Paling Susah Untuk Dipelajari

Salah satu cara manusia berkomunikasi dengan sesamanya adalah menggunakan bahasa. Bisa bahasa Indonesia, bahasa Inggris, bahasa Perancis, bahasa tubuh, bahasa kalbu, bahasa cinta, atau bahasa tarzan *baru paragraf pertama udah mulai ngaco*.

Seperti halnya bahasa manusia, bahasa pemograman atau programming language juga memiliki fungsi yang sama seperti bahasa yang disebutkan di atas. Bedanya, bahasa pemograman digunakan untuk berkomunikasi dengan mesin, khususnya komputer, dan biasanya digunakan untuk membuat suatu sistem. Semua aplikasi yang kalian punya di PClaptop atau smart phone yang kalian pegang saat ini, pasti dibuat dengan bahasa pemograman tertentu.

Bahasa pemograman juga ada banyak macamnya. Beberapa yang sangat terkenal di antaranya Java, C, C++, C#, Visual Basic, Ruby, Bash, Go, Phyton, Haskell, dan masih banyaaakkkk lagi.

Berhubung gw kurang waras kerjaan, gw iseng-iseng mencari tahu bahasa pemograman apa yang paling susah untuk dipelajari. Dan bahasa pemograman tersebut adalah: BRAINFUCK!

Dari namanya aja udah keliatan kalo bahasa pemograman ini berdampak kurang baik terhadap otak. Gw sendiri, setelah baca-baca, kurang ngerti juga bagaimana pemakaiannya dan buat apa ada orang susah-susah menciptakan bahasa pemograman aneh ini. Kalo memang pengangguran, bukannya lebih baik jalan-jalan atau tidur aja?

Sekilas Tentang Brainfuck

Brainfuck diciptakan pada tahun 1993 oleh Urban Müller. Bahasa pemograman ini hanya menggunakan 8 command seperti yang terlihat di tabel berikut:
Delapan command dalam Bahasa Pemograman Brainfuck (Wikipedia)
Command Brainfuck yang diterjemahkan ke bahasa pemograman C

(By the way, maaf gw ga pernah bisa nerjemahin istilah-istilah programming di atas ke dalam bahasa Indonesia. Gw dari kuliah sampe kerja, selalu pake bahasa Inggris, makanya gw ga familiar sama istilah-istilah IT dalam bahasa Indonesia. Intinya sih, di Brainfuck, cuma 8 command tersebut yang dapat dimengerti oleh si compiler).

Sesuai dengan namanya, bahasa pemograman yang satu ini memang sangat kompleks dan sangat susah dimengerti. Karena memang, tujuan utama dibuatnya bahasa pemograman ini bukan untuk membuat aplikasi, melainkan untuk kesenangan semata. Maklumlah, para software engineer terkadang memang aneh dan mempunyai kesenangan terhadap hal-hal aneh pula.

Aplikasi Program 'Hello World!'

Orang Indonesia bilang 'Apa kabar?', orang Amerika bilang 'How are you?', sementara penduduk rakyat China bilang '你好吗?'. Walaupun bahasanya berbeda-beda, tapi maksudnya sama, yaitu menanyakan kabar sang lawan bicara. Begitu juga dengan bahasa pemograman. Untuk mendapatkan hasil yang sama, beda bahasa pemograman, beda pula penerapannya.

Bagi kalian yang pernah berkutat di dunia coding, pasti sangat-sangat-sangat mengenal 2 kata berikut: 'Hello World!'. Dua kata di mana semua pembelajaran mengenai bahasa pemograman bermula. Dua kata yang selalu dijadikan contoh paling dasar dari semua bahasa pemograman.

Kenapa 'Hello World!'? Mungkin karena yang bikin bahasa pemograman itu orang bule. Coba kalo yang bikin orang Indonesia, pasti jadinya bukan 'Hello World!', melainkan 'Ini Ibu Budi'.

Balik lagi ke topik, berikut contoh cara menampilkan tulisan 'Hello World!' dalam beberapa bahasa pemograman. Mungkin setelah para pembaca melihat contoh-contoh berikut, kalian lebih mengerti kenapa bahasa pemograman Brainfuck itu benar-benar susah dipahami.

Java
System.out.println("Hello World!");
C#
System.Console.WriteLine("Hello World!");
Visual Basic
 MsgBox("Hello World!")
Haskell
Prelude> putStrLn "Hello World!"
Bash, Hack
echo "Hello World!"
Ruby
puts 'Hello World!'
Go
fmt.Printf("Hello World!\n")
Phyton, Perl
print "Hello World!"
Pascal
writeln('Hello World!');
Dan contoh yang terakhir, adalah program yang sama yang ditulis dengan Brainfuck:
  


Respon pertama gw saat ngeliat ini: HAH? MANA 'HELLO WORLD!' NYA???

Beberapa mungkin ga percaya dan mengira gw asal nulis doank. Tapi serius, itu benar-benar program 'Hello World!' yang ditulis dengan bahasa pemograman Brainfuck. Dan seperti yang disebutkan di atas, Brainfuck cuma mengenali 8 command: + - < > [ ] , .

Kalo penasaran bagaimana cara simbol-simbol aneh di atas diartikan menjadi 'Hello World!', bisa menuju ke SINI untuk melihat penjelasan yang lebih ribet lengkap.

Apa ada yang tahu bahasa pemograman yang lebih sulit dari Brainfuck?
Thursday, July 23, 2015

Lika-Liku Software Engineer: Sertifikasi Microsoft

Setelah melalui perjuangan yang cukup panjang, akhirnya gw berhasil juga mendapatkan sertifikat MCSE (Microsoft® Certified Solutions Expert): Data Platform dari Microsoft. Congratulation to me!

Mungkin yang kurang mengerti, akan gw kasih gambaran sedikit di sini. Sertifikasi Microsoft tentunya ada banyak dan bervariasi, karena produk Microsoft pun banyak jenisnya. Namun semuanya bisa digolongkan menjadi 5 kategori:
  • Server - Windows Server, Exchange Server, Lync, SharePoint, Private Cloud, System Center, dan Virtualization.
  • Desktop - Windows.
  • Applications - Office, Office 365, Microsoft Dynamics.
  • Database - SQL Server
  • Developer - Microsoft Azure, Visual Studio, SharePoint Apps.

Setiap sub-kategori di atas juga memiliki gelar yang bervariasi. Banyaknya ujian yang harus diambil untuk memperoleh gelarnya pun bervariasi, dari 1 ujian sampe ada yang harus menempuh 6 ujian. Sama seperti gelar sarjana, gelar ini juga boleh ditambahkan di belakang nama kamu. Gelar-gelar tersebut diantaranya: 
  • MCT (Microsoft Certified Trainer), untuk yang ingin jadi trainer buat sertifikasi Microsoft.
  • MTA (Microsoft Technology Associate), untuk kategori Server, Database, dan Applications tingkat dasar.
  • MOS (Microsoft Office Specialist), untuk kategori Applications tingkat dasar.
  • MS (Microsoft Specialist), untuk sebagian kategori Server, Applications, dan Developer tingkat dasar.
  • MCSA (Microsoft Certified Solutions Associate), untuk kategori Server dan Database tingkat menengah.
  • MCSE (Microsoft Certified Solutions Expert), untuk kategori Server dan Database tingkat atas.
  • MCSD (Microsoft Certified Solutions Developer), untuk kategori Developer tingkat atas.

Untuk langkah-langkah yang lebih jelasnya, bisa dicek langsung dengan login ke akun Microsoft kamu.


Balik lagi ke sertifikat gw, MCSE: Data Platform, itu salah satu sertifikasi yang khusus di SQL Server Database yang biasanya diambil oleh Database Administrator atau Database Designer. Posisi gw memang software engineer, tapi di perusahaan gw sekarang, ga ada yang namanya database administrator. Software engineer itu harus serba bisa.
Yang mikirin software arhitecture, ya software engineer.  
Yang mendesain database, ya software engineer
Yang bikin program atau bikin web, ya software engineer
Kalo database ada masalah, software engineer juga yang benerin. 
Yang bagian nge-test program, ya software engineer
Yang jahit baju, ya tukang jahit lah, masa software engineer, kecuali sofware engineernya emang hobi jahit.

Ga heran, kan, kalo gw cukup mahir di beberapa bidang seperti: Windows Application, Windows Service, Web Application, Web Service, Device Programming, SQL Database dan juga beberapa bidang lainnya. Tapi entah kenapa, di antara semua itu, Database lah yang paling gw suka. Apalagi setelah gw lihat, software engineer yang memiliki sertifikasi di kategori Developer itu sudah terlalu banyak. Untuk menjadi database developer atau database administrator pun kriterianya lebih sulit dibanding software engineer.

Untuk mendapatkan MCSE: Data Platform ini, gw harus menempuh 5 ujian. Untuk lebih jelasnya, silakan dilihat gambar di bawah ini:

Ujian yang harus ditempuh untuk mendapatkan sertifikat MCSE: Data Platform
Pertanyaan ujiannya random. Walau ada dua peserta yang mengikuti ujian yang bersamaan, soalnya pasti berbeda-beda. Bentuk soalnya juga beraneka ragam. Ada yang harus mengetik jawabannya sendiri, pilihan ganda, multiple response (pilihan ganda yang bisa memilih lebih dari satu jawaban), drag and drop, dan ada case study.

Sedikit tips dari gw buat yang mau ujian. Sebelum ujian, bacalah baik-baik skill apa saja yang akan diujikan. Setelah itu cobalah mencari contoh soal di Internet. Namun hati-hati, banyak jawaban yang salah. Kalo kamu beruntung, memang ada beberapa soal yang sama persis atau mirip. Namun besar juga kemungkinan terjadi kasus di mana pertanyaannya sama tapi pilihan jawabannya berbeda, atau pertanyaannya sama sekali berbeda.  

Semakin tinggi tingkatannya, soalnya pun semakin aneh dan semakin sulit. Durasi ujian berbeda-beda, tergantung dari ujian yang diambil. Ada yang hanya 2,5 jam, namun ada pula yang sampai 4 jam, khususnya kalo ada bagian yang harus mengetik jawaban sendiri. Skor kelulusannya bisa dibilang cukup tinggi, yaitu 700 dari 1.000.  Namun, jumlah soalnya cukup sedikit, berkisar antara 45-55 soal saja. Itu artinya, salah menjawab 1 soal saja sudah mengurangi nilai cukup banyak.

Proses pendaftaran dan pembayaran untuk ujian bisa dilakukan secara online dengan mengakses website Microsoft. Gw kurang tahu harga di Indonesia, tapi kalau di sini, harganya RM 332 / ujian (sekitar 1,16 juta rupiah). Jadi kalo ada 5 ujian ya 5 x RM 332 (sekitar 5,8 juta rupiah).

Makanya kalo mau mengambil sertifikasi, sebaiknya memiliki pengalaman minimal 2 tahun di bidang yang mau diambil. Sayang, kan, kalo sampe gagal.

Sertifikat MCSE

Kenapa gw mau bersusah payah berusaha mendapatkan sertifikasi ini? 

  • Poin pertama dan poin TERPENTING: Sarana BELAJAR dan penyemangat gw untuk terus menerus belajar dan mengikuti teknologi. Banyak hal-hal baru yang gw pelajari selama gw belajar untuk ujian. SERIUS!
  • Penunjang karir. Bisa dibilang gelar MCSE sama pentingnya dengan gelar sarjana, malah bisa dibilang lebih penting karena lebih spesifik dan diakui secara luas. Jaman sekarang, siapa sih, orang-orang yang berkecimpung di dunia IT, yang ga kenal Microsoft?
  • Karena pengetahuan kita di bidang tersebut cukup luas, otomatis kita berpeluang mendapatkan gaji yang lebih besar dan posisi yang lebih tinggi. Bos gw sendiri, seorang Technical Director, juga punya sertifikat MCDBA (Microsoft Certified Database Administrator), yang namanya sekarang sudah ganti menjadi MCSE.
  • Menjadi salah satu member Microsoft dan mendapatkan beberapa keuntungan seperti bisa menghadiri event-event atau konferensi yang diselenggarakan Microsoft, informasi-informasi up-to-date dari Microsoft, atau terkadang, diskon khusus untuk pembelian produk Microsoft.
  • Lebih dipercaya karena bisa divalidasi kebenarannya. Ijazah bisa dipalsukan. Tahu sendiri, kan, universitas bisa 'disuap' supaya bisa meluluskan mahasiswanya. Tapi tidak dengan sertifikat Microsoft. Microsoft bahkan menyediakan site khusus untuk mengecek keaslian sertifikasi kita. Kalo ga percaya, silakan cek sertifikasi gw dengan di sini, dengan Transcript Id: 1164505 dan Access Code: Stefanie


Siapa yang harus punya sertifikat Microsoft dan sertifikat apa yang sebaiknya diambil?

Awal-awal, gw memang cukup bingung sertifikat mana yang mau gw ambil. Tapi, seperti yang gw bilang di atas, programmer atau software engineer itu terlalu umum. Untuk mendapatkan posisi sebagai software engineer itu kriterianya tidak sulit. Punya sertifikat MCSD ataupun tidak, peluangnya tidak berbeda jauh. Lain halnya dengan spesialisasi IT yang kriterianya cenderung lebih strict, seperti:
  • IT Administrator
  • IT Architect
  • IT Consultant
  • Database Administrator
  • Database Developer
  • Network Administrator

Untuk spesialisasi di atas, pintu pekerjaan pasti terbuka jauh lebih lebar untuk yang punya sertifikat di bidang tersebut. Buktikan sendiri kalo ga percaya! Good luck.
Saturday, June 13, 2015

Cara Menyimpan Password di Database

'Stef, apa yang bikin sistem bisa tahu password para pengguna nya?'
Jawaban gw: 'Bisa iya, bisa enggak, tergantung gimana cara kita menyimpan password di database.'

Kalo mengikuti standard umum, pada sistem apapun, baik CEO, direktur, manager, system analyst, programmer, tukang bersih-bersih di kantor, atau siapapun, ga akan pernah bisa tau password seseorang. Yap, termasuk database administrator.

Mengapa begitu?

Gw yakin para pembaca sangat familiar dengan Facebook. Kita ambil contoh sistem semacam Facebook, sebut saja Funbook. Ada seseorang berinisial A, ingin membuat akun Funbook. Dia masukin data-data pribadinya, email 'saya_keren_sekali@email.com' dan passwordnya, 'sangatrahasia'.

Data-data ini tentunya akan tersimpan di dalam database. Sehingga di dalam database, akan ada user 'A', dengan email 'saya_keren_sekali@email.com', dan password... Eit, tunggu dulu. Kita tidak boleh menyimpan password 'sangatrahasia' di dalam database! Password yang kita simpan adalah password yang sudah melalui di hash atau yang sudah melalui proses hashing.

Sebelum gw ngomongin hash, mungkin sebaiknya gw ngomongin kriptografi dulu. Bahasa simpelnya, kriptografi itu ilmu yang mempelajari bagaimana suatu pesan dapat dikirim dengan aman, serta memastikan kalo orang yang menerima pesan tersebut adalah orang yang tepat. Salah satu tipe kriptografi yang paling terkenal adalah enkripsi (encryption) dan dekripsi (decryption).

Contoh: A mau ngirim pesen ke B yang isinya 'rahasia'. Tentu saja A dengan B sudah sepakat bagaimana proses untuk mengenkrip dan mendekrip data, yang biasanya disebut dengan kunci. Sebelum dikirim, esan tersebut harus dienkripsi dulu, supaya orang lain, kecuali si B, tidak mengerti.
  • Pesan asli: rahasia
  • Kunci: Setiap huruf ditambah satu, a menjadi b, b menjadi c, dan seterusnya, sampai z menjadi a.
  • Pesan setelah enkripsi: sbibtjb
Proses Enkripsi
Pesan 'sbibtjb' itu pun dikirim ke B. Si C mungkin saja mengintip pesan tersebut. Tapi karena si C tidak tahu kuncinya, si C hanya melihat huruf-huruf berantakan yang tidak dapat dimengerti. Pesan itu kemudian sampai di B. Dengan menggunakan kebalikan dari kunci yang sama, si B pun bisa mendapatkan pesan asli tersebut.
  • Pesan setelah enkripsi: sbibtjb
  • Kunci: Kebalikan dari kunci yang sama. Setiap huruf dikurangi satu, a menjadi z, b menjadi a, dan seterusnya.
  • Pesan asli: rahasia.
Proses Dekripsi
Mudah bukan?

Lah, terus, apa bedanya dengan hash? Hash merupakan salah satu tipe kriptografi. Bedanya, kalo enkripsi, pesan yang kita enkrip bisa kita dekrip kembali, asalkan kita tahu kuncinya. Kalo hash, pesan yang sudah kita hash, tidak akan bisa kembali seperti semula lagi. Maka itu hash juga disebut one-way hashing atau enkripsi satu arah. Karena itu hashing sangat efektif untuk menyimpan password.

Contoh 1:
Algoritma: Jumlah karakter dari password.

  • Simpel (Yang tersimpan di dalam database: 6)
  • Rahasia (Yang tersimpan di dalam database: 7)
  • Stef keren ^~* (Yang tersimpan di dalam database: 14)

Sekarang coba tebak, dengan menggunakan algoritma yang sama, kalo yang tersimpan di dalam database adalah 10, apa password nya?

Mungkin pembaca bakal bertanya: Kalo ada user A password aslinya ''Mobil' dan user B password aslinya 'Motor'. Dua-duanya bakal disimpan di dalam database sebagai '5', donk?

Betul sekali. Inilah yang dinamakan dengan hash collision. Hash collision terjadi karena lemahnya algorima hash sehingga dua input yang menghasilkan hash yang sama. Yaahh, namanya juga contoh, yang penting mengerti konsepnya dulu. Kalo dikasih yang rumit, ntar malah makin bingung.


Contoh 2: 
Kali ini kita gunakan angka sebagai password, supaya lebih mudah untuk dimengerti.
Algoritma: [Password] x 1234 + 8, diambil digit ke 2, 3, dan 4.
  • 1 x 1234 + 8 = 1242 (Yang tersimpan di dalam database: 242)
  • 2 x 1234 + 8 = 2476 (Yang tersimpan di dalam database: 476)
  • 5 x 1234 + 8 = 6178 (Yang tersimpan di dalam database: 178)
  • 88  x 1234 + 8 = 108600 (Yang tersimpan di dalam database: 086)
  • 1825  x 1234 + 8 = 2252058 (Yang tersimpan di dalam database: 252)

Sekarang coba tebak, dengan menggunakan algoritma yang sama, kalo yang tersimpan di dalam database 098, berapakah password aslinya? Ga mungkin bisa ketemu kan? Kecuali kita coba satu-satu dari 1,2,3 dan seterusnya.
Proses hash
Semakin kuat algoritma hash, semakin kecil kemungkinan terjadinya hash collision, dan semakin sulit pula algoritmanya untuk kita mengerti.

Mungkin ada yang nanya, ''Lah, kalo password aslinya ga bisa didapet, gimana cara kita validasi password?''

Ooohh mudah. Untuk validasi, kita ga perlu tau password asli kok. Misalnya ada user B, password aslinya 2 (yang tersimpan dalam database: 476). Saat dia masukin angka 5, sistem akan menggunakan algoritma yang sama (x 1234 + 8, dan diambil digit ke 2, 3, dan 4), maka akan didapat angka 178. Password yang tersimpan dalam database (476) tidak sama dengan 178, maka password salah.

Karena sulitnya mendapatkan password asli (bahkan nyaris tidak mungkin), apabila kita lupa password kita, sistem akan mengirimkan link ke email kita untuk me-reset password. Kalo sampe ada sistem yang mengirimkan password asli kita melalui email, itu tandanya sistem tersebut kurang aman, karena menyimpan password asli (tanpa di hash) di dalam database.

Cukup jelas, bukan? Tentu saja contoh di atas algoritma nya dibuat semudah mungkin supaya pembaca lebih mudah memahami konsepnya. Kenyataannya, jauh lebih ribet daripada itu. Apalagi para ahli kriptografi terus menerus melakukan penelitian untuk memperkuat algoritma hash. Saat ini, algoritma hash yang umum digunakan adalah Secure Hash Algorithm (SHA) 1. Dan sampai saat artikel ini ditulis, belum pernah ditemukan hash collision dalam algoritma SHA1.

Jadi, selama ini, apakah gw tau password user yang menggunakan sistem gw?
100% tidak. Gw pasti menggunakan hash. Ini merupakan salah satu kode etik yang harus dijunjung tinggi semua yang terlibat dalam proses pembuatan software.
Sunday, April 26, 2015

Lika-Liku Software Engineer: Berurusan dengan Pajak

Sistem pajak di Malaysia sudah terintegrasi dengan baik dan semua bisa diakses secara online. Setiap bulan Maret-April, semua warga negara Malaysia yang sudah berpenghasilan atau non-warga negara yang bekerja di Malaysia, diwajibkan mendeklarasikan pendapatannya.

Untuk bisa mengakses sistem pajak, setiap individu harus mendaftarkan diri di Lembaga Hasil Dalam Negri Malaysia (LHDNM). Setelah registrasi, pihak LHDNM akan mengirimkan surat berisi nomer registrasi pajak. Nomer itu sebaiknya diserahkan kepada Human Resource Department, mereka akan memastikan agar setiap bulan kita membayar pajak.

Memasuki bulan Maret, LHDNM pun membuka kesempatan untuk mendeklarasikan pendapatannya, atau yang juga dikenal dengan e-filing. Untuk bisa melakukan e-filing, kita harus memiliki nomer PIN. Nomer PIN bisa didapat dengan mendaftarkan diri di kantor LHDNM atau mengirimkan permintaan via email. E-filing harus dilakukan paling lambat akhir April setiap tahunnya.

Kenapa harus mendeklarasikan pajak? Berikut alasannya:
  • WAJIB! Beberapa temen gw pernah kena denda yang cukup besar karena tidak mendeklarasikan pajaknya selama beberapa tahun. Denda nya jauh lebih besar dari pajak yang seharusnya dia bayar. 
  • Tax refund! Yap, ini poin paling penting. Biasanya, pemerintah atau perusahaan akan memotong gaji untuk membayar pajak lebih besar dari yang seharusnya. Dengan mendeklarasikan pendapatan kita, kita bisa mendapatkan kembali kelebihan pajak yang kita bayar, juga dapat menikmati layanan-layanan bebas pajak.
Setelah mendapatkan PIN, kita bisa login dan memulai mengisi e-filingE-filing terbagi menjadi beberapa bagian.

NotePost kali ini bukan mau menjelaskan tiap poin dalam e-filing. Gw hanya mau berbagi informasi tentang sistem pajak di Malaysia dan pengalaman pertama gw mendeklarasikan pajak. Maka itu, gw tidak akan membahas tiap poin secara detail. Untuk info lebih detail mengenai e-filing, bisa dilihat di website LHDN Malaysia.

Maklumat Individu
Maklumat Individu
Nama, nomer cukai pendapatan, nomer pengenalan dan nomer majikan akan terisi secara otomatis. Pastikan data diri benar dan nomer rekening kita benar sebelum melanjutkan ke bagian selanjutnya.


Pendapatan Berkanun
Pendapatan Berkanun
Pada bagian ini, kita mendeklarasikan pendapatan kita dalam satu tahun, 1 Januari - 31 Desember, tahun sebelumnya. Pendapatan gw di Malaysia itu murni dari gaji dan bonus aja, makanya gw cuma mengisikan kolom 'Pendapatan berkanun penggajian' dengan total gaji + bonus yang gw terima dalam 1 tahun.

Setelah mengisi pendapatan, bagian berikutnya adalah 'Tolak: Jumlah Derma dan Hadiah Yang Diluluskan'. Bagian ini hanya diisi jika kita melakukan donasi ke lembaga-lembaga non-profit, yang terdaftar di Malaysia. Jika kita melakukan donasi, kita biasanya akan menerima kwitansi, simpanlah kwitansi ini sebagai bukti.


Pelepasan Cukai
Pelepasan Cukai
Pelepasan Cukai
Ini bagian yang paling seru. Dalam satu tahun, kita mendapatatkan hak untuk menikmati pelayanan atau membeli peralatan-peralatan di atas. Contohnya, pelayanan kesehatan, pendidikan, pembelian buku, komputer, alat olahraga, dan tunjangan lain. Sekali lagi, simpanlah kwitansi sebagai barang bukti, karena bisa saja sewaktu-waktu mereka meminta kita menunjukkan kwitansi.


Rumusan
Rumusan
Setelah menigisi tiga bagian di atas, bagian terakhir adalah ringkasan dari semuanya. Periksa kembali apakah semuanya benar. Klik teruskan.


Akuan
Akuan
Halaman ini lebih ke konfirmasi dan informasi penting kalau saja kita harus membayar ekstra untuk pajak. Klik 'Tandatangan & Hantar' di bagian bawah untuk menyatakan bahwa data yang kita berikan benar adanya. Setelah itu akan ada halaman pengesahan penerimaan e-BE. Klik 'Simpan & Cetak Pengesahan' dan 'Simpan & Cetak e-BE' untuk referensi kita.
Pengesahan Penerimaan e-BE

Gara-gara berurusan dengan pajak, gw sempat di-interview di kantor LHDNM dan masuk koran. Terus terang, sebenernya gw juga ga begitu ngerti apa yang tertulis di koran itu. Tapi ga apa-apa lah, yang penting eksis :P 
Numpang eksis di koran