Job Hunting Sebagai Graduan Software Engineering
Published: 2023-05-25 07:27:21

---
title: Job Hunting Sebagai Graduan Software Engineering
published: true
date: 2021-05-24 06:47:23 UTC
tags: 
canonical_url: https://blog.afrieirham.com/job-hunting-sebagai-graduan-software-engineering
---

Baru baru ni, saya berjaya graduate sebagai pelajar Sains Komputer di Universiti Malaya pada Januari 2021. Setelah hampir 5 tahun di universiti termasuk asasi, akhirnya saya bersedia untuk memasuki alam pekerjaan.

Jika anda seorang pelajar lepasan SPM atau pelajar tahun pertama, yang ingin mengetahui pengalaman seorang "fresh grad" sains komputer mencari kerja, ini adalah artikel yang mungkin dapat membantu anda.

Dalam artikel kali ini, saya nak kongsikan sedikit experience job hunting saya sebagai graduan sains komputer pada tahun 2021.

Sebelum anda teruskan membaca, saya ingin maklumkan kepada anda yang artikel ini agak panjang, jadi bagi memudahkan anda, saya telah membahagikan artikel ini kepada 4 bahagian.

1. **Fasa Persediaan**
2. **Sesi Interview**
3. **Kronologi Job Hunting**
4. **Kesimpulan**

# Fasa Persediaan

Sebelum saya mulakan job hunting, ada beberapa perkara yang saya lakukan sebagai persediaan.

Antara perkara tersebut ialah:

- Membuka akaun LinkedIn
- Bina portfolio atau side-project
- Sediakan resume
- Senaraikan company yang menarik

2 perkara yang pertama adalah perkara yang saya lakukan sebelum atau sepanjang pengajian saya dan 2 perkara yang seterusnya merupakan perkara yang saya lakukan setelah saya tamatkan pengajian. Mari saya explainkan satu per satu.

## Membuka Akaun LinkedIn

![linkedin.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621780211323/2bz1Z_eXo.png)

Saya membuka akaun LinkedIn pada akhir tahun 2016. Setahun sebelum saya memulakan pengajian ijazah.

Saya mengetahui kewujudan LinkedIn ini daripada ayah saya yang mencadangkan saya untuk membuka akaun LinkedIn. Dia percaya LinkedIn merupakan sebuah platform yang bakal membantu saya untuk mencari kerja kelak.

Spoiler alert, ayah saya 100% tepat.

Pada masa itu saya masih tidak mengetahui apa apa tentang LinkedIn, tapi saya mengikut sahaja apa yang dicadangkan dan register akaun LinkedIn. Seingat saya, saya seterusnya mula membaca artikel dan menonton video di YouTube tentang mengapa students perlu membuka akaun LinkedIn.

[https://twitter.com/malissaali/status/1351915938459734019?s=20](https://twitter.com/malissaali/status/1351915938459734019?s=20)

Pada masa itu juga saya terjumpa beberapa perkongsian di Twitter daripada [@malissaali](https://twitter.com/malissaali), [@lukmankhiruddin](https://twitter.com/lukmankhiruddin), dan juga [@azwant](https://twitter.com/azwant) tentang kebaikan LinkedIn.

Selepas saya lebih faham tentang kebaikan LinkedIn, saya sangat excited. Saya nampak pengalaman orang lain yang menunjukkan LinkedIn ini merupakan sebuah platform yang dapat membantu mereka dalam job hunting.

Ada juga antara mereka yang di-offer kerja tanpa mereka memohon. Ini membuatkan saya sangat optimis tentang peluang pekerjaan saya. Dan itulah juga antara pengalaman saya bersama LinkedIn, saya akan kongsikan dengan lebih detail dalam artikel ini.

Nasihat saya, jika anda masih belum mempunyai akaun LinkedIn, silakan daftar sekarang.

## Bina Portfolio atau Side-Projects

![https://images.unsplash.com/photo-1555421689-d68471e189f2?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1555421689-d68471e189f2?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Sebagai seorang graduan Sains Komputer, terutamanya kepada anda yang ingin menjadi seorang programmer atau software developer. Amatlah digalakkan untuk anda membina sebuah portfolio atau side-projects yang boleh digunakan sebagai bukti kemahiran anda.

> Jika anda tidak faham kenapa anda perlu membina portfolio, anda boleh tonton video ini daripada Coder Foundry, _["How to get your first software development job"](https://www.youtube.com/watch?v=BSblaB6Nkl8)._

Sepanjang tempoh pengajian, saya telah membina beberapa buah aplikasi web yang saya jadikan sebagai portfolio.

Antaranya ialah:

- WhatsAppIt
- Proshop eCommerce
- Student Management System
- Buku Graduan

Side-project pertama saya merupakan sebuah website utiliti yang bernama [WhatsAppIt](https://whatsappit.afrieirham.com) yang saya bina pada tahun kedua pengajian. Ianya merupakan beberapa bulan setelah saya mulakan initiatif #100DaysOfCode saya.

Proshop eCommerce merupakan sebuah web app hasil daripada saya mengikuti online course [MERN stack eCommerce](https://www.udemy.com/course/mern-ecommerce/) daripada Brad Traversy.

Walaupun ianya adalah sebuah projek hasil mengikuti online course, saya ada menggunakan projek ini sebagai starting point untuk assignment saya, dimana kami ditugaskan untuk menambah beberapa feature baru.

Disebabkan projek ini telah diubah dari hasil asal, saya decide untuk gunakan ia sebagai portfolio saya.

Tujuan asal saya membeli online course tersebut adalah kerana saya ingin belajar tentang library Redux untuk diimplementasikan dalam Final-Year Project (FYP) saya. FYP saya merupakan sebuah projek terbesar dalam portfolio saya.

[https://twitter.com/afrieirham\_/status/1359941750782009344?s=20](https://twitter.com/afrieirham_/status/1359941750782009344?s=20)

Selepas saya menamatkan pengajian ijazah, saya mengambil masa ini untuk membina sebuah website bernama [Buku Graduan](https://bukugraduan.afrieirham.com) yang saya jadikan sebagai portfolio. Ini merupakan sebulan sebelum saya mulakan sesi job hunting saya.

Kesemua projek yang telah saya bina sepanjang dan selepas pengajian ijazah, merupakan projek yang saya gunakan sebagai portfolio bagi membuktikan kemahiran development saya. Saya telah memasukkan Proshop eCommerce, Student Management System, dan Buku Graduan di dalam resume saya.

Which brings us to the next point.

## Membuat Resume

![https://images.unsplash.com/photo-1434030216411-0b793f4b4173?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1434030216411-0b793f4b4173?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Sebelum kita mula memohon pekerjaan, resume merupakan perkara yang paling utama yang kita perlu sediakan.

Sepanjang bulan Februari, saya telah mengambil masa untuk menyediakan resume saya supaya ianya lebih _up-to-date._ Pada masa itu saya telah pun melancarkan Buku Graduan secara live.

Perkara pertama yang saya lakukan untuk menyediakan resume ni adalah dengan merujuk semula resume saya yang lama. Resume yang paling latest saya ada pada masa itu adalah resume internship saya.

Dari situ saya guna semula general structure yang saya telah gunakan semasa permohonan internship. Saya juga update beberapa section penting seperti work experience dan projects.

> Jika anda ingin mandapatkan tips membina resume dengan lebih lanjut, saya cadangkan anda membaca artikel ini yang ditulis oleh rakan saya, Aliaa' Ramzani, iaitu _["Students Resume: What and How to Write?"](https://medium.com/theumhack/intern-resume-guide-db405b7452ea)._

Saya juga kongsikan resume saya kepada beberapa rakan untuk mendapatkan feedback dari mereka. Feedback dan nasihat daripada orang lain merupakan perkara yang penting untuk anda dapatkan dalam proses penyediaan resume.

Saya ada kemungkinan untuk melakukan kesilapan seperti typo dan terlepas pandang beberapa perkara yang boleh ditemui oleh orang lain. Maka proses ini adalah sangat penting supaya saya dapat menyediakan resume yang berkualiti.

Setelah saya berpuas hati dengan resume yang disediakan, saya mula bersedia untuk melakukan step seterusnya yang saya rasa amat penting untuk anda semua lakukan.

## Senaraikan Company Menarik

![https://images.unsplash.com/photo-1507925921958-8a62f3d1a50d?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1507925921958-8a62f3d1a50d?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Sebelum saya mula membuat apa apa permohonan kerja, saya mulakan dengan survey dulu company yang saya rasa menarik. Saya ingin lebih memahami dan mengenali dahulu syarikat tersebut sebelum membuat permohonan.

Saya ada buat satu excel spreadsheet dimana saya gunakan untuk keep track permohonan saya. Tapi untuk peringkat awal ni, saya hanya mencatat beberapa maklumat penting tentang company tersebut seperti nama dan emel company, jawatan yang ditawarkan, link kepada permohonan tersebut, dan juga company website.

Setelah saya sediakan senarai company tersebut, saya kemudiannya memulakan proses permohonan kerja. Saya mula dengan memohon company yang paling saya berminat terlebih dahulu, dan saya cuba untuk fokuskan kepada satu atau dua permohonan pada satu satu masa.

Ini kerana ada sesetengah permohonan yang saya perlu mengambil masa untuk menjawab soalan soalan mereka. Saya akan kongsikan dengan lebih detail tentang perkara ini dalam bahagian temuduga. Excel ni juga merupakan tempat saya update status permohonan seperti Applied, Review, Interview, Offered, Rejected atau Accepted.

# Sesi Interview

![https://images.unsplash.com/photo-1573497491208-6b1acb260507?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1573497491208-6b1acb260507?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Untuk bahagian ini, saya akan bahagikan mengikut company. Secara keseluruhan, terdapat 6 company yang saya apply, dan right off the bat, 3 company tidak memberi apa apa respond. Tapi yang menariknya ada 3 company yang panggil saya untuk interview tanpa saya memohon.

Dalam bahagian ini, saya akan ceritakan cara saya mendapat panggilan ke interview, sesi interview, dan kesimpulan dan harapan setelah selesai interview bersama syarikat berkenaan.

Senarai ini tidak mengikut urutan kronologi panggilan interview sebenar saya.

### Maevi

![maevi.jpeg](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779758080/D_OqEK5iQ.jpeg)

Maevi merupakan sebuah company subsidiari TNB. Mereka merupakan anak syarikat TNB pertama yang memfokuskan kepada perkhidmatan software.

Maevi mempunyai 2 bisnes utama yang dibahagikan kepada B2B dan B2C. Jika anda melawat laman web mereka, [maevi.my](https://maevi.my/), itu merupakan business B2C mereka dimana mereka menjual peralatan smart home devices kepada konsumer. Business utama mereka merupakan business B2B mereka dimana mereka membantu SMEs untuk mengurus electical consumption.

Cara saya mengenali dan mendapat interview daripada company ini agak menarik. Ianya bermula semasa saya masih didalam tahun akhir pengajian saya, semester 7. Ketika itu, seorang Product Manager daripada Lazada yang ada membuat request untuk menjadi connection saya di LinkedIn.

Setelah saya accept request tersebut, beliau message saya di LinkedIn mengenai peluang part-time. Pada masa itu saya masih berkerja di Digi-X secara part-time sambil belajar dan saya menolak tawaran beliau.

Saya accept request beliau kerana mempunyai connection dengan Product Manager daripada Lazada merupakan satu perkara yang baik. Peluang networking dengan seseorang seperti beliau adalah perkara yang positif untuk saya.

Dan dari situlah saya mula mengenali Maevi.

### Cara Mendapat Interview

Pada awal bulan Februari tahun ini, beliau membuat post di LinkedIn dimana beliau sedang mencari seorang Software Engineer. Tetapi pada masa itu, saya perasan yang beliau tidak lagi bekerja di Lazada. Walaubagaimanapun saya tetap message beliau berkenaan peluang pekerjaan tersebut.

Beliau meminta resume saya dan setelah beberapa hari kami bersetuju untuk melakukan sesi temuduga.

### Sesi Interview

Sesi interview bersama Maevi mempunya 3 interviewer, dimana salah seorang daripada mereka merupakan Product Manager tersebut. Secara general-nya saya merasakan interview tersebut lebih casual.

Semasa interview, saya perasan yang mereka amat berminat tentang pengalaman saya di Digi-X. Mereka juga ada mengatakan yang TNB perlu cuba untuk mengikut langkah Digi yang menubuhkan Digi-X sebagai venture builder.

Bagi soalan teknikal, mereka ada menguji pengetahuan Git saya semasa interview, dimana mereka meminta saya untuk menerangkan perbezaan `git merge` dan `git rebase`. Selain itu mereka ada juga meminta saya mengongsikan workflow saya menggunakan Git secara kolaborasi. Ini termasuk penggunaan `git branch`.

### Refleksi

Secara keseluruhannya, pengalaman interview bersama Maevi ini lebih kepada sesi networking. Secara jujurnya saya tidaklah begitu excited untuk bekerja di syarikat mereka tetapi lebih kepada ingin berkenalan secara profesional.

## IFCA

![ifca.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779788459/YEZGwP_-B.png)

### Cara Mendapat Interview

IFCA merupakan salah satu syarikat yang menghubungi saya melalui aplikasi [Wobb](https://my.wobbjobs.com/). Saya ada menggunakan Wobb sebagai platform job hunting saya dimana saya perlu membuka akaun sebelum saya dapat menggunakannya.

Secara jujurnya saya tidak berminat untuk bekerja di syarikat tersebut tetapi saya tetap ke sesi temuduga for the experience.

### **Sesi interview**

Saya dijadualkan untuk menghadiri sesi temuduga tersebut pada 23 Mac. Saya diberikan beberapa soalan terlebih dahulu sebelum saya bermulanya sesi temuduga tersebut. Beliau meminta saya untuk menjawab soalan tersebut dalam 30 minit.

Antara topik yang ditanya adalah soalan algorithm, SQL, dan konsep Object-Oriented Programming. Terus terang saya tidak dapat menjawab kesemuanya dalam masa yang diberikan dah hanya mampu menjawab soalan berkaitan algorithm.

Saya ada cuba untuk menjawab soalan yang lain tetapi masa yang diberi adalah amat singkat. Selepas 30 minit tamat, saya menghantar jawapan saya.

Setelah itu, penemuduga tersebut mungkin sedang membaca jawapan saya sebab ketika itu saya tidak mendapat apa apa respond. Namun dalam 10 minit kemudian, sesi temuduga bermula.

Sesi temuduga tersebut berjalan seperti biasa namun ada satu perkara yang saya ingin highlight-kan. Jika anda masih ingat, saya pada mulanya tidak begitu berminat untuk bekerja di syarikat tersebut tetapi semasa sesi temuduga, saya amat tertarik dengan tech-stacks yang mereka gunakan.

Mereka ada katakan yang mereka sentiasa akan cuba menggunakan tech-stack terbaru seperti TypeScript dan GraphQL. Skillset utama saya adalah React dan penggunaan TypeScript dan GraphQL bersama React merupakan perkara yang menarik minat saya.

Selain itu, penemuduga tersebut juga mengatakan pengalaman saya bekerja di Digi-X dimana saya terlibat dengan development aplikasi berkaitan HR merupakan perkara yang menarik bagi mereka. Ini kerana mereka juga mempunyai sebuah aplikasi yang berkaitan HR.

### Refleksi

Secara kesimpulannya, IFCA merupakan sebuah company yang agak menarik setelah saya pergi ke sesi interview mereka. Penggunaan tech-stack yang menarik seperti GraphQL merupakan penarik untuk saya bekerja di syarikat mereka.

Walaupun pada mulanya saya tidak berminat, peluang untuk menpelajari perkara baru boleh mempengaruhi keputusan saya dan saya perlu mengambil kira segala pros and cons sesebuah company tersebut.

## Digi-X

![digi-x.jpeg](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779806367/UG4PR_BFT.jpeg)

Digi-X merupakan tempat intern saya semasa semester 5 selama 6 bulan. Saya sambung bekerja dengan mereka secara part-time dari Mac 2020 sehingga Disember 2020 selama lebih kurang 9 bulan.

### Cara Mendapat Interview

Saya dipanggil ke sesi temuduga bersama Digi-X adalah melalui manager saya semasa intern. Selepas saya update status LinkedIn saya kepada #OpenToWork, manager saya segera menghubungi saya untuk mengatur sesi temuduga.

Saya berasa amat rendah hati dengan tawaran tersebut.

### Sesi Interview

Proses interview Digi merupakan antara proses yang terpanjang bagi saya. Saya telah menjalani 4 peringkat interview bersama mereka dalam masa 2 minggu.

Pada peringkat yang pertama saya di-interview oleh 2 developer dari Digi-X yang saya kenali. Sesi interview tersebut dimulakan dengan saya memberitahu "update" kehidupan saya selepas intern dan pengalaman FYP saya.

Kami banyak berbincang tentang FYP saya kerana mereka ingin mengetahui proses saya ketika mengumpul requirements projek, tindakan saya ketika menghadapi masalah seperti pemilihan tech-stacks, penentuan scope projek, dan sebagainya.

Saya juga ada memberi beberapa feedback kepada mereka tentang pengalaman saya bekerja secara part-time dan beberapa perkara yang saya ingin ketahui tentang future planning mereka.

Perkara yang sama berlaku semasa sesi interview peringkat yang kedua dan ketiga, dimana saya di-interview oleh business team dan juga senior developer.

Pada peringkat keempat merupakan sesi interview bersama management Digi-X. Ketika sesi ini saya ditanya tentang plan career saya dan apakah yang saya cari dalam pekerjaan pertama saya. Saya juga ditanya soalan cepumas seperti, sejauh manakah saya ingin bekerja di Digi dan adakah saya mencari pekerjaan secara long-term atau short-term.

Secara jujurnya saya tidak menyangka akan ditanya soalan sebegitu dan saya memang tidak bersedia untuk memberikan jawapan yang baik.

### Refleksi

Sesi interview yang saya jalani secara overall berjalan dengan lancar, terutamanya pada peringkat awal interview. Satu kelebihan jika saya memulakan career full-time saya di sini adalah familiarity. Saya sudah bekerja dan mengenali mereka selama lebih setahun.

Memang tidak dinafikan, saya suka bekerja dengan rakan sekerja saya di sana tetapi familiarity ini juga merupakan antara sebab saya kurang berminat bekerja di Digi-X.

Saya risau jika saya sambung bekerja di tempat yang saya sudah selesa saya akan menjadi terlampau selesa di situ. Saya merasakan saya tidak mahu bekerja di sesebuah syarikat untuk jangka masa yang lama, terutamanya di peringkat awal career saya.

Walaubagaimanapun saya tetap akan mempertimbangkan Digi-X jika diberi tawaran untuk bekerja.

## Shopee (Singapore)

![shopee.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779823379/2eBbuzyLd.png)

### Cara Mendapat Interview

Sekali lagi LinkedIn merupakan permulaan saya mendapat interview bersama Shopee. Seorang recruiter daripada Shopee membuat connection request kepada saya dan sedang mencari Frontend Developer.

Apa yang menarik tentang Shopee Singapore adalah ianya merupakan peluang oversea. Saya perlu berpindah ke Singapore jika saya ingin bekerja di Shopee Singapore. Ketika itu saya agak excited tetapi masih tidak bersedia secara mental untuk berpindah.

Saya tidak merancang untuk ke luar negara buat masa sekarang walaupun jika saya ditawarkan kerja. Namun saya tidak mahu menutup kemungkinan tawaran. Saya juga masih berada di peringkat temuduga, maka saya terima tawaran temuduga tersebut.

### Sesi Interview

Pada peringkat pertama, saya diberikan satu online test berdurasi selama satu jam. Mereka memberi link kepada saya untuk menjawab test tersebut dan saya boleh access soalan tersebut dalam masa 48 jam. Saya juga perlu menyiapkan dalam satu sesi.

Online test Shopee teramatlah strict. Saya diwajibkan untuk share screen, buka mic dan webcam, dan platform tersebut memasang software eye tracking untuk memastikan saya tidak memandang ke tempat lain sepanjang test.

**Peringkat Pertama - Online Test**

Dari segi soalan, test tersebut mempunyai 8 soalan programming. Jika anda pernah menyertai mana-mana competitive programming, anda mungkin familiar dengan format soalan tersebut.

Saya dapat menyelesaikan 7 soalan pertama dalam 30 minit yang pertama, dan baki masa 30 minit yang ada saya habiskan untuk soalan terakhir yang agak mencabar. Soalan terakhir memerlukan saya untuk menggunakan konsep recursive function.

Secara overall saya confident dengan performance saya walaupun agak kekok dengan monitoring yang dilakukan. Namun alhamdulillah saya layak untuk ke peringkat seterusnya, iaitu temuduga bersama senior developer.

**Peringkat Kedua - Technical Interview with Senior Developer**

Untuk peringkat kedua, ianya berlangsung selama 90 minit. Topik yang ditanya adalah Web Frontend Development dan JavaScript. Interview tersebut dilakukan melalui Zoom.

Pada awal interview, seperti biasa saya perlu mengenalkan diri saya dan menceritakan serba sedikit latar belakang dan pengalaman saya. Kemudian penemuduga saya terus memasuki topik pertama tanpa saya sedar.

Ketika itu saya sedang menceritakan pengalaman saya terlibat dalam projek automation. Saya menyangkakan bahawa beliau ingin mengetahui lebih mendalam tentang apa yang saya sedang ceritakan, tetapi beliau sebaliknya sudah memulakan sesi teknikal interview.

Beliau menanya bagaimanakah saya mendapatkan element daripada web seperti button dan input box, dimana saya menjawab saya menggunakan attribute id atau class. Kemudian beliau meneruskan bertanya tentang topik yang lebih mendalam.

Saya diminta untuk menerangkan apakah yang berlaku dari mulanya seorang user menaip URL ke dalam browser sehinggalah user tersebut dapat menggunakan laman web yang diingini.

Ketika itu saya menjawab secara high level apa yang berlaku seperti browser tersebut akan menghantar request tersebut kepada server dan server kemudiannya akan menghantar semula dengan file yang diminta oleh browser.

Tidak berpuas hati dengan jawapan saya, beliau memberi soalan yang lebih spesifik kepada saya.

Bagaimanakah browser tersebut mengetahui server mana yang perlu request tersebut dihantar. Ketika ini saya mula merasakan bahawa beliau ingin jawapan yang lebih detail.

Maka saya menerangkan tentang DNS server dimana browser akan mendapatkan IP adress sesebuah server berdasarkan domain name yang didaftar.

Begitulah sesi interview saya berlalu untuk bahagian pertama. Beliau ada menyentuh beberapa topik seperti apakah perbezaan HTTPS dan HTTP, bagaimanakah browser membaca dan "render" file HTML, CSS, dan JavaScript, dan bermacam-macam lagi.

Secara jujurnya memang saya tidak dapat menjawab sebahagian besar daripada soalan yang ditanya kerana ianya agak advance berbanding dengan apa yang saya ketahui.

Setelah tamat bahagian pertama, beliau teruskan sesi interview tersebut kepada bahagian kedua, iaitu sesi coding JavaScript. Bahagian kedua ini mempunyai 2 soalan, dan spoiler alert, ianya amat sukar.

Soalan pertama saya diminta untuk membuat satu function dimana function tersebut boleh menerima beberapa argument atau parameter dan me-return sebuah value. Value yang dipulangkan perlu diambil dari cache jika ianya adalah panggilan kedua.

Contoh situasi mengikut urutan:

1. add(1,1) 2 (computed value)
2. add(1,1) 2 (cached value)
3. add(1,2) 3 (computed value)
4. add(1,1) 2 (computed value)

Sehingga sekarang saya masih tidak tahu bagaimana untuk menyelesaikan masalah tersebut.

Soalan kedua merupakan soalan yang lebih saya familiar tetapi saya masih tidak faham dengan solusi yang saya berikan.

Beliau memberikan saya beberapa code snippet yang berbentuk seperti dibawah.

```
Array.prototype.all([1, 2, 3] => isGreaterThanZero) // return true
Array.prototype.any([1, 2, 3] => isGreaterThanZero) // return true
Array.prototype.none([1, 2, 3] => isGreaterThanZero) // return false

Array.prototype.all([-1, 2, -3] => isLessThanZero) // return false
Array.prototype.any([1, -2, 3] => isLessThanZero) // return true
Array.prototype.none([-1, 2, 3] => isLessThanZero) // return false

```

Sekali pandang saya ianya nampak mudah. Tetapi dengan apa yang diberikan saya keliru dengan cara beliau menulis code JavaScript. Saya juga tidak dapat run code tersebut ketika itu, yang membuatkan ianya menjadi lebih mencabar.

Sekali lagi secara jujurnya saya cakap, saya masih tidak faham dengan apa yang berlaku dengan sesi interview kedua ini.

**UPDATE (27/5/21):** Saya terjumpa video ini and it all makes sense now. Jika saya terjumpa bentuk soalan yang sama seperti ini pada masa akan datang, saya yakin saya akan dapat menjawab dengan lebih baik.

Ini juga bukti kenapa pengalaman itu berharga. Anda mungkin akan belajar perkara baru yang berkait dengan apa yang anda tidak faham sebelum ini.

[https://www.youtube.com/watch?v=yU0Gh9T7sq8](https://www.youtube.com/watch?v=yU0Gh9T7sq8)

### Refleksi

Pengalaman interview bersama Shopee adalah sangat unik. Dari cara saya ditawar untuk ditemuduga, kepada sesi interview online test yang agak strict, dan sesi technical interview yang sangat mencabar.

Ianya sebuah pengalaman yang sangat menarik yang perlu saya hargai. Tidak semua company yang melakukan sesi hiring process seperti mereka. Walau apa pun keputusan mereka, saya berharap pengalaman ini akan membantu saya pada masa hadapan di dalam sesi interview yang lain.

## MoneyLion

![moneylion.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779857866/NLqQ6rYFb.png)

MoneyLion adalah sebuah syarikat daripada US yang mempunyai office di Kuala Lumpur. Saya mengenali syarikat ini melalui career fair di fakulti saya. Secara amnya MoneyLion hampir menyerupai sebuah bank tetapi mereka lebih memfokuskan kepada mobile app.

### Cara Mendapat Interview

Pada mulanya, saya sudahpun berhajat untuk apply position Mobile Engineer di MoneyLion. Tetapi saya teragak-agak kerana saya merasakan peluang untuk mendapat panggilan interview itu rendah.

Namun begitu, seorang daripada rakan sekerja saya semasa intern menghubungi saya melalui WhatsApp untuk bertanya khabar dan ingin mengambil tahu tentang status job hunting saya. Beliau ada memberi beberapa nasihat dan tips kepada saya untuk mencari kerja,

Beliau juga ada bertanya jika saya berminat untuk bekerja di MoneyLion, dimana beliau mempunyai seorang kenalan disana dan beliau boleh membantu saya untuk merujuk terus kepada HR.

Saya terus terima tawaran tersebut dan beliau kemudiannya memberikan saya sebuah special link untuk saya apply position Mobile Engineer tersebut. Dari sini saya mula lebih serious untuk teruskan permohonan saya.

Saya merasakan bahawa saya mempunyai peluang yang lebih tinggi jika saya dirujuk oleh seseorang. Maka dari situlah saya mendapat panggilan temuduga bersama MoneyLion.

### Sesi Interview

Bagi sesi interview MoneyLion, saya menjalani sebanyak 3 peringkat bersama mereka secara total. Peringkat pertama merupakan sebuah online test sama seperti Shopee. Seterusnya saya perlu menyiapkan take-home assignment yang diberi mereka dalam masa 24 jam. Akhir sekali merupakan sesi temuduga bersama Mobile Lead dan Engineering Lead mereka.

**Peringkat Pertama - Online Test**

Online test mereka tidaklah se-strict Shopee. Mereka hanya memberikan saya sebuah link dan saya perlu menyelesaikan test tersebut dalam masa satu jam. Test tersebut merangkumi 3 soalan programming dan 2 soalan subjektif.

Saya tidak mengalami sebarang masalah bagi soalan programming tetapi 2 soalan subjektif mereka agak mencabar. Bagi soalan pertama, saya diminta untuk "propose" satu solusi untuk sebuah case study dan bagi soalan kedua saya diminta untuk menerangkan perbezaan teknik imperative programming dan functional programming.

Memang ketika itu saya membuat research on-the-spot kerana saya tidak begitu familiar dengan 2 konsep tersebut. Tapi secara overall ianya berjalan dengan lancar.

Dan saya layak ke peringkat kedua.

**Peringkat Kedua - Take-Home Assignment**

Saya diminta untuk develop sebuah mobile app menggunakan React Native. Saya diminta untuk membuat aplikasi klon mirip Google Form, tetapi tidaklah merangkumi segala aspek. Saya hanya perlu membuat 2 screen utama iaitu Builder screen dan Viewer screen.

Builder screen merupakan screen dimana user boleh Add Question dan memilih jenis Question tersebut sama ada Checkbox, Text, Number atau Boolean. Viewer screen pula adalah screen untuk mengisi soalan tersebut.

Secara overall saya agak yakin dengan peringkat ini kerana saya amat familiar dengan React. Tetapi saya agak struggle untuk setup project React Native. Cara untuk setup sebuah aplikasi mobile app menggunakan React Native adalah lebih rumit berbanding setup web app menggunakan `create-react-app`

Tapi apa apa pun saya dapat menyiapkan assignment tersebut dengan jaya berserta beberapa requirement bonus yang diberi. Cuma saya tidak dapat run mobile app tersebut di emulator android.

Anda boleh merujuk repository [ini](https://github.com/afrieirham/lionform) di GitHub jika anda berminat untuk melihat project tersebut.

**Peringkat Ketiga - Interview**

Sesi temuduga ini adalah lebih kepada membentangkan source code dan perbincangan tentang approach saya untuk membina mobile app tersebut.

Mereka juga ada meminta saya untuk menambah satu lagi feature dalam masa satu jam. Feature yang ditambah adalah data persistence. Saya hanya menggunakan `localstorage` untuk menambah feature ini.

Selepas itu ianya berjalan seperti sesi interview yang lain dimana kami berbincang tentang pengalaman dan expectation saya, dan juga sesi soalan jawab dimana saya bertanya tentang MoneyLion secara lebih mendalam.

Saya dapat rasakan sesi tersebut berlangsung dengan baik dan mereka kagum dengan performance saya. Satu perkara yang boleh diperbaiki adalah masalah saya tidak dapat run mobile app tersebut di Android.

### Refleksi

Secara peribadi, saya merasakan yang saya telah lakukan yang terbaik disemua peringkat interview mereka. Saya mendapat respond yang positif daripada mereka dan diakhir interview juga saya dipuji "Good Job!" oleh Mobile Lead mereka.

Saya mempunyai harapan yang tinggi kerana saya berjaya ke semua peringkat dengan baik. Saya diberitahu yang mereka akan memberi maklum balas dalam masa seminggu dan jika tiada apa apa respond saya boleh menganggap ianya tidak berjaya.

## Snappymob

![snappymob.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621779874867/6ZfHkUK8I.png)

### Cara Mendapat Interview

Snappymob merupakan syarikat pertama yang saya apply melalui JobStreet. Ketika itu saya memang target untuk bekerja disitu sekiranya saya diberikan tawaran. Ianya merupakan first choice saya dan the only company yang saya apply.

Saya berminat dengan syarikat ini disebakan oleh kecantikan website mereka. Overall vibe didalam gambar mereka juga adalah satu faktor saya berminat untuk bekerja di sini. Saya tahu ianya bukanlah perkara yang paling penting untuk menilai sesebuah company.

Dan saya juga merasakan anda tidak patut buat apa yang saya lakukan, haha.

Sebelum saya apply di JobStreet, saya ada berminat dengan 2 posisi yang ditawarkan iaitu React Native Developer dan Fullstack Developer. Saya merancang untuk apply posisi React Native terlebih dahulu di JobStreet dan memberitahu mereka yang saya juga berminat untuk posisi Fullstack semasa interview.

### Sesi Interview

Snappymob mempunyai hiring process yang ringkas. Saya hanya melalui 2 peringkat boleh dikatakan juga mereka hanya mempunyai 1 peringkat technical interview. Selepas saya apply di JobStreet, saya mendapat panggilan daripada HR mereka untuk mengatur sesi interview.

Sesi technical interview mereka boleh dibahagikan kepada 2 bahagian, general programming concept dan JavaScript. Technical interview mereka hanyalah dilakukan diatas talian melalui Zoom. Mereka tidak melakukan sebarang hands-on test seperti take-home assignment dan online test.

**General Programming Concept**

Bahagian ini sedikit mencabar bagi saya, topik yang ditanya adalah konsep Object-Oriented Programming. Walaupun saya familiar dengan konsep OOP, saya tidak dapat menerangkan kesemua konsep dengan baik.

Saya diminta untuk menerangkan perbezaan `interface` dan `abstract class` . Saya cuba sebaik mungkin tetapi memang saya tidak dapat menjawab segala persoalan yang ditanya.

**Bahagian JavaScript**

Untuk bahagian ini, saya merasakan ianya berjalan dengan lebih baik kerana saya lebih yakin dengan knowledge JavaScript saya. Penemuduga tersebut ada menyentuh konsep JavaScript seperti Promise dan Callback Functions.

Beliau ada juga menyentuh topik yang lebih berkaitan dengan React Native seperti penggunaan Redux sebagai state management solution. Saya diminta untuk menerangkan sebab sebab kenapa Redux diperlukan dan apakah masalah yang Redux selesaikan.

Topik yang dibincangkan adalah antara tools dan technology yang saya gunakan semasa membuat FYP saya yang membuatkan saya lebih yakin dengan jawapan saya.

### Refleksi

Secara overall saya merasakan ianya berjalan dengan lancar dan saya mempunyai harapan yang tinggi untuk mendapat tawaran dari mereka.

Saya juga ada menghantar email follow up setelah selesai interview untuk menunjukkan yang saya amat berminat dan excited untuk mendengar maklum balas dari pihak mereka.

# Kronolgi Job Hunting

![https://images.unsplash.com/photo-1506784365847-bbad939e9335?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1506784365847-bbad939e9335?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Setelah anda membaca kesemua sesi interview di atas, mungkin anda sudah boleh agak keputusan bagi setiap interview tersebut. Anda juga mungkin sudah mengetahui dimana saya bekerja sekarang sekiranya anda melawati akaun LinkedIn saya.

Tetapi jika anda masih belum mengetahuinya, dalam bahagian ini saya akan menceritakan kronologi job hunting saya selama hampir 2 bulan.

### **25 Februari 2021**

Ini merupakan tarikh saya memohon kerja Snappymob. Saya mendapat panggilan daripada mereka pada keesokan harinya dan kami mengatur sesi temuduga pada 2 Mac 2021.

### **2 Mac 2021**

Sesi interview pertama saya bersama Snappymob. Seperti yang anda ketahui saya mempunyai harapan yang tinggi untuk mendapat tawaran bekerja. Ianya juga merupakan company first choice saya ketika ini dan saya memang target untuk bekerja disini jika mendapat tawaran.

Namun begitu, setelah seminggu selepas interview iaitu pada 8 Mac 2021, saya tidak mendapat apa apa respond dari mereka. Saya kemudiannya membuat follow-up melalui WhatsApp dan mereka mengatakan bahawa permohonan saya masih diproses.

Ketika ini saya merasakan yang saya tidak berjaya dan mungkin sudah ditolak. Pada minggu seterusnya juga saya tidak mendapat apa apa respond dan saya mula memohon di syarikat lain.

### **15 Mac 2021**

Saya mulakan sesi permohonan kerja saya dengan membuat sebuah post di LinkedIn dan menukar status saya kepada #OpenToWork. Pada hari yang sama juga saya approach Product Manager Maevi untuk mengetahui dengan lebih lanjut tentang job opening yang diiklankan.

Hari tersebut juga merupakan hari dimana manager Digi-X saya menghubungi saya untuk mengatur sesi interview bersama Digi.

### **17 Mac 2021**

Saya menjalani sesi interview bersama Maevi 2 hari selepas saya approach mereka. Rakan sekerja saya dari Digi-X juga ada menghubungi saya untuk mengetahui status job hunting saya. Ketika inilah beliau menawarkan untuk merujuk saya ke MoneyLion.

### **19 Mac 2021**

Saya mengambil masa 2 hari untuk menyediakan cover letter dan menjawab soalan MoneyLion sebelum apply setelah saya diberikan special link oleh rakan sekerja saya.

Pada hari yang sama juga recruiter daripada IFCA menghubungi saya untuk mengatur sesi interview pada 23 Mac 2021.

### **22 Mac 2021**

Secara tidak disangka, setelah hampir 3 minggu selepas sesi interview, saya mendapat tawaran pertama saya daripada Snappymob. Ketika ini saya agak conflicted kerana saya sudahpun mula untuk mencari pekerjaan di syarikat lain dan first choice saya sudah bertukar kepada MoneyLion.

Namun saya diberikan masa seminggu untuk memberikan jawapan saya, dan saya ingin fokus untuk sesi interview yang akan datang.

Pada hari yang sama juga merupakan sesi interview pertama saya bersama Digi-X.

### **23 Mac 2021**

Saya menghadiri sesi interview bersama IFCA pada hari ini dan selepas sesi temuduga tersebut, saya terus mendapat tawaran kerja. Ini merupakan hiring process yang paling cepat pernah saya alami. Saya mendapat tawaran pada hari yang sama saya ditemuduga.

Ketika ini saya sudahpun mendapat 2 tawaran. Saya masih tidak membuat apa apa keputusan kerana saya masih ada masa dan tidak mahu terburu-buru.

### **25 Mac 2021**

Pada hari ini saya mempunyai 2 sesi interview, iaitu bersama MoneyLion untuk sesi pertama dan sesi kedua bersama Digi-X. MoneyLion kemudiannya memberi saya sebuah link untuk menjawab online test mereka.

Ini juga merupakan hari terakhir untuk saya memberi respond kepada tawaran IFCA dan saya decide untuk menolak tawaran mereka. Ini adalah kerana saya mungkin akan terima tawaran Snappymob.

Pada hari yang sama juga, seorang recruiter daripada Shopee approach saya di LinkedIn mengenai peluang pekerjaan di Singapore. Kami mengatur sesi interview yang pertama pada keesokan harinya.

### **26 Mac 2021**

Recruiter daripada Shopee menerangkan kepada saya tentang hiring process mereka dan memberitahu saya untuk menjawab online test mereka pada hujung minggu.

Setelah beberapa hari memikirkan tawaran daripada Snappymob, saya decide untuk menerima tawaran mereka walaupun saya masih mempunyai banyak sesi interview. Saya akan mula bekerja pada 19 April 2021.

Saya tidak mahu menolak tawaran mereka walaupun ketika ini saya target untuk bekerja di MoneyLion. Tetapi saya juga tidak mahu untuk cancel semua interview yang saya dah booked.

Saya mengangap tawaran ini merupakan backup plan saya jika saya tidak mendapat apa apa tawaran lain.

Harapan saya adalah untuk mendapatkan tawaran lain sebelum 19 April. Sekiranya saya berjaya mendapat tawaran lain sebelum tarikh tersebut, saya boleh menolak semula tawaran Snappymob dan menerima tawaran baru jika ianya lebih menarik.

### **30 Mac 2021**

Saya mendapat rejection saya yang pertama iaitu daripada Maevi. Respond yang diberikan adalah agak lewat tetapi saya amat menghargai respond tersebut. Mereka mengatakan yang mereka ingin mengambil saya tetapi atas sebab sebab tertentu mereka terpaksa menolak saya.

### **1 April 2021**

Saya menjalani 2 sesi interview pada hari ini iaitu sesi kedua bersama MoneyLion dan sesi kedua bersama Shopee.

Bagi MoneyLion, ianya merupakan sesi penerangan take-home assignment saya. Saya diminta untuk develop sebuah mobile app dalam masa 24 jam.

### **2 April 2021**

Ini merupakan sesi interview terakhir saya bersama Digi-X namun saya tidak berjaya ke peringkat seterusnya. Saya merasakan bahawa mereka nampak hesitation saya untuk bekerja bersama mereka.

Walaupun saya tidak berjaya, saya merasakan sekiranya saya betul betul berminat untuk bekerja di situ, saya akan berjaya ke peringkat yang terakhir.

Maka pada ketika ini, hanya MoneyLion dan Shopee sahaja yang masih mempunyai harapan.

### **5 April 2021**

Saya menjalani sesi inteview ketiga bersama Shopee. Setelah tamat interview tersebut, saya mendapat email mengatakan yang saya tidak berjaya ke peringkat seterusnya. Saya tidak terkejut tetapi agak kecewa.

Saya sangat yakin dengan performance saya semasa sesi online test tetapi untuk sesi interview teknikal, ianya adalah sangat mencabar bagi saya.

Walaubagaimanapun, saya bersyukur saya tidak menolak tawaran untuk interview bersama mereka dan saya menganggap ini merupakan pengalaman yang saya hargai.

Maka hanya tinggal MoneyLion yang saya masih berpeluang untuk mendapat tawaran.

### **7 April 2021**

Hari ini merupakan sesi interview peringkat terakhir saya bersama MoneyLion. Seperti yang anda tahu, saya merasakan yang saya mempunyai peluang yang tinggi setelah tamat interview. Saya juga diberitahu yang saya akan mendapat maklum balas daripada mereka dalam masa seminggu.

Saya masih ada masa sebelum 19 April dan sangat mengharapkan untuk mendapat tawaran daripada mereka.

### **15 April 2021**

Seminggu kemudian, saya mendapat email daripada MoneyLion yang mengatakan bahawa saya tidak berjaya mendapat tawaran. Walaupun agak kecewa saya tidaklah begitu sedih dengan keputusan tersebut.

Saya bangga dengan usaha yang saya telah lakukan dan pengalaman bertemuduga dengan MoneyLion merupakan suatu perkara yang saya hargai.

Berdasarkan apa yang saya telah lalui, saya mungkin akan cuba sekali lagi untuk bekerja disini pada masa akan datang.

Maka dengan itu, saya dah tak ada pilihan lain selain Snappymob. Don't get me wrong, walaupun saya pernah menganggap Snappymob sebagai backup plan, saya tetap mahu bekerja dengan mereka.

Snappymob merupakan first choice saya pada asalnya.

### 19 April 2021

![https://images.unsplash.com/photo-1521791055366-0d553872125f?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1521791055366-0d553872125f?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb)

Maka pada 19 April 2021, saya mula bekerja di Snappymob setelah hampir 2 bulan sesi job hunting saya.

# Kesimpulan

Walaupun sesi job hunting saya bermula dengan agak baik, lebih-lebih lagi setelah mendapat 2 tawaran pada minggu yang sama, yang memberi harapan tinggi kepada saya. Little did I know yang 2 tawaran tersebut merupakan the only tawaran yang saya akan dapat.

Saya bersyukur saya tidak menolak tawaran Snappymob ketika saya berada di peringkat interview bersama company lain. Walaupun saya meletakkan harapan yang tinggi, saya tetap tidak mendapat apa-apa selain 2 tawaran tersebut.

Jika saya menolak mentah atas sebab ingin "target" company lain, saya mungkin perlu mula semula sesi job hunting saya pada 15 April 2021.

Walaubagaimanapun, saya tidak juga menolak mentah invitation untuk di-interview oleh company lain walaupun saya telah secure satu tempat.

Apa yang saya ingin sampaikan adalah, take your time untuk membuat keputusan. Anda tidak perlu terburu-buru kerana most likely anda mempunyai masa untuk consider segala aspek.

Saya akhiri dengan sedikit tips dan lesson learned daripada pengalaman saya iaitu untuk **allocate at least dua bulan untuk sesi job hunting anda.**

Ini termasuk tarikh anda mula bekerja atau tarikh masuk office, beri mereka tarikh yang lebih jauh supaya anda ada buffer time untuk memikirkan pilihan anda.

Anda mungkin akan mendapat tawaran terlalu awal dan sekiranya tarikh masuk office anda adalah pada bulan hapadan, anda boleh menerima dahulu tawaran tersebut dan cancel jika anda mendapat tawaran yang lebih baik.

Tidak semua company mempunyai hiring process yang sama. Company besar terutamanya mungkin mengambil masa sehingga 2-3 minggu untuk memproses permohonan anda.

## Akhir kata

Saya ingin mengucapkan terima kasih banyak-banyak kepada anda yang membaca artikel ini. Tidak kiralah anda hanya membaca beberapa bahagian atau membaca sepenuhnya dari awal sehingga habis, terima kasih kerana membaca.

Saya tahu artikel ini sangatlah panjang dan tujuan saya menulis artikel ini adalah untuk anda mendapat sedikit "insights" tentang perjalanan seorang fresh graduate sains komputer memohon kerja setelah tamat belajar.

Sekiranya anda ada apa-apa soalan tentang mana mana bahagian artikel ini, atau anda ingin mengetahui dengan lebih lanjut, anda sangatlah dialu-alukan untuk menulis komen di bawah atau hubungi saya di Twitter, [@afrieirham\_](http://twitter.com/afrieirham_)

Saya akan cuba sebaik mungkin untuk menjawab soalan anda.

Sekali lagi saya ingin mengucapkan jutaan terima kasih kepada anda yang membaca dan ingin meminta anda untuk share artikel ini kepada rakan anda sekiranya anda rasa ianya bermanfaat.

Itu saja daripada saya, thank you!