The departure

Blog udah lama banget ga di update, mau tulis apa juga bingung. Akhirnya diputuskan cerita saat mau berangkat kira kira 6 bulan lalu, mumpung masih inget :)

Jadi ceritanya, H1B tahun kemaren itu telat banget, mestinya cuma sekitar 4 minggu, punya gua udah masuk dari juni, ampe september awal belum keluar juga. Padahal oktober 1 itu mestinya start kerja. Karena H1B belum ada kejelasan, otomatis urusan lain seperti apply visa, cari tempat tinggal, cari tiket, dll belum bisa diurus. Akhirnya sekitar sekitar september pertengahan, processing H1B nya di upgrade ke premium processing, yang artinya dalam waktu 2 minggu pasti ada jawaban. 2 minggu kemudian, tanggal 24 September H1B gua udah di approve dan form I-797 bakal segera dikirim pake fedex, butuh 3 business days. Sebenernya kalo itung pas 3 business days, hari jumat mestinya paketnya udah sampe. Kalo nunggu form nya dateng dulu baru book appointment visa bakal lama. Dengan agak nekad, book lah appointment visa untuk hari selasa tanggal 2 oktober. Untuk H1B visanya butuh kira kira 2 – 3 business days untuk dapet paspornya balik. Jadi kalo plannya perfect sekitar hari jumat udah bisa dapet balik tuh paspor dan di weekend udah bisa cabut.

Akhirnya, paket I797 nya dateng tepat di senin sore :) besoknya langsung cabut ke US embassy. Gila US embassy jakarta rame banget, gua pernah apply visa US di konjen toronto, jauh lebih sepi. Wajar sih, secara canadian cuma perlu paspor buat ke US, dan di indo, semua butuh visa buat ke US. Jadilah gua ngantri mulai jam 6 pagi (padahal gua booknya yang jam 7 pagi). Yes jam 6 pagi sodara sodara, ga salah tulis (untung bisa bangun).  Kelar interview langsung tau visanya di approve ato enggak, dan H1B jauh lebih gampang di approve dibanding turis visa, karena udah melalui background check pas apply H1B melalui USCIS.

Pulang dari embassy, masih mikir kapan berangkatnya, sambil mulai pencarian tiket pesawat dan juga tempat tinggal. Akhirnya diputusin berangkat tanggal 10. Cari tempat tinggal cukup repot sebenernya, karena cuma bisa liat ads di internet doank tanpa bisa liat tempat sebenernya. Even worse, ga bakal bisa dapet tempat yang permanen dari craiglist. Karena banyaknya scam dari foreign yang pura pura mau book, craiglist naro warning di websitenya, deal hanya dengan orang yang bisa lo temuin. Setelah pusing cari cari tempat, akhirnya ketemu temporary place yang lumayan dari airbnb. Masalah berikut: payment. Airbnb terima credit card, dan credit card TD gua yang dari canada udah gua turunin limitnya (karena itu secured card, dan gua mo duit gua balik). Untungnya gua pernah link debit card TD dengan paypal, dan airbnb terima paypal :-) Masalah minor berikutnya adalah, saldo nya enggak banyak jadi gua cuma bisa book untuk sekitar 10 hari. Well, masih better lah daripada jadi homeless. Satu urusan kelar, pas sampe dipastikan ga tidur beralaskan bumi, beratapkan langit dan berselimutkan bintang.

Hari jumat tanggal 5, paspor gua balik dari embassy. Nah mulai lebih serius cari tiket pesawat, karena mostly bakal diminta visanya, jadi buat book bakal perlu visa di paspor. Hari sabtu gua mulai cari cari online via expedia, dan beberapa website. Hasilnya sih cuma satu airlines yang lumayan, china airlines. Gua ga langsung book, tapi cari ke travel agent lokal, ngecek beberapa tempat dan minta quote. Hari sabtu gua sempet ke TA dan juga ke senayan city buat ngecek tiket. Setelah cek di beberapa tempat, diputuskan beli dari travel agent yang di TA, one way ticket :) Untungnya harga tiketnya ga sampe gila gilaan, malah termasuk murah. Berbanding terbalik sama waktu ke toronto, dimana gua book 30 hari sebelomnya dan harganya udah mahal. Satu urusan lagi kelar.

Proses kali ini luar biasa ekspres, dari gua terima form I797 (2 okt) 8 hari kemudian dah berangkat (10 okt). 8 hari itu include apply visa, cari tiket, cari tempat tinggal, packing >.<

Anyway, china airlinesnya gua dapet seat yang menarik, first row. Biasanya orang mau di first row mesti nambah duit. Dan gua di first row sendirian :-) Happy dengan china airlines, makanan dll juga oke, ga kalah dari cathay pacific. Waktu itu gua mikir wah oke juga nih china airlines, next time naek ini lagi boleh.Sampai di bulan januari gua nemu berita ini dan sepertinya mesti consider airline lain :P

By marcadian Posted in Story

The Interview!

Jadi ceritanya, setelah apply lewat interviewstreet, dikontak lah oleh recruiter dari PG. Intinya bilang PG tertarik untuk talk, dan diminta beberapa baris ngemeng, kenapa tertarik di PG. Setelah bla bla bla, selanjutnya jadwalin untuk interview. Jadwalin jamnya agak susah karena perbedaan waktu 14 jam, dan diminta di jam kerja engineernya. Alhasil kebanyakan interview dilakukan tengah malem :|

Interview pertama jam 1 pagi, ato jam 11 siang waktu SiEngineer. Dari jam 9 semangat udah berkobar, bercampur deg – degan juga, maklum interviewnya sama company di “Sillicon Valley”. Waktu menunggu saat interview, mampir sebentar ke ranjang buat rebahan, selanjutnya ketiduran. Untungnya gua udah nyalain skype, dan volume suara di laptop udah di set maximal, jadi gua terbangun oleh suara call skype. Bangun dengan mata masih 1/2 merem, klik accept call. Sambil say hi dan bilang hold on hold on, mata ngantuk cari cari headset. Headset terpasang, dan mulailah interview dilakukan. Pertama interviewernya ngenalin diri dulu, selanjutnya mulailah pertanyaan, dan jawabannya berupa coding. Codingnya live di stypi, enggak terima ketik dulu di editor baru copy paste, jadi ketelitian penting disini. Pertanyaan pertama cukup mudah, namun diminta untuk solusi yang lebih baik. Sebenernya, emang solusi yang lebih baik itu ga susah, tapi maklum udah karatan, jadinya yang keluar duluan adalah solusi yang butut :P . Interviewer pertama ini merespon dengan baik, jadi kalo bener ato dia merasa jawaban udah jelas dia bakal respon seperti “yeah, that’s right”, “i agree with that”, etc. Responnya ini merupakan lampu ijo :-) dan dalam beberapa hari datanglah invitation untuk interview kedua. Interviewer pertama ini adalah mobile engineer.

Interview kedua dilakukan jam 1 siang PDT, alias jam 3 pagi WIB. Interview kedua ini gua di telepon lewat HP, katanya karena cuma itu kontak yang dikasih, padahal gua udah kasih tau skype. No problem, nyalain aja speaker phone, kalo ga gimana koding satu tangan mesti pegangin HP. Interview kedua ini mayan susah, yang susah bukan jawaban kodingnya, tapi pertanyaan yang menyusul yaitu “convince me this works”, “buktikan ga ad ilegal memory akses” :| Penjelasan gua berantakan untuk ini, dan interviewer kedua ini poker face abis, ga ada responnya sama sekali. Setelah selesai interview, agak desperate sendiri karena kepikir gimana kalo ga lolos, padahal soalnya bisa dijawab semua. Untungnya beberapa hari kemudian datenglah email untuk interview ke – 3! Yipee!! Interviewer yang ini juga mobile engineer.

Interview ketiga ini dilakukan pagi hari waktu indo alias malam PDT. Loh emang ga kerja? Waktu itu hari kejepit, yang ke kantor juga pada nongolnya siang. Interview kali ini dilakukan oleh head mobile engineering. Soal pertama obvious untuk dikoding, gua udah koding kira kira 70% dan stop untuk mikirin solusi yang berupa kombinatorik. Setelah lama layar stypi ga berubah, interviewer nya nanya apakah ada kesulitan. Dan gua bilang lagi mikirin solusi kombinatorik yang lebih efisien. Respon dia selanjutnya cukup surprising, ga usah begitu lanjutin aja yang udah di koding. Langsung semangat 45 dan hajar koding, ada sedikit yang kurang dan ditanya oleh interviewernya, selanjutnya diminta jelasin solusinya, dan ditanya tentang upper bound yang mungkin. Kali ini perlu mikir beneran, coret coret di kertas dikit, dia cukup puas dan lanjut ke pertanyaan berikutnya. Nah soal berikutnya ini secara “level” adalah soal yang paling susah dari interview pertama sampai saat ini. Begitu denger soalnya, langsung inget kalo dulu pernah ngerjain yang mirip banget sama ini, excited banget. Langsung berusaha calm down, jangan sampe terlalu seneng malah buyar jawabannya. Setelah coret coret bentar, koding dan jelasin solusinya. Dapet response bagus, dan selesailah interviewnya. Anyway, interview ini adalah interview terbaik! Kalo di interview sebelumnya gua mesti tunggu beberapa hari untuk dapet invitation interview berikutnya, kali ini next day gua langsung dapet invitationnya! Yey!

Setelah selesai interview ketiga ini, recruiter yang kontak gua, ngeadd di linkedin. Uniknya message yang dikirim adalah “orang yang have done business with”. Saat itu pikiran gua ada 2, interview ketiga adalah interview teknikal terakhir dan tinggal ngomong sama HR, atau akan ada interview ke-empat yang merupakan interview terakhir. Ternyata ada interview ke-empat yang merupakan interview terakhir!

Interview keempat, kali ini dilakukan malem lagi. Yang menarik dari interview ini adalah pertanyaannya lebih cenderung ke arah analisis kompleksitas. Soalnya gampang, setelah terjawab, dia kasih solusi punya dia dan diminta analisis kompleksitasnya. Bukan sekedar big O yang batas atas, tapi diminta running time yang lebih precise. Menarik, sempet panik sedikit dengan banyaknya log yang ada dan gimana simplify persamaannya. So far, jawaban gua ga terlalu buruk, tapi entah bagus banget ato enggak, karena interviewernya enggak begitu kasih respon. Interviewer kali ini unik, karena dia backend engineer! Perspektif rolenya dan tantangan yang dihadapi sehari hari tentu beda dengan mobile engineer.

Dari setiap interview, setelah interview selesai akan dikasih kesempatan untuk tanya apapun ke interviewernya, umumnya yang gua tanya adalah seputar, kerjaan mereka ngapain aja, challenge apa yang dihadapi sehari hari, dan seputar suasana ditempat kerja. Dari sini banyak informasi yang bisa didapet tentang suasana kerja. Gua cukup suka dengerin jawaban mereka, menurut gua, dengan para interviewer cerita cerita experience , itu lebih bikin tertarik dan bisa tau apakah perusahaan sesuai dengan ekspektasi. Dari semua interview, jawaban interviewer paling panjang adalah interviewer ketiga, dia cerita banyak banget dan mendetil banget, tapi tentunya enggak membocorkan rahasia perusahaan. Setiap interview yang dilakukan biasanya sekitar 45 menit untuk interviewer bertanya, setelah itu tergantung berapa banyak pertanyaan yang diajukan untuk interviewer, di interview ketiga, interviewernya cerita panjang banget, sekitar 45 menit lagi. Jadi interview paling lama adalah yang ke – 3, sekitar 1.5 jam.

Well, tentang interview questionsnya apa aja, ga bakal gua post disini, sepertinya kurang baik kalo gua memberi tahu pertanyaan interview dimana gua bekerja, dengan identitas gua di internet. TAPI jangan berkecil hati, kebanyakan dari pertanyaannya dapat dilihat di Glassdoor. Sekalian bisa liat juga kira kira gimana perspektif orang laen yang pernah di interview.

Lanjut ceritanya, jadi beberapa hari setelah interview terakhir, gua dapet telp dari HR, dia kasih tau kabar menggembirakan yaitu mereka mau kasih offer, dan juga mereka tanya tentang status, dan surat – surat untuk urusan visa. Kalo ga salah inget, malemnya gua udah dimintain jawaban karena mau segera di proses. Jawabannya iya, dan mereka langsung kasih surat untuk di tandatangan dan scan untuk dikirim balik + scan beberapa dokumen untuk kelengkapan apply visa, yaitu degree dan transkrip nilai (untuk di assess oleh semacam education counselor dan dinyatakan setara dengan bachelor di US) dan juga scan paspor. Untungnya degree + transkrip nilai gua udah 2 bahasa, jadi enggak perlu di translate segala. Di telepon untuk offer hari rabu, dan langsung di proses instan, hari senin petisi untuk ijin kerja udah dimasukin ke USCIS oleh lawyer. Untungnya (lagi) karena semua di proses secara cepat, petisi gua dapat tanda terima tanggal 5 juni 2012, dan pada tanggal 12 juni 2012 cap visa H1B untuk tahun fiskal 2013 udah penuh terisi :-)

waktu cari kerja

Beberapa hari lalu gua bersihin inbox email, dan nemu bejibun email notification waktu mencari kerja di awal tahun. Waktu diitung ternyata gua pernah apply ke banyak banget perusahaan. Jadi inget beberapa minggu lalu, ada yang bilang kalo gua gampang buat nyari kerja, dan bikin gua berpikir, kayaknya enggak deh, dulu gua apply banyaaaak banget, yang respon aja dikit.

Kembali ke awal tahun 2012, ketika gua mulai untuk mencari cari kerjaan. Jadi, gua mulai dengan menginterogasi teman teman yang sudah bekerja, tanya kerjaannya ngapain, enak ga di perusahaannya, range gaji berapaan, dll. Setelah merevisi resume, mulailah register di jobsdb dan submit resume kesana. Selanjutnya memantau job job yang ada di jobstreet, dan apply. Seinget gua kebanyakan yang gua apply berlokasi di singapore, tapi entah, udah kurang inget juga apply kemana aja. Entah udah berapa kumpeni yang gua apply pada saat itu, rasanya sih puluhan udah nyampe. Hasil? Ga ada satu respon pun T__T

Selain lewat jobsdb gua juga post resume di robertwalters, monster, dan juga apply langsung ke website beberapa company. Next step, menggunakan networking, gua nitip resume ke 2 kumpeni, satu dipanggil dan dikasih offer, satu lagi dikacangin.

Setelah bekerja sekitar sebulan, gua mengetahui kalo seorang temen gua baru lolos interview di salah satu startup di sillicon valley, dan dia bakalan internship disana. Dia nulisin pengalaman interviewnya di blognya, beserta beberapa pertanyaan yang ditemuinya ketika di interview. Surprise (or not?), gua bisa jawab pertanyaan-pertanyaannya. Terinspirasi lah untuk ikutan apply disana. Langkah pertama mengasah kemampuan yang sudah karatan, dan tempat yang tepat adalah interviewstreet.

#Apa itu interviewstreet?  Singkatnya mereka adalah startup yang membantu perusahaan nyari talent, dan juga membantu orang cari kerjaan. Disana intinya adalah ngerjain soal soal programming, dan setelah solve sejumlah tertentu, bisa apply posisi di perusahaan yang bekerja sama dengan interviewstreet.

Back to topic, setelah memulai interviewstreet dengan berdarah darah selama sekitar sebulanan, gua berhasil solve belasan soal dan bisa apply job melalui interviewstreet. Gua apply banyak perusahaan, dan ada satu yang merespon (yipii!!!) yaitu startup dimana temen gua bakal internship. Selama proses interview yang berlangsung 4x dan memakan waktu total berminggu minggu, gua masih juga sibuk ikutan codesprint, yaitu kontes dari interviewstreet dan umumnya di sponsori beberapa perusahaan. Sialnya, ini codesprint memakai jam north america, intinya gua koding dari sekitar jam 2 AM – 6 AM hari minggu, indahnya koding diiringi terbitnya matahari.. dan ini berlangsung bukan cuma sekali. Life is hard dude…

Kembali ke abis bersih bersih inbox. Setelah diingat ingat, berikut daftar perusahaan yang pernah gua apply

Apply langsung ke web

  • zynga
  • amazon
  • shopify
  • ibm canada lab
  • pocketgems
  • apple
  • RIM singapore
  • HP Singapore
  • accenture singapore < saya ditolak
  • microsoft

Minta refer / ditawarin karena kenal

  • accenture indo
  • ibm indo
  • phasedev
  • facebook
  • binus

kirim CV

  • jobsDB (apply banyak company di sing, ga ad respon satupun)
  • monster
  • robertwalters

via interviewstreet

  • factual
  • twitch.tv
  • pocketgems
  • facebook
  • 500px
  • zynga
  • palantir
  • eventbrite
  • evernote
  • quora
  • twitter
  • uken games
  • shopify

Banyak kumpeni bener bener enggak kasih respon sama sekali, tapi cuma digantungin. Alhasil jadi ga tau apakah in progress, atau emang bener bener dicuekin. Bahkan ada yang udah minta jadwalin interview 2x dan enggak pernah kejadian tuh interviewnya. Maklum, mungkin terlalu banyak orang yang apply.

Anyway, dari sekiaaan banyaaak yang pernah gua apply, menurut gua ga gampang juga buat nyari kerjaan. Dalam kasus gua, untuk dikontak aja chancenya kecil, cuma beberapa kumpeni yang respon, apalagi kasih offer.  Kalo lagi nyari kerjaan, hajar aja apply sebanyak banyaknya! :)

FAQ : Mana pertanyaan interviewnya?

Answer : Di post lain, entah kapan :)

Working at I**

Yak, setelah berbulan bulan menganggur, dan banyak orang yang suka tanya “kerjaan lo disana ngapain?”, mari ditulis aja. Sebenernya udah agak lama pengen nulis tentang ini, tapi terkadang mikir juga gimana nulisnya karena tentu ada term term yang ga boleh disebut karena merupakan confidential information.

Kerjaan

Kerjaan gua disana adalah sebagai Functional Verification Tester (FVT) untuk produk DB2, buat yang enggak tau, DB2 adalah DBMS untuk versi enterprise, saingan beratnya si “peramal”. Biasanya kalo gua bilang tester ke orang indo, mereka agak bingung, sepertinya memang kerjaan sebagai quality assurance agak kurang di indo, yang paling banyak adalah programmer dengan kualifikasi segudang, yang ngerjain dari desain, coding, testing, ampe dokumentasi :-)  Sebenernya kerjaan quality assurance sangat penting, untuk memastikan quality dari suatu software. Lebih baik ketemu defect sebelom dirilis, dari pada ada customer yang komplain ada defect.

Sesuai namanya, FVT bertugas ngetes fungsionalitas, hal yang dites tentunya tergantung kepada item apa yang dikerjakan. Tes fungsionalitas berarti lu harus memastikan bahwa behaviour program yang dibuat oleh developer adalah sesuai dengan design yang dibuat sebelumnya. Untuk itu harus mempertimbangkan banyak hal, terutama adalah corner case, gimana handling error, dll.

Penting untuk memastikan “coverage” ato lingkup dari suatu test, tentunya tidak memungkinkan untuk mencoba semua possible scenario, maka umumnya developer sebagai pembuat akan memberikan informasi tentang hal hal yang harus dipertimbangkan. Coverage harus dipastikan tidak terlalu besar, namun cukup baik untuk mengetes bagian besar dari suatu code. Dari sebuah desain yang dibuat oleh developer, FVT akan membuat test plan, dan memastikan coverage dari test plan dengan developer. Setelah semua pihak pihak terkait setuju dengan coverage dari test plan, baru testcase akan mulai dibuat. Tester memiliki kebebasan untuk mengimplementasikan test plan, tentunya dari sebuah definisi scenario pada testplan, tester harus membuat berbagai variasi. Sebagai contoh pada aspek tipe data, meskipun sebuah test plan tidak menulis secara eksplisit tentang tipe data yang akan digunakan, tentunya akan merupakan hal baik jika test case yang dihasilkan memiliki berbagai variasi tipe data.

Kerjaan sebagai tester, meliputi bikin test plan, bikin test case, maintain test case lama (tambah ato modify testunit), execute test case, dan laporin defect ke developer. Umumnya kalo anak intern baru bakalan kebagian dari bikin test case, karena bikin test plan itu lebih susah. Test case yang dibuat umumnya adalah tipe automatic self checking testcase, dengan menggunakan bahasa cryptic, yaitu PERL. Automatic self checking testcase artinya setelah dieksekusi, testcase tersebut dapat mengecek dan melaporkan apakah sukses atau gagal, dan juga testunit mana saja yang gagal. Untuk yang belum tau, testcase itu adalah file yang berisi testunit testunit, dan testunit adalah skenario testing. Sebagai contoh : testcase A berisi skenario skenario untuk mengetes berbagai tipe data. Di dalamnya terdapat berbagai testunit, testunit 1 mengetes tipe data int, testunit 2 mengetes tipe data double, testunit 3 mengetes tipe data string, dst.

Selama 16 bulan disana, gua paling banyak ngerjain tentang query, gua kerja di proyek yang bertujuan mempercepat eksekusi query selama 11 bulan. Selama di proyek ini gua ikut ngerjain 4 item (read:subproyek) dari total sekitar 8 atau 9 item di dalam proyek ini, 2 item gua cuma implementasi semua testcase, 1 item gua kerjain beberapa testcase, dan 1 item lagi gua buat testplan sekaligus buat testcase. Karena latar belakang dari kompetisi pemrograman, selama bekerja di area ini gua sangat excited, karena selama disini, banyak desain yang berkaitan secara langsung atau tidak langsung teknik algoritma, misalnya bagaimana manfaat hashing secara real world. Hal lain yang dipelajari adalah proses yang terjadi ketika sebuah query di run, ternyata, query itu dicompile terlebih dahulu jadi executeable. Secara kasar prosesnya kira kira  Query -> Rewrite -> optimization ->  compile.  Dalam beberapa kasus gua harus ngebohongin optimization :-) so far, selalu berhasil. Kalo ga salah inget, skor terakhir 2 – 0 untuk kemenangan gua. Gimana cara bohongin optimization? gampang, maenin berbagai aspek yang digunakan oleh optimizer untuk melakukan estimasi cost. Faktor umum yang terkait yaitu resources (CPU speed, berbagai memory size mis : sortheap, network speed, dll) dan statistik (jumlah row, ukuran column, dllllll)!! Note : ketika melakukan optimisasi, ada 2 pilihan yang dapat dilakukan oleh optimizer, greedy atau dynamic programming, hal ini ditentukan oleh optimization level pada database configuration.

Dua hal tersulit yang pernah gua kerjakan menyangkut masalah memory error  dan costing. Pada memory error, intinya gua haru membuat sebuah operator di disable pada saat runtime dikarenakan ukuran SORTHEAP yang tidak mencukupi. Orang umumnya akan berpikir “oh gampang, kecilin aja SORTHEAP nya terus run sebuah query yang row nya banyak!!” YAK selamat, jawaban anda salah total, dengan cara demikian sampai jaman komputasi udah di galaksi (bukan awan lagi) tidak akan pernah terjadi. Kenapa bisa?? Karena pada proses optimization, optimizer akan melihat bahwa memang tidak ada memory yang mencukupi, maka optimizer tidak akan memilih plan yang mengandung operator tersebut :-) Intinya yang harus dilakukan adalah, membuat optimizer (pada saat planning) berpikir ada memory yang cukup sehingga access plan dengan operator tersebut akan dipilih, tetapi ketika di eksekusi ternyata tidak ada cukup memory :-)

Hal lain yang sulit adalah ketika gua mengerjakan testcase mengenai costing. Gua ga nyangka bakal kena testcase ginian, karena ini susah. Di item pertama yang gua kerjain, bagian costing dikerjain oleh coworker gua yang merupakan regular employee. Dalam testcase yang gua kerjain, intinya adalah gua harus membuat berbagai macam kasus JOIN dan memastikan suatu low level operator dijalankan dengan lancar. Tipe join disini yang gua maksud disini misalnya inner join, inner join with early out, right outer join, right early out, dll. Dan karena tujuannya adalah mengetes perhitungan optimizer, gua tidak diijinkan, menggunakan join guideline, melainkan harus murni berdasarkan perhitungan optimizer. Alhasil harus menipu compiler dengan mengatakan “hoi ini table ada 1 juta row loh!!”, padahal isinya cuma 10 row ato “oi, kolom ini unik bisa untuk early out” :-) nah bagian nipu nipu ini yang susah, karena dalam beberapa kasus cara optimizer menghitung tidak diketahui secara detil, jadi, coba lagi dan coba lagi. Seriusan, kasus tersusahnya adalah membuat right outer join (secara runtime). Mungkin ada yang berpikir “loh kan tinggal tulis select … from a right outer join b” sayangnya cara ini likely bakalan gagal. Kenapa? karena si optimizer bilang bakalan lebih untung jadi b left outer join a, maka plan yang didapat akan jadi b left outer join a, smart eh?

Intinya query yang lu tulis, lom tentu persis sama dengan yang dieksekusi, untuk melihatnya dapat dilakukan dengan explain facility untuk melihat access plan. Sebagian besar query lambat, dapat diatasi dengan jalanin runstat untuk mengupdate statistik. Sebenernya update statistik bisa diset otomatis dengan autorunstat, namun akan lebih berat ketika terjadi perubahan data karena harus update statistik.

Kutu kutu yang gua temukan cukup beragam, dari yang sangat silly (cuma create schema dan crash, muka manager langsung mengkerut begitu denger ini), manggil fungsi untuk alokasi dan kurang tanda &, alhasil null mulu dan crash, hasil yang tidak konsisten, dll. Ketemu kutu merupakan sebuah prestasi bagi seorang tester (we found a way to blame developer!), semua kutu sekecil apapun harus di track keberadaannya. Namun belum tentu akan langsung di fix. Kutu yang severity nya high atau impactnya besar merupakan prioritas utama. Sedangkan kutu kecil kalo ga keburu diberesin sebelum release, biasanya akan di fix di service pack.

By marcadian Posted in Story

7.5 tahun setelah lulus SMP

Masuk SMP gua harus pindah ke sekolah baru, karena sekolah gua sebelomnya cuma ampe SD doank, (sekarang malah cuma TK, sekolah yang malang mungkin beberapa tahun lagi musnah). Masuk SMP gua mulai naek jemputan, sopir sekaligus pemiliknya encek – encek, gua dah lupa nama aslinya siapa, tapi pada iseng manggil dia joni, sambil nungguin anak – anak pulang kerjaan dia sehari hari maen catur, kadang keasikan maen catur ampe mesti diteriakin baru dia mo jalan :-)

awal mula..

awal masuk SMP, gua di kelas yang cukup tidak menyenangkan, awalnya, diskriminasi terhadap anak baru benar benar terasa. Salah satu yang paling menonjol adalah kalo maen bola pas pelajaran olahraga, selama 1 caturwulan, pasti anak lama vs anak baru, anak baru biasanya kalah, tapi di pertandingan terakhir, kami menang, balas dendam yang indah :D

SD gua termasuk sekolah yang kurang jelas, sekarang aja udah ga ad tuh SD, tinggal TK nya doank, jumlah murid ga banyak. begitu masuk SMP jumlah murid di 1 kelas 2x lipat di kelas gua waktu SD, dengan berbagai nama anak – anak yang baru pertama kali gua denger, alhasil sedikit butuh waktu buat ngafalin nama mereka semua.

2 tahun yang subur

Tahun kedua, pertama kali dibuat kelas semacam kelas “unggulan” dimana top 10 dari tiap kelas di kelas 1, dicemplungin ke 1 kelas, anehnya sang kepala sekolah sendiri, SiDiktatorBerkerudung ga mengakui kalo ini kelas unggulan, dia cuma bilang ini kelas biasa, tapi semua orang pasti tau apa artinya kalo top 10 semua kelas dikumpulin jadi 1. Ntah sial atau beruntung, gua ikut nyemplung disini.

Kalo selama gua kuliah, jumlah kaum hawa di kelas sangatlah minim dibanding dengan jumlah kaum adam, alias biasa dibilang, ini kelasnya tandus. Kondisi yang berbanding terbalik selama gua di SMP 2 dan 3, di kelas 2, 10 cowok : 30 cewek, benar benar subur. Di kelas 3, mayoritas isi kelasnya adalah sama, cuma berganti beberapa orang, 12 cowok dengan 28 cewek. Salah satu hal yang menarik dari kondisi kelas seperti ini adalah, kemana mata memandang, disitu bertabur gadis – gadis, kondisi ini jelas membuat para cowok menjadi dekat satu sama lain, beberapa masih jadi temen baik gua ampe sekarang. 2 taon di kelas kayak gini cukup berkesan, gimana enggak? subur abis gitu loh!! :D

Kata kata seorang guru

Orang bijak berkata “Guru ibarat lilin, yang sentiasa menerangi orang lain walaupun pada masa yang sama diri terbakar”.

Di kelas 3 SMP, guru fisika nya cukup unik, seorang pria dengan kelakuan yang benar benar berbeda, sama nih orang kalo ulangan kadang cuma 1 soal, kalo PR ga kelar, muka dicoret spidol, yang cewek pada kesel ma dia hahahaha…. Tapi, disisi kelakuannya yang luar biasa agak gila ini, dia kalo ngajar mantep banget, banyakan praktikum dari pada hanya sekedar teori belaka, alhasil anak anak pada ngerti apa yang dia ajarin, materi pada kelas 3 ini hampir semuanya tentang listrik. nih guru salah satu guru favorit gua, cara ngajarnya mang unik, tapi bisa membuat murid muridnya mengerti tentang materi yang disampaikannya.

Alkisah di suatu hari yang damai, di pelajaran fisika di siang hari, kali ini kami enggak ke lab untuk praktikum, hanya di kelas saja. sang guru ini meminta 2 atau 3 anak untuk mengambil buku para murid di ruang guru, gua ikut kebagian mengambil ke ruang guru. sekembalinya dari ruang guru dengan tumpukan buku, ketika sedang berjalan masuk kelas ke arah meja guru untuk memberikan buku yang telah diambil, seorang gadis maju ke meja guru, entah ingin bertanya atau menyerahkan tugasnya. Nasib sial bin apes, ini adalah gadis yang digosipkan ma gua, seperti biasanya kelakuan anak sekolah, langsung sorak sorak teriak macem macem. sang guru menatap sang gadis beberapa saat, lalu berpaling menatap gua, sedikit manggut manggut, gua pun terbengong pasang tampang pasrah bin bingung, beberapa saat sang guru tersenyum, dan beliau berkata “kamu pinter juga milih cewe”. Terima kasih Pak Guruku, sang muridmu ini masih mengingat kata katamu meski 7.5 tahun telah berlalu…

Saya hampir tidak lulus

ya, anda ga salah baca, saya hampir tidak lulus dari SMP 3, karena suatu mata pelajaran yang cukup vital dan fatal efeknya, Bahasa Indonesia. salah satu materi bahasa indonesia di kelas 3 ini adalah analisis kalimat, menentukan SPOK, kalimat majemuk, bertingkat, dll. Gurunya pun berbeda dengan yang di kelas 2 maupun kelas 1. Analisis kalimat disini sudah mencapai tingkat pujangga sastra yang tidak dapat gua mengerti lagi, cuma bisa kira – kira dan berharap jawabannya betul. nasib naas bin sial gua alami ketika ulangan umum semester terakhir, materi bahasa indonesia. setelah berjuang sekitar 90 menit, dengan performa pengerjaan yang lancar tidak, macet pun bisa dibilang iya, akhirnya soal soal itu selesai, sebuah penderitaan berlalu..  kesialan atas apa yang terjadi diketahui setelah jawaban dikumpulkan, ada teman yang membahasa “eh essay no 4 ma 5 tadi jawab apa?”, gua shock, dan cuma bisa terbengong bengong, emang ada no 4 ma 5 ya ? bukannya cuma no 3 ? *jeger* hati langsung remuk disambar petir, ternyata oh ternyata, soal essay no 4 – 5 ada di halaman sebaliknya!! gua bener bener ga nyadar, karena soal no 3 tepat di bawah halaman, gua kira udah abis ampe disitu doank. Pelajaran hari ini mengajarkan selalu carilah kalimat mutiara dari gurumu, semisal “selamat mengerjakan, semoga sukses” karena itulah penanda akhir soal.

saat pelajaran akuntansi beberapa minggu kemudian, gua kebagian ngambil buku di ruang guru, bersama beberapa teman. saat itu di depan ruang guru ada sang guru bahasa indonesia, kami pun menyapa, seorang teman bertanya “gimana bu nilainya?” sang guru yang sedang memegang lembar nilai pun menjawab “bagus bagus nih” sambil memperlihatkan lembar nilai kepada kami. lanjut sang guru “ini satu dapet merah siapa ya ini”, gua pun sambil liat tuh lembar nilai, dan menjawab sang guru “itu saya bu” dan berlalu lah saya untuk mengambil buku ke dalam ruangan, alias kabur sebelom dijitak =P

seingat gua, nilai akhir bahasa indonesia gua di rapor tepat 6.0 alias batas bawah untuk dapat lulus, saya mencium ada indikasi pengatrolan nilai disini, tapi karena kali ini menguntungkan saya, tak apalah…

By marcadian Posted in Story

Sidang Skripsi

hari ini gua nonton sidang skripsi, si N kembali beraksi, kali ini aksinya ga beda jauh dengan pas nyidang gua, namun kali ini naas penguji satu lagi ga ngerti materi AI, tapi dia nyidang topik AI semua.. Pas penguji ini nanya – nanya panjang lebar gua dah ngantuk, pas si N nanya gua bangun karena mau liat aksinya, ketika ditanya manfaat skripsinya ada yang jawab untuk medical bla bla bla dan dia cerita awalnlya itu digunakan untuk endoskopi

N : “kalo untuk kedokteran ini ketinggalan, endoskopi gitu ud canggih – canggih, saya pernah disodokkin ga sakit sama sekali”

huahahahahahaha gua ngakak denger kata – kata dia.. anda terlalu jujur pak..
Dari 2 kelompok ini, mereka pake matlab, dan si N ini berkomentar, gua lupa kata – katanya , tapi sama dia, buat di matlab itu ga dianggep koding, dia bilang cuma manggil – manggil fungsi, ketika temen gua bilang ad modul yang buat sendiri buat interpolasi, trus ditanya pake bahasa apa, temen gua bilang pake matlab juga, temen gua baru bilang “x = ….” langsung dipotong, lagi – lagi dia ga nganggep pake matlab itu bukan koding! trus apa donk namanya itu?

Masalah kedua yang banyak dibahas setelah matlab, adalah manfaat, ada kelompok yang bikin prediksi saham pake SVM, hasil percobaannya (yang ga jelas berapa kali nyobanya dan jujur ato enggak, asumsikan saja jujur) mencapai 75%, penguji pertama berkomentar, intinya adalah mempertanyakan manfaat dari skripsi tersebut yang menurut dia “hanya” 75% akurasinya.
Kelompok satu lagi tentang pengukuran kedalaman objek pake stereo vision, lagi – lagi dipertanyakan manfaatnya, dan secara kelompoknya kurang bisa menjelaskan, hasilnya rada disiksa d. Menurut gua yang kedua ini cukup berguna, sayang mereka kasih contohnya cuma kedokteran (endoskopi, liat sodok-sodok diatas) mengukur objek tanpa sentuh itu bisa dipake untuk ngukur benda yang ga bisa disentuh, betul misalnya seperti organ dalam kalo endoskopi, dan juga ngukur benda yang belum diketahui aman ato ga untuk disentuh. Lagi – lagi penguji mempertanyakan gunanya ,menurut mereka tidak terlihat gunanya, dan statement si N yang paling keren adalah
N : “dari pada kamu buat kedokteran yang ud canggih, mending kamu buat ngukur baut astra tuh, presisi ato belom, sentuh di beberapa tempat pake sensor dan tar bisa tau ud presisi ato belom”

yah komentar gua cuma satu, jelas dia ga ngerti apa yang dibuat ma temen gua (woi baca woi baru komentar), karena pengukuran yang dilakukan pake stereo vision cuma dari 2 foto objek yang sama, yang kameranya digeser dikit (TANPA SENTUH OBJEK). Kalo disentuh mah pake penggaris aja pak!

Gua jadi berpikir kalo point penilaian manfaat skripsi itu merusak, karena sepertinya manfaat itu agak subjektif, kalo pengujinya ngerti itu apa, pasti dia tau manfaatnya, kalo kayak sidang ini, kedua pengujinya ga ngerti, mereka ga liat manfaatnya. Subjektifitas lain dari poin ini adalah, manfaat itu buat siapa? kalo misalnya dipatok bahwa manfaat itu kepada masyarakat luas, bisa aja donk gua bilang skripsi – skripsi yang biasa dibuat anak TI macam “analisis dan perancangan sistem xxx pada xxx” itu ga guna semua, kenapa? itu cuma berguna (yah kalo dianggep berguna juga ya :P ) sama orang perusahaan itu yang make itu software. IMO, biasanya hasil skripsi itu manfaatnya ga umum, hanya untuk orang tertentu yang berkaitan dengan masalah yang diangkat dalam skripsi itu dan kalo pengujinya ga memahami masalah itu ato ga pernah berkaitan dengan masalah itu, kemungkinan besar dia ga bisa liat sisi manfaatnya.

Pemikiran satu lagi berkaitan dengan manfaat, skripsinya kemaren dibanding – bandingin sama produk yang udah ada, ditanya udah ad lom yang buat macam ini, kan gnian udah ada, lebih bagus bla bla bla…..

Kalo kata pembimbing gua, kita harus realistis, produk jadi itu dibuat oleh orang yang lebih hebat dan juga mereka lebih banyak, pembimbing gua sendiri hanya menekankan pada aspek metodologi dan berpikir logis. IMO membandingkan suatu yang udah komersial dan buatan anak binus dalam 1 semester, jelas bagusan komersial lah ya. Studi eksperimen penelitian gitu juga sama si N dibilang “orang sudah jauh kamu baru mulai” ya iyalah ya, hal ini ga usah banyak dibahas lebih lanjut, karena jelas berkaitan dengan materi dan kualitas kebanyakan dosen binus ,yah masih ada 10 taon buat beres – beres …

By marcadian Posted in Story

(unofficially) kelar kuliah

yak dah lama sekali tidak update blog, semester 7 ini gua cukup pusing dengan berbagai hal, tapi sekarang sudah bebas :D Sidang dah kelar dan lancar, uas juga baru saja kelar (tinggal tunggu nasib) hehehe…dari beberapa minggu lalu dah pengen nulis blog, terutama gara2 kekecewaan gua ga ikut maki – maki di “76″ :P barusan gua ke TA, jalan – jalan dan beli buku. Gua muter – muter ke banyak tempat, pas lewat di matahari, tulisan diskon dimana – mana dan cukup rame, jadi gua masuk liat – liat, secara sepatu gua ud bolong >.< abis liat sepatu, iseng liat baju, pas lewat bagian batik liat – liat sebentar, pramuniaga nya nawarin mulu, promosiin diskonnya
pramuniaga : ya ini lagi diskon loh 20% + 20%

gua : oh jadi 40% ya

pramuniaga : enggak, jadi sekitar 36

gua : *krik krik* ==”

ok sejak kapan 20% + 20% jadi sekitar 36?

Sidang gua hari rabu kemaren, pas liat seorang penguji (sebut saja si N :P ) , wah kenapa dia yang dateng ==” ini sih gawat……. pas liat penguji satu lagi (sebut saja S), halleluya :D (kata gua sih halleluya, kalo kata ko wince ini nepotisme tingkat tinggi ),

gua juga ga nyangka dia yang nyidang, karena dia baru nyidang di ruang sebelah, kirain sehari dosen cuma nyidang sekali :P . Yah gua kebagian kelompok terakhir yang sidang, gua sendiri disidang paling cepet, cuma 30 menit, 2 kelompok lagi masing – masing 45 dan 1 jam. Yang mulai nanya dari si N, pertanyaannya jujur ga mutu semua, pertama kali dia mempermasalahkan tabel yang nama nya gua tulis dibawah, kata dia mestinya di atas,kata – kata dia cukup bagus “ini mestinya diatas, ga baca pedoman ya? dosennya gimana ini ga periksa”, dimana bagusnya? anak bimbingan si S juga bikinnya sama kayak gua wkwkwk… ampe rumah gua cek di pedoman, ga ad keterangan tuh nama tabel dibawah ==” pertanyaan berikut dari orang ga mutu ini adalah, coba rumus ini artinya gimana rumusnya gampang banget, cuma s = 0 ,if max=0 otherwise s = (max – min) / max pertanyaan berikut semakin ga mutu, gua disuruh coding (penguji satu lagi, dan sebagian penonton ketawa2) cari euclidean distance pake bahasa C, gua kasihlah double distance (point a, point b) { return (a.x – b.x) * (a.x – b.x) + (a.y – b.y) * (a.y – b.y) } dan dia bertanya,

N : ini double apa?

gua : **nih orang ngerti bahasa C ga sih?** tipe data pak.

berikutnya semakin aneh, dia nanya perintah nyari akar di C, gua kasih sqrt(60) abis itu dia nanya gimana cari akar kuadrat, loh nih org apa maunya? gua tunjuk lagi sqrt(60) yang gua tulis, trus dia bilang x^2 = x*x zzzzzzzzz ini sih kuadrat bukan akar kuadrat…….bapak TI MAT yang (sok) pintar ini memang luar biasa…

gua : ga ad pak

N : yakin ga ada?

gua: iya pak

N : di pascal basic ada tuh

gua : **loh so what gitu?** *terdiam*

akhirnya dia nanya trus kalo ga ad gimana gua buatnya, dan gua bilang ,ya ud kaliin aja langsung :) )

pertanyaan satu lagi sama ga pentingnya, dia mempertanyakan tujuan gua dan kesimpulan, di kesimpulan gua berisi penjelasan tanpa angka, dia minta angka, trus gua bilang ,kalo dari pedoman gua baca di kesimpulan ga boleh ada kuantitafif, harus berbentuk kualitatif , dia bilang kalo satu dua angka boleh, dan dia minta persentase angkanya, menurut dia yang ga boleh tuh tabel >.< nih orang dudut ya,, nih dari pedoman


Ulangi hasil pembahasan pada bab 4 tetapi dengan bahasa yang lebih singkat dan jelas. Terlihat gambaran antara harapan dan kenyataan. Tunjukkan kenyataan atau hasilpenelitian atau tesis, namun tanpa mengandung informasi yang kuantitatif, seperti persentase, predikat penilaian, dsb.

jadi, yang ga baca pedoman (ato ga ngerti kuantitatif) :P sepertinya dia..
pertanyaan dari dosen S masih bagus, beberapa konsep seperti apa itu fitur, sama gua lupa dia nanya apa lagi, pertanyaan dia tergolong normal ga kayak si aneh itu >.< hasil sidang, dari 8 orang (3 kelompok) yang dapet A sebanyak 5 orang! wow, 50% lebih tuh ;) gua rasa terbantu oleh topiknya, karena si S sebagai ketua penguji mayan ngerti tentang ini, jadi dia bisa menghargai apa yang udah dibuat.

By marcadian Posted in Story

World Final ACM ICPC 2009, Stockholm

Day 0-1

Perjalanan Jakarta – Bangkok cukup lancar dan berasa cepet, ampe bangkok, waktunya bengong 9 jam, mantap. Setelah muter2 bandaranya, yang arsitekturnya cukup keren, tapi ga gtu banyak tempat makanan akhirnya nongkrong di starbucks bentar, trus menemukan tempat yang nyaman, bisa tidur bentar disini. Abis itu cari tempat makan di bandara, isinya makanan macem2, cita rasa thailand dah ;) gua sendiri makan tom yam. Pas masuk ruang tunggu, ketemu tim NUS ma NTU, tim NTU cm transit disini sekitar 2 jam, wew kenapa gua 9 jam ==” 
Pas lagi nunggu, ketemu beberapa orang asia bermuka geek, wah kayaknya tim ICPC juga nih, dan ternyata mereka dari NTU Taiwan.

Penerbangan dari bangkok – stockholm makan waktu 12 jam, sepertinya cukup membosankan. Di samping gua duduk seorang cw ;) (hmm… cw bener bkn ya? serem kl shemale, cuekin aj ah) pas naek langsung pk selimut, molor, malah sempet selimut ampe nutup muka, cw stres ==”. Abis makan, langsung tdr, bangun2 dah pagi, ga lama makan lagi. Bis itu nanya2 cw sebelah dari mana, oh dr filipina, kemungkinan besar beneran cw berarti.

Turun dari pesawat, wow tambah dingin, ah tenang masih kuat. Abis urus imigrasi, ketemu orang dari panitianya, eh ternyata maksudnya mereka ingin ada di bandara saat tim nyampe itu, ya benar2 gtu, bukan berarti mereka jemput :D Keluar bandara buat naek taksi, woo mantap suhunya, bisa bikin merinding disko.  Dari bandara Arlanda, naek taksi ke stockholm, taksinya fixed rate, 495 kr (1kr sekitar 1200 rupiah), ok mantap taksinya (selaen mahalnya) volvo! dan melaju dengan kecepatan > 100km / jam pernah ampe 150an konstan, mantap ;) ini baru namanya taksi. Sekitar 1/2 jam nyampe grand hotel, check in. Abis itu mau makan, dan muter2 jalan2 cari makanan, wew kotanya bagus, banyak airnya, stockholm terpecah ma perariran. Baru jalan sekitar 10 menit, menyerah dengan suhu udaranya, dan kembali ke kamar buat tambah armor. Jalan ga lama,  gunawan berasa ketombenya rontok lol ternyata bukan, salju jatuh dikit, untung ga banyak. Abis jalan susah juga nemu tempat makan, karena banyak gedung2 tanpa nama, akhirnya ketemu 7 eleven dan makan disana, gua menghabiskan 59 kr.Mirhard ma pak fredy membeli sebotol air mineral, seharga 33kr, ternyata itu air soda, met menikmati. Abis itu pulang, nunggu bentar trus urus registrasi dll lalu makan malam, abis itu ketemu pak sablin bentar, trus keluar hotel dengan tanpa persiapan hanya untuk foto, suhunya lbh mantap dr tadi siang ==” abis itu balik ke kamar, tidur. Kata pak sablin, lewat jam 12 malam, ada channel2 “nakal” >:) tapi sialnya gua selalu terkapar sebelum jam 12.

Arkavidia

Arkavidia

Day 0 Decision…
Ok, dikarenakan terjadi suatu kesalahan teknis oleh panitia yang tidak memberitahu jadwal acara, padahal dari hari rabu sebelumnya dah gua email, dan sodara flashit bilang kalo software disuruh ikut expo tanggal 2, maka semuanya berangkat bareng tanggal 1. Setelah milih hotel, booking, 15 menit kemudian ad email dari panitianya, software mulai tanggal 3, nice :D cengo dulu ampe tanggal 4 gua.