Showing posts with label interview. Show all posts
Showing posts with label interview. Show all posts
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!
Sunday, July 20, 2014

Aneka Tips: Sukses Interview Untuk Software Engineer

(Dayton High School, 2015)

Postingan kali ini, gw mau berbagi tips interview, khususnya buat yang mau jadi software engineer: Berikut tips-tips nya:
  1. Belajar! Interview itu bukan cuma dateng buat ngobrol-ngobrol. Tapi akan ada test tertulis yang harus dikerjakan. Soal-soal yang biasanya ditanyakan, akan dijelaskan di bawah.
  2. Sebelum berangkat interview, lebih baik cek dengan perusahaan, dokumen apa yang perlu dibawa. Ijazah asli, fotokopi ijazah dan CV / resume wajib dibawa, walaupun perusahaan bilang ga perlu bawa apa-apa.
  3. Cari tahu sedikit tentang perusahaan: bergerak di bidang apa, client nya siapa, dan informasi lainnya. Jadi pas ditanya 'Apa yang kamu tahu tentang perusahan ini?', jawabannya ga cuma melongo.
  4. Ga perlu bawa laptop. Serius, deh! Kalian ga akan diminta ngerjain coding di laptop, kok.
  5. Berpakaian sepantasnya. Formal, tapi ga perlu terlalu formal. Untuk cewek, ga perlu pake baju pesta yang bling-bling, sepatu hak tinggi atau rok mini. Buat cowok, ga perlu juga pake dasi atau jas segala. It's too much, way too much.
  6. Dateng interview jangan telat. Jangan niru-niru gw yang telat pas interview pertama. Tapi ya, ga perlu dateng 1 jam lebih awal juga.
  7. Tersenyumlah saat memperkenalkan diri. Berbicaralah dengan sopan dan tatap mata lawan bicara, jangan sibuk ngeliatin handphone atau awang-awang.
  8. Kerjakan soal test dengan baik. Jangan mencontek, ya. Bila soal test nya cukup banyak, cobalah untuk menjawab pertanyaan sebanyak mungkin. Jangan fokus terlalu lama di satu soal.
  9. Setelah test selesai, biasanya si bos bakal nanya-nanya, dari soal kuliah, pengalaman kerja, atau soal-soal IT general. Jawablah semuanya dengan jujur. Kalo ga tau, bilang aja 'enggak tahu', ga perlu sok tahu.
  10. Selesai interview, apapun hasilnya, sebaiknya ucapkan terima kasih atas undangan interview via email.
Berikut soal-soal yang biasa ditanyakan pada software engineer: Gw ga tau kalo soal di Indonesia begini juga atau ga. Soalnya gw ngumpulin data ini dari pengalaman interview pertama dan interview terakhir gw sendiri dan teman-teman gw di Kuala Lumpur.
  1. Pertanyaan matematika dan logika umum, contohnya: Berapakah 2 bilangan selanjutnya:
    1, 1, 2, 6, 24, ..., ...
  2. Database query, kebanyakan sih, SQL. Biasanya mereka fokus ke LEFT JOIN, INNER JOIN, UNION, UNION ALL, dan aggregate function seperti SUM, AVG, COUNT, MIN, dan MAX.
  3. Masih berhubungan dengan database, biasanya ada case study di mana kandidat akan diminta untuk men-design simpel database berdasarkan case study.
  4. Ada juga soal database teori di mana kandidat harus menjelaskan apa itu 1NF, 2NF, dan 3NF.
  5. Pertanyaan yang berhubungan dengan programming: function untuk menentukan suatu bilangan termasuk bilangan prima atau bukan, function untuk mengubah string menjadi int dan kebalikannya tanpa menggunakan built-in function, function untuk membuat sorting algorithm, dan pertanyaan kreatif lainnya yang kalo gw list bisa sampe ratusan.
  6. Cara membalas email kepada client. Biasanya akan ada beberapa case study. Jawablah dengan professional.
  7. Diagram. Masih inget Use Case? Entity Relationship Diagram? Class Diagram? Biasanya keluar salah satunya.
Biasanya setelah selesai mengerjakan soal-soal tertulis, si bos akan melihat jawaban-jawabannya. Bila kandidat dinilai berpotensi, si bos bakal 'memaksa' kandidat buat ngejawab pertanyaan-pertanyaan, dan sedikit memberikan clue-clue. Di sini, si bos bisa ngeliat logical thinking si kandidat dan apakah si kandidat bisa berpikir saat under pressure.

Untuk yang sudah berpengalaman, si bos biasa akan bertanya soal pengalaman kerja sebelumnya: perusahannya fokus di bidang apa, client nya siapa, sistem apa aja yang dibuat, seberapa besar kontribusi kandidat, architecture diagram nya seperti apa, dan lainnya.

Petanyaan software engineer yang sudah berpengalaman bisa dilihat di SINI. Selain itu, gw juga pernah nge-post pengalaman gw menghadapi interview ala Microsoft yang bisa disimak di SINI.

Biasanya sih, interview berlangsung minimal 2-3 jam. Beberapa perusahaan bisa saja memanggil kandidat untuk second interview (biasanya, sih, yang interview pertamanya ga langsung sama bos).

Buat yang mau interview, lebih banyak persiapan, pastinya akan lebih bagus.
Good luck!!
Saturday, July 12, 2014

Lika-Liku Software Engineer: Pengalaman Interview Terakhir

Setelah insiden interview pertama, gw berencana untuk ga mencari kerja dulu dalam waktu dekat. Gw mau nunggu sampe semua urusan gw bener-bener selesai dulu. Anehnya, malah temen-temen gw yang sibuk nyariin gw kerjaan. Dari beberapa tawaran, ada satu temen deket gw yang juga nawarin kerjaan. Bisa dibilang temen gw yang ini, sebut saja namanya si Y, cukup dekat dengan gw karena kita punya beberapa kesamaan: sama-sama aneh dan suka ngomongin hal-hal yang ga jelas. Akhirnya, setelah urusan gw selesai semua, gw pun meng-iya-kan tawaran dia.

Undangan interview pun langsung datang. Biasalah, kalo rekomendasi orang dalem, pasti jadi top priority, deh. Seminggu setelah undangan interview, gw udah balik lagi ke KL. Ga mau ngulangin kesalahan yang sama dengan interview pertama, gw belajar. Gw sadar otak gw udah blank, udah hampir setahun juga ga nyentuh coding.

Nebeng si Y, gw berangkat ke kantor. Saat sampe di kantor, gw udah ga kaget lagi walau ada kertas test di tangan gw. Berbeda dari interview sebelumnya, kali ini soalnya cuma 3, dan ga pake abc-an. Satu tentang logic dan programming, dan dua lagi lebih ke diagram dari case study yang ditentukan.

Satu jam kemudian, si bos dateng. Jawaban gw cuma diliat sekilas dan digeletakin gitu aja. Dia malah nanya-nanya soal yang random. Dari soal matematika, database, general IT knowledge, kombinasi dan gabungan ketiganya, sampe soal liburan gw ke Eropa, yang gw yakin dia tau dari si Y.

Herannya, membahas liburan gw ke Eropa itu memakan waktu cukup lama. Terus dia malah sibuk bercerita sendiri. Total interview kira-kira 3 jam: 1 jam test, 30 menit gw jawab pertanyaan lisan dengan asal-asalan sotoy, dan 1.5 jam sisanya, gw cuma duduk dengerin dia cerita. Serius!!

Untungnya, setelah duduk dengerin dia cerita dengan semangatnya, ending nya bahagia.

Si bos (B), Gw (S):
B: 'Actually you have been confirmed even before the interview, when you were still in Europe.
S: 'Wow! How come?'
B: 'Y told me that you are very good, better than him. I was surprised. He is very good and he recommends someone who is better than him. I ask him to invite you for interview. He said you are still enjoying your holiday in Europe. So we wait lah, and finally you are here.'
S: (Gw shock. Si Y kesamber petir apaan tiba-tiba bilang gw better than him? Biasanya dia ga pernah mau ngalah, kok. Udah gitu, gw ke Eropa itu 3 bulan lalu lho!) 'No laahh. He is my senior, he is obviously much better than me.'
B: 'No lah, I see you are also quite good. It's up to you now whether you want to join us or not. If you are okay, our HR will arrange the visa for you.'


Dan si bos tadi nyuruh si Y nganterin gw pulang. Gw bahagia!
Sunday, June 29, 2014

Lika-Liku Software Engineer: Pengalaman Interview Pertama

Interview (xlsys Consulting Limited, 2013)

Pas semester terakhir, selain pada sibuk skripsi, anak-anak kuliahan pada umumnya juga pada sibuk nyari kerja. Begitu juga temen-temen gw, mereka udah pada sibuk nyari kerjaan. Beberapa bahkan udah dapet kerjaan sebelum mereka lulus. Gw sendiri? Masih enjoy dan sok jual mahal milih-milih perusahaan. Prinsip gw: Kalo perusahaan bisa sok-sok jual mahal milih staff nya, apa alasan kita, sebagai staff, ga bisa sok-sok jual mahal milih perusahaan? Bener, ga?

Kira-kira 4 bulan setelah gw lulus, ada satu tawaran interview di salah satu perusahaan yang bergerak dalam bidang Business Intelligence yang cukup ternama di Malaysia. Denger-denger company ini pun punya beberapa cabang di Asia.

Sehari sebelum interview, kandidat-kandidat lain, sih, biasanya pada belajar, nginget-nginget syntax coding, ngeliatin diagram-diagram yang mungkin bisa jadi soal test. Sedangkan gw, pas gw mau belajar, temen gw malah ngajakin jalan-jalan. Kata temen gw: 'No need to study lah, usually first time interview they just want to know and see you only. Later if they are interested, you will be invited to second interview and test.' Begonya, gw percaya. Kita pun jalan-jalan dan nonton film.

Pas hari H (gw ga tau kenapa disebut hari H), gw dateng ke tempat interview. Karena banyak hal-hal yang di luar dugaan, seperti ga nemu taksi, ketinggalan train, dan train berikutnya yang biasanya on-time sekarang datengnya telat, dan beberapa hal lain yang ganjil. Pokoknya banyak halangan deh, gw pun dengan suksesnya TELAT 1 JAM! Sampe-sampe pas gw dateng, pertanyaan pertama:
'How many years have you been in KL?'
'3+.'
'You never come to this building? (Padahal buildingnya attach ke salah satu shopping mall terbesar di KL).'
'Very seldom.'
Setelah berbasa-basi dan perkenalan diri yang singkat, dia bilang: 'I'll give you one hour to do the test first. Try to do it as many as you can.'  JENG JENG JENG...!!! Gw pengen ngebunuh temen gw yang ngajak jalan-jalan seharian kemaren.

Gw liat-liat soalnya. Cukup banyak dan bervariasi. Ada soal programming, database, dan soal-soal general seperti: bagaimana cara merespon email dari beberapa case study, bagaimana cara deal with client, dan membuat cerita singkat (kurang dari 100 kata) menggunakan 10 kata yang sudah ditentukan. Pas kasus gw dulu, kata-katanya lucu, ada: frog, needleslake, leaf, dan beberapa kata lagi yang gw ga inget.

Sebenernya soalnya ga susah-susah amet, cuma gw nyaris lupa semua syntax SQL database. Padahal ini perusahaan Business Intelligence (BI), di mana sangat erat sekali hubungannya dengan database! Dalam artian, gw gagal menjawab soal-soal utamanya!

Gw tengok kiri-kanan-atas-bawah, nyariin CCTV. Bermaksud mau googling dan cari cheat. Sepertinya aman, gw ga nemuin CCTV atau sejenisnya. Tapi setelah dipikir-pikir, ga jadi deh. Semua yang terjadi pasti ada sebabnya. Temen gw ngajak jalan seharian dan gw ngikut aja... Halangan-halangan yang bikin gw telat 1 jam nyampe tempat ini...

Satu jam kemudian, dia balik lagi. Ngobrol-ngobrol sambil meriksa jawaban-jawaban ngasal gw.

Lalu terjadilah percakapan berikut ini antara Interviewer (I) dan Stef (S):
I: I see you are quite strong in programming, but not too strong in database. Why don't you try to apply in software engineering field instead of Business Intelligence (BI)?
S: Believe me, I'm strong in database as well. I just don't remember the syntax. Haven't interacted with any DB since I officially graduate.

I: I see... Why don't you try to answer this question? (Dia nunjuk salah satu soal programming yang ga gw jawab).

S: Eerr.. that one I'm not so sure.
I: Just give it a try. You just tell me the logic, step by step.
S: I think that first step is to create an array, then bla bla bla (Gw coba jawab dengan ke-sotoy-an gw)
I: Ok correct. You reached half way already. Then?
S: Then I don't know.
I: How about this? (Dia coba ngasih clue). Do you think it works this way?
S: Oh yeah, sure it works.
Dan akhirnya dia 'memaksa' gw untuk menjawab hampir semua pertanyaan. Total interview kira-kira 2.5 jam.
I: How far do you know about our company?
S: Not much. I read about your company profile in your web. I know you provide solution for bla bla bla.
Dia terus menjelaskan tentang perusahaannya, bisnis utamanya, dan client-clientnya. Beberapa client cukup ternama, seperti beberapa bank, beberapa perusahaan telekomunikasi di Malaysia. Dia juga menjelaskan bagaimana konsep BI digunakan dan betapa pentingnya BI bagi perusahaan-perusahaan besar.
I: We don't mind to provide training for our new staff. Some of our staff here also do not have any IT background. But we still take them if we see that their logical thinking is strong. And for your case, I see your logic is quite strong.
S: I see.
I: How soon can you are able to start working? 
JENG JENG JENG...!!! Ini soal yang dari kemaren gw pikirin jawabannya, tapi ga ketemu. Gw dilema. Bokap nyokap gw dapet nawarin tour ke Eropa, mumpung adek gw juga lagi libur panjang karena barusan UAN. Dan tawaran ini baru dateng pas gw udah confirm mau interview. Pastinya, gw ga nolak donk. Kapan lagi bisa jalan-jalan bareng di saat semua free gini?

Gw harus pulang Indo dalam waktu dekat buat ngurus visa Eropa. Tau sendiri, kan, bikin visa Eropa itu lama, kadang-kadang sampe 1 bulan. Selain itu gw nunggu sampe koko gw married baru mau kerja, ga mungkin bolak-balik Indo-KL terus.
I: (Nungguin gw ga jawab-jawab, dia nanya lagi) Any intention going back to Indonesia?
S: Yes, soon. I need to apply Europe Visa and I'm going on Europe tour in the next 3 months.
I: For how long?
S: Maybe around one month for visa, and the tour is 2 weeks.
I: (Terdiam sejenak) We expect you to be able to start working immediately. And let's say, if you start working in beginning of next month, which is another 2 weeks from now, you are still not allowed to take any annual leave. Some more it's a very personal reason, a holiday tour, for such a long period.
S: (Gw berdiri, pamit dan nyalamin dia) Okay.
I: (Ikutan berdiri dan nyalamin gw, kayanya sih dia nangkep maksud 'okay' nya gw) Well, I will report all the things to my boss and let's say he decides to approve you, we will let you know via email. Good luck. (Sambil nganterin gw keluar).
S: Thank you very much. Nice to meet you. Bye.
I: Nice to meet you too. Bye.
Anehnya, gw ngerasa lega dan senang setelahnya. Padahal gw yakin, gw ga akan diterima!
Europe, I choose you!!