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!
Saturday, December 19, 2015

Brain VS. Heart: The Interview

Brain Vs Heart (theAwkwardYeti.com)

Apa kelebihan kalian?
Brain: Secara aku itu pusat dari hampir segala aktivitas tubuh dan sangat berperan dalam pengambilan keputusan, bisa dibilang aku sangat sangat sangat jenius!
Heart: Walau aku ga se-jenius Brain, aku kaya imajinasi!

Apa kekurangan kalian?
Brain: Aku perfect. Ga ada kekurangannya.
Heart: Masa kamu ga punya kekurangan? Ga mungkin lah, nobody's perfect!
Brain: Memang ga ada kok. Kamu sendiri?
Heart: Aku... aku... aku pemalu.

Menurutmu, apa kelebihan pasangan kalian?
HeartBrain itu bijaksana. Dia selalu bisa memberikan ide-ide luar biasa.
Brain: Heart itu... ehem... baik hati dan suka mengalah.

Menurutmu, apa kekurangan pasangan kalian?
Heart: Brain itu heartless.
Brain: Itu bukan kekurangan.
Heart: Itu kekurangan. Udah gitu, Brain itu jahat, licik, suka mementingkan diri sendiri, kurang peduli sama orang lain, selalu berprasangka buruk juga.
Brain: Heart itu terlalu polos, suka ga enakan sampe kadang dipermainkan orang, ga logis, cengeng, udah gitu ga pernah belajar dari pengalaman.
Heart: Ah, masih lebih baik daripada jahat.
Brain: Aku jahat kan, biar kamu ga sakit melulu.
Heart: Ooohh, aku nemu satu kekurangan lagi! Brain juga suka bikin banyak alasan!
Brain: ... (Aku kayanya diam lebih baik)

Hal yang paling kalian banggakan?
Brain: Aku satu-satunya organ yang memberi nama diri sendiri. Amazing, kan?
Heart: Aku satu-satunya organ yang paling sering bikin Brain pusing. Bahkan, ga jarang, Brain kalah sama aku, lho. 
Brain: Memangnya itu membanggakan?
Heart: Pastinya. Menang dari organ yang paling bijaksana kan, sesuatu yang patut dibanggakan!
Brain: Aku ga kalah, aku cuma mengalah.
Heart: Tuh kan, Brain memang ga pernah kehabisan alasan.

Hal yang paling kalian benci?
Brain: Ngajarin orang yang ga ngerti-ngerti, berdebat sama orang bego, orang yang tidak produktif, orang yang kerjanya terlalu lambat, segala sesuatu yang tidak berjalan sesuai rencana.
Heart: Brain yang lagi bete karena ekspektasinya terlalu tinggi.
Brain: HEI!!

Hal yang paling kalian takuti?
Brain: Dibenci orang, dianggap bodoh, aneh, dan dikucilkan oleh orang lain.
Heart: Kamu ngapain ngurusin pandangan orang tentang diri kita?
Brain: Kita kan, hidup bermasyarakat, Heart.
Heart: So what? Aku cuma takut kita tidak bahagia karena terus menerus memikirkan apa kata orang tentang kita.

Hal yang paling menyedihkan?
Brain: (Bisik-bisik) Saat melihat Heart terluka. Ssttt.. jangan bilang-bilang Heart, ya. Dia suka ke-GR-an.
Heart: Aduh, terlalu banyak untuk disebutkan. Lihat aja badanku, penuh luka dan tambalan di mana-mana. Ga mau cerita aahhh, ntar aku malah nangis di sini. By the way, jawaban kamu tadi apa, Brain?
Brain: Aku tadi bilang kalo aku ga pernah sedih.
Heart: Memang benar-benar heartless.

Hal yang paling membahagiakan?
Brain: Aku pernah menang beraneka macam lomba. Mostly berhubungan dengan matematika dan komputer, sih. Rasanya, bahagia sekali melihat orang-orang berdecak kagum.
Heart: Yang membahagiakan juga banyak. Saat pulang ke rumah bertemu si mpel, berkumpul bersama keluarga, mendapat kado pas ulang tahun, atau sesimpel melihat orang lain tersenyum karena aku.

Bagaimana caramu mengambil keputusan?
Brain: Semua perlu dipikirkan matang-matang, kalo perlu ngadain riset dulu atau mencari review dari orang lain. Kita harus mencoba melihat dari berbagai sudut pandang, lalu dipikirkan keuntungan dan kerugiannya, waktunya, biayanya, dampak baik dan buruknya, resikonya, hal-hal yang bisa kita lakukan untuk meminimalisasi dampak negatifnya, dan masih banyak lagi. Semakin banyak orang yang ikut terlibat, semakin banyak juga yang harus dipikirkan.
Heart: Ya ampun Brain, kamu itu ribet amet. Kalo dirasa betul ya, just take it. Kalo dirasa salah ya, tinggalin aja. Trust your gut feeling, okay?

Hal yang paling ingin kalian lakukan sekarang ini?
Heart: Liburan ke Jepang!
Brain: Ambil Project Management Professional (PMP) Certification. Terus ambil S2 jurusan Mobile Computing atau Finance.
Heart: Seriously?! NO!!

Terakhir, pesan yang ingin kalian sampaikan pada pasangan kalian?
Heart: Brain, please stop thinking too much. Aku stress ngadepin kamu.
Brain: Heart, please stop being oversensitive. Kenapa kamu stress, I'm perfectly fine! No need to worry, I know what I'm doing. Just trust me, okay?
Thursday, December 10, 2015

Teknologi dan Kesehatan

Tiba-tiba, gw teringat pernah berdiskusi dengan seorang temen yang kuliah di Fakultas Kedokteran Universitas Indonesia. Topiknya cukup menarik, makanya gw berniat share di sini.

Sebelum masuk ke topik diskusi, gw mau menceritakan sekilas tentang teman gw: dia cowok, tinggi, pake kacamata, jalannya cepet banget (jalannya mungkin lebih cepet dari larinya Usain Bolt), jomblo, dan sering galau. Untungnya dia childish jenius, bersama timnya pernah meraih medali emas di kompetisi Genetically Engineered Machine (iGEM) 2014 yang diselenggarakan di Boston, Amerika. Dia juga satu-satunya temen gw yang ke Kuala Lumpur mengunjungi Biomedical Museum. Sedangkan gw yang 8 tahun di Kuala Lumpur aja, ga tau ada Biomedical Museum eksis di sini. Jadi bisa dibilang, dia cukup expert dalam topik diskusi ini.

Ok, kembali lagi ke topik. Topik yang cukup intense ini dimulai dari pertanyaan gw:
Vaksin itu kan virus yang dilemahkan. Memangnya gimana caranya memperlemah virus? Dipanasin? Didinginin? Ga dikasih makan? Disetrap di pojokan sambil angkat satu kaki? Diputusin pacar? Atau digebukin sampe pingsan? 
Ternyata jawabannya tidak terduga. Vaksin itu tidak selalu virus yang dilemahkan. Vaksin bisa berupa virus yang tidak aktif, atau bahkan hanya terdiri dari sebagian kecil komponen dari virus, seperti 'cangkang'nya, proteinnya, atau cuma DNA nya saja. Yang terpenting, vaksin tersebut bisa merangsang pembentukan imunitas tubuh, tanpa membahayakan tubuh.

Namun seringnya, biar gampang dan cepat, guru-guru dan para dosen selalu bilang: "Vaksin itu virus yang dilemahkan." Titik. End of story.

Apakah aku makhluk hidup? (Starr Biolog Teks)
Gara-gara topik vaksin dan virus, kita malah ngomongin pertanyaan yang masih menjadi misteri: 'Apakah virus merupakan makhluk hidup?' Pertanyaan yang sampe sekarang masih diperdebatkan dan jawabannya juga masih menjadi kontroversi.

Di satu sisi virus tidak dianggap sebagai makhluk hidup karena virus hanya tersusun dari DNA atau RNA yang dikelilingi oleh lapisan protein. Virus tidak terbuat dari sel, di mana sel adalah unit dasar dari organisme hidup. Virus juga tidak dapat bereproduksi tanpa sel inang, dan virus dapat dikristalkan. Hal-hal tersebut bertentangan dengan ciri-ciri makhluk hidup.

Namun dari pandangan lain, virus digolongkan sebagai makhluk hidup karena DNA dan RNA dianggap sebagai materi genetik. Virus juga memenuhi ciri-ciri makhluk hidup lainnya seperti mampu beradaptasi, tumbuh, bereproduksi, bahkan berevolusi walaupun hanya dalam sel inang.

Dari virus dan makhluk hidup, kita beralih ke topik Artificial Intelligence (AI), di mana proses pembelajaran otak manusia yang sampai sekarang sudah berjalan puluhan tahun, namun belum juga ditemukan titik terangnya. Kita sepakat kalo ketika manusia sudah sepenuhnya berhasil mempelajari otak manusia dan menciptakan otak buatan, it's the end of the road (atau mungkin justru the new beginning of every science?)

Dia cerita kalo sekarang para biologis sedang berada dalam track to print a human, dengan XNA alias DNA sintetis. Mereka bahkan melakukan penelitian membuat makhluk hidup dari minyak, air, dan komponen sel. And... it worked!! Berita yang mencengangkan karena sekarang manusia sudah bisa play God.

Dari situ, muncullah pertanyaan misteri lainnya. Kalo manusia sudah seperti Tuhan yang bisa menciptakan makhluk hidup lain, apa makhluk hidup tersebut memiliki soul? Jika tidak, apakah dia disebut makhluk hidup jika tidak memiliki soul? Bahkan pertanyaan paling dasar pun masih misteri: Apa itu soul? 

Ngomongin soul pasti ga jauh-jauh dari konsep dualism dalam filosofi, di mana body dan soul (mind) adalah 2 hal berbeda dan memiliki fungsi berbeda juga. Jaman dulu, ada yang berpendapat soul-lah yang menggerakan body. Pendapat ini didasari dengan fenomena berikut:
Orang yang sudah meninggal tubuhnya dingin dan tidak lagi bisa bergerak. Hal tersebut terjadi karena tidak adanya soul yang menghangatkan dan membuatnya bisa bergerak.
Pendapat tersebut disanggah Rene Descartes, seorang filsuf dan ahli matematika, yang dalam tulisannya 'The Passions of the Soul" mengatakan:
The heat and movement of our body-parts come from the body; thoughts come from the soul. The soul leaves our body when we die only because this heat ceases and the organs that move the body decay.
Apapun itu, sampai sekarang apa itu soul dan keberadaannya masih tidak bisa dibuktikan sepenuhnya oleh science.

Topik pun gw tutup dengan pertanyaan yang sekaligus menjadi sindiran bagi ilmuwan-ilmuwan yang berkutat di dunia kesehatan. Dengan bantuan teknologi yang semakin canggih, riset dan perkembangan dalam bidang kesehatan pun semakin pesat.
Teknologi dan Kesehatan (Scienceroll, 2014)
  • Teknnologi imaging dan monitoring sekarang mempunyai ultrasound scancomputerized tomography (CT) scanMagnetic resonance imaging (MRI), digestible sensors, dan lainnya. 
  • Teknik pembedahan mulai beralih dari bedah konvensional ke bedah laparoskopi dan bedah laser.
  • 3D printed biological material and artificial limb sangat berperan penting dalam proses penelitian dan rekayasa genetika. Bahkan sudah berhasil diimplementasikan pada tikus untuk 'menambal' jantung yang rusak.
  • Orang yang lahir cacat atau orang yang kehilangan tangan / kakinya, bisa kembali berjalan dan beraktivitas dengan bantuan exosceleton.

Tapi JARUM SUNTIK dan INFUS yang sangat-sangat umum digunakan, kenapa ga banyak berubah sejak pertama kali ditemukan pada tahun 1844? Apa ga ada cara lain yang physically dan psychologically less painful atau mungkin no pain at all?

Memang sih, gw pernah denger adanya painless vaccination yang modelnya kaya plester dan cuma ditempelin ke kulit doank. Namun, cara ini masih jauh dari efektif dibanding metode vaksinasi konvensional.
Painless vaccine (gizmag, 2013)
Tapi tapi tapi... tetep aja ini udah 170 tahun lebih semenjak pertama kali diciptakannya jarum suntik. Masa masih gitu-gitu aja sampe sekarang? Hei para peneliti kesehatan, kalian ga kasihan apa sama gw anak ini?
Mommy, please help me! (Activist Post, 2015)
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?