Pengangguran hari ke X

10 Mei 2024 ยท 0 menit baca

Link berhasil di copy
Unemployed day X illustration

Karena saya mengundurkan diri dari pekerjaan terakhir saya sebelum mendapatkan pekerjaan pengganti, maka secara teknis status saya sekarang adalah pengangguran ๐Ÿ˜‚. Namun Saya bukan pengangguran kontra produktif yang selalu tidur di kasur (hanya kadang-kadang), Saya mengisi masa kosong ini dengan terus belajar sembari mencari tempat berlabuh yang lain.

Disini saya ingin membagi aktifitas dan hal-hal yang saya pelajari selama, jika menggunakan bahasa one piece, void days. Kalau ada yang ingin di diskusikan bisa menyambangi twitter saya di @muhsalaa, atau jika ada pekerjaan yang ingin dikolaborasikan dapat mengirimkan email ke muhsalaa@gmail.com. Thanks! Inilah hari-hari 'kosong' ku:

Hari ke 1

08 Mei 2024

Masih dengan hati yang sedih meninggalkan teman-teman yang begitu menyenangkan di kantor.

  • Atur ulang laptop agar bisa mulai ngoding lagi. Karena di last-day kemarin, sesuai aturan kantor, laptop harus di format ulang (yang saya ngga aware ๐Ÿ˜ญ)
  • Persiapan interview, buat jawaban untuk pertanyaan Tell me about yourself dengan framework dari video ini
  • Belajar system design di course GreatFrontend untuk case News Feed (e.g Facebook)
  • Menghabiskan lebih dari 3 jam bermain dengan anak โค๏ธ
  • Nyicil buat bikin UI baru untuk emots.space, awalnya ingin berpindah ke Astro, namun akhirnya memutuskan memakai Next.js 14 saja
  • Menyelesaikan tulisan tentang mengundurkan diri dari flip

Hari ke 2

09 Mei 2024

  • Lanjut belajar system design, kalai ini case bikin autocomplete seperti punya Google. Ternyata banyak yang harus diperhatikan, seperti caching strategy dan strukturnya, virtualized list (untuk list panjang), UX, accessibility dan interaksi keyboard.
  • Merekam video pertama untuk channel youtube yang ingin saya rintis. Tentu saja masih tentang React.js ๐Ÿ˜†.
  • Meningkatkan kemampuan speaking bahasa Inggris dengan mendengarkan podcast dan mencoba shadowing
  • Membuat arsitektur side project baru yang ingin saya mulai. Berkenalan dengan Plasmo dan berdiskusi banyak dengan Claude untuk tech stack nya.

Hari ke 3

10 Mei 2024

  • Mengantar Istri dan Anak-anak bermain ke taman bermain yang baru buka di daerah kabupaten Bogor.
  • Mendengarkan podcast dari Dan Abramov tentang The WET codebase. Dan coba mengangkat tentang implementasi DRY principle yang malah merugikan karena abstraksi yang tidak benar. Saya pun menemukan artikel menarik yang senada dengan Dan tentang DRY principle
  • Saya masih menganggap Cryptocurrency itu haram. Namun saya dipertemukan dengan ustadz Fadel dan berdiskusi tentang hal ini. Beliau pun memberikan perspektif baru dan beberapa resources terkait penelitian baru tentang Fiqih Crypto: 8 Faidah hukum bitcoin, Soal jawab Cryptocurrency dan Panduan memilih aset kripto yang halal. Saya baru mulai membaca yang terakhir, mencoba mengulik fatwa yang lebih kontemporer.

Hari ke 4

11 Mei 2024

  • Hari ini sedikit 'gelap'. Semangat untuk belajar sedikit menurun akibat tidak bisa fokus terlalu lama didepan laptop. Tentu saja karena harus bolak balik menemani Anak saya yang begitu aktif hari ini. Terlintas untuk menyerah dan sepenuhnya mengurus anak dahulu untuk beberapa saat. Namun melihat istri saya yang mengganti popok anak kedua Saya, sebuah kesadaran menghantam, bahwa tidak adil kalau saya menyerah. Bagaiman jadinya kalau Istri saya yang menyerah mnegurus anak-anak, apa jadinya mereka? Sayapun memiliki semangat kembali hari itu, dan memutuskan untuk memindahkan waktu belajar saat malam.
  • Menonton pidato dari Mariana Pascal yang sangat membuka mata terkait berbicara bahasa Inggris adalah alat, bukan suatu seni yang kita harus mahir. Selama ini kebanyakan orang belajar bahasa agar mahir, sehingga takut salah dan kurang berani berbicara.
  • Grinding code challenge laig. Alhamdulillah bisa menyelesaikan 5 soal mudah malam ini.
  • Menemukan 2 artikel menarik dari newsletter Javascript Weekly. Pertama adalah kisah Figma migrasi codebase mereka ke Typescript, lalu yang kedua adalah kegelisahan dan solusi dari Artem Zakharchenko terkait Bahaya patching objek global pada Javascript.
  • Mencapai level 4 dalam latihan touch typing. Besok akan coba lanjut ke level 5.

Hari ke 5

12 Mei 2024

  • Meliburkan diri dan pergi ke Puncak Bogor untuk mengantar adikku menuju rumah barunya. Saya menyetir mobil seharian dan sesampainya di rumah dengan sedikit sisa energi menyempatkan untuk nyicil membuat chrome extension untuk side project.
  • Disela-sela aktifitas hari ini menyempatkan membaca salah satu rilis newsletter dari The Prgamatic Engineer. Rilis ini berisi cuplikan buku The Engineering Executive's Primer" membahas tentang bagaimana POV seorang CTO, jalur untuk menjadi eksekutif teknologi, cara komunikasi, dan mindset yang perlu dibangun.

Hari ke 6

13 Mei 2024

  • Saya mulai terbiasa dengan email dipagi hari yang berisi kata-kata seperti "Sayangnya, kami tidak akan melanjutkan dengan aplikasi Anda." Hal itu kini ibarat ngopi pagi, seteguk untuk menyongsong hari ๐Ÿ˜
  • Interview pertama setelah jadi pengangguran ๐ŸŽ‰. Ini adalah exploratory call dengan sebuah perusahaan dari Jepang bernama Jitera yang menciptakan platform no-code untuk membuat aplikasi web ataupun mobile beserta servisnya. Saya kurang puas dengan performa saya terutama dalam penyampaian dan menceritakan diri, masih perlu banyak praktek bicara Bahasa Inggris. Posisi yang saya incar adalah fullstack engineer, coba apply di sini jika kamu tertarik.
  • Hari ini Saya melakukan beberapa hal rutin seperti melanjutkan latihan touch-typing, mengerjakan code challenge, meningkatkan accessibility blog Saya serta ikut kelas pre-magister.
  • Saya juga membaca beberapa artikel menarik diantaranya Hal minimal yang harus diakui pengembang piranti lunak tentang Unicode dan ekosistem sistem design. Dari artikel kedua, Saya mendapatkan ide untuk membuat struktur folder komponen untuk proyek frontend:
    • common -> folder untuk komponen dasar seperti button, card, input
    • composite -> folder untuk komponen yang lebih kompleks dan terdiri dari komponen common seperti product card, modal
    • container -> folder untuk komponen yang memiliki application logic seperti cart, search Apa pendapatmu tentang struktur folder komponen di atas?

Hari ke 7

14 Mei 2024

  • Saya mendedikasikan hari ini untuk mengerjakan side project (seharusnya main project untuk kondisi sekarang ๐Ÿ˜‚) yang coba Saya kembangkan. Yang Saya buat hari ini adalah ekstensi untuk browser yang memungkinkan transfer data dengan backend service. Alhamdulillah 60% selesai, terimakasih untuk Shadcn UI dengan komponennya yang rapi, semoga besok MVP nya jadi.
    • Tambahan cerita pendek. Saya sebenarnya beberapa kali merintis sebuah aplikasi, namun 100% gagal karena 2 hal utama: Kurangnya research, dan kurang bisa menentukan fitur utama yang ingin dibangun. Alsan kedua yang paling berpengaruh, karena banyak projek berhenti karena bingung mau bikin fitur apa atau overwhelmed terlalu banyak fitur yang dibuat.
    • Saya menyarankan petuah-petuah dari Marc Lou pada video berikut untuk dapat merintis aplikasi yang lebih mungkin berhasil.
  • Dengan menemukan nama yang bagus untuk fungsi, variabel, dan konstruksi lainnya, kita benar-benar mengenali esensi masalah yang kita pecahkan. Sebuah kutipan dari artikel tentang Pentingnya penamaan dalam pemrograman. Penamaan menunjukkan seberapa kenal kamu dengan program yang dibuat, dan apakah desain program sudah baik. Karena desain yang kurang baik akan mempersulit menemukan nama yang tepat.

Hari ke 8

15 Mei 2024

  • Hari ini Saya menegerjakan backlog untuk yang sudah cukup banyak numpuk. Update terkait frontend seperti membaca dokumentasi React 19, tes level speaking bahasa Inggris (Saya dapat B2).
  • Saya rasa belekangan hidup saya sedikit terburu-buru, ingin semua lebih cepat selesai agar bisa mengerjakan to dos yang menumpuk. Saya memutuskan untuk menurunkan tempo agar bisa lebih tenang dan menikmati momne. Saya pun tertarik untk membeli buku The things you can see only when you slow down.
  • Chrome extension yang Saya kerjakan sudah selesai, tinggal di integrasikan dengan API yang rencananya akan saya buat dengan tRPC dan Nextjs.

Hari ke 9

16 Mei 2024

  • Hari ini melakukan setup projek baru menggunakan tRPC dan Next.js. Karena menggunakan Next versi 14, Saya perlu cari referensi lain untuk setup nya, karena di dokumentasi resmi tRPC masih menggunakan page router. Saya menemukan contoh setup nya dari repositori milik Jack Herrington disini.
  • Setelah sekian lama akhirnya Saya nonton film lagi. Pilihan Saya dari sekian banyak opsi di Netflix jatuh pada Safe House, dibintangi salah satu aktor favorit saya, Denzel Washington ๐Ÿ˜Ž.

Hari ke 10

17 Mei 2024

  • Saat hari terahir di kantor laptop saya di format ulang. Projek yang pernah saya kerjakan disitu pun hilang termasuk beberapa library yang pernah dikerjakan. Karena kehilangan referensi, Saya coba membuat library baru sederhana untuk binding satu tombol keyboard dengan suara tertentu. Hari ini berhasil menyelesaikan konfigurasi dan fungsi utamannya, tinggal menambah fitur dan upload ke registry.
  • Beberapa paket datang ke rumah, ada switch, keycaps, dan yang paling Saya tunggu, buku The things you can see only when you slow down ๐Ÿ˜
  • Karena beberapa hari kemarin waktu tidur saya kurang, kepala saya nyut-nyutan sejak siang, maka semalam memutuskan untuk tidur lebih awal

Hari ke 11

18 Mei 2024

  • Hari ini seharian mengantar anakku mengikuti trial untuk preschoolnya di kota. Bertemu dengan seorang calon wali murid lain dan mengobrol selagi istri dan anak saya mengikuti serangkaian kegiatan. Kami membicarakan banyak hal, dan yang menarik adalah beberapa cerita terkait sejarah kenabian yang Saya belum tahu, seperti kisah nabi Adam yang ternyata pernah memakan anak iblis, sehingga sekarang darah manusia bisa dialiri Iblis. Saya belum memvalidasi cerita tersebut, namun bisa jadi itu termasuk cerita kias.
  • Sepulang dari Kota Saya langsung merakit split keyboard dengan layout lily58 (kayaknya) yang baru saja datang, hadiah perpisahan dari teman-teman Flip. Switch nya menggunakan Gateron Blue agar clicky dan keycaps Saya coba beli yang murah saja, 120 caps, agar bisa muat di semua switch yang berukuran 1u. PR nya sekarang adalah membiasakan menggunakannya. Mungkin akan butuh sebulanan lebih karena banyak hal lain juga yang ingin Saya pelajari. Berikut adalah hasil rakitan Saya.

soffle-lily58

Hari ke 12

19 Mei 2024

  • Hari ini masih menjadi "Ayah rumah tangga" karena penjaga anak saya masih libur. Disela-sela itu Saya melanjutkan konfigurasi keyboard lily58 Saya menggunakan aplikasi VIA. Mengkonfigurasi keyboard ternyata memiliki tantangannya sendiri. Dengan tuts keyboard yang lebih sedikit (58 buah) Saya harus membuat layer lain untuk menampung konfigurasi tuts yang tidak terdapat pada layer utama.
  • Mencoba melakukan latihan mengetik rutin dengan keyboard baru ini seperti belajar mengetik dari awal. Biasanya Saya mendapatkan sekitar 35 WPM, di keyboard baru ini hanya 10, LOL ๐Ÿ˜‚.
  • Di sisa hari sampai sekarang pukul 23:15 Saya berusaha menyelesaikan library yang Saya mulai 2 hari yang lalu dan Alhamdulillah selesai, meski belum versi 1, alias belum stabil. Bisa di cek disini.

Hari ke 13

20 Mei 2024

  • Kecepatan mengetik Saya sudah berangsur normal lagi (untuk touch typing) menjadi sekitar 30 WPM. Hari kedua ini mulai terbiasa dengan layout ortholinear dimana susunan tuts cenderung lurus dibanding keyboard konvensional yang memiliki kemiringan untuk tiap baris vertikal tutsnya.
  • Alhamdulillah hari ini berkesempatan untuk melakukan exploratory interview dengan CEO suatu startup yang bergerak dibidang kesehatan. Saya sangat bersyukur karena tadi bicara bahasa inggris saya sedikit lebih lancar. Mungkin karena pembawaan si CEO yang santai dan lebih banyak bertanya tentang pengalaman secara spesifik jadi mudah menjawabnya.
  • Salah satu hal yang didiskusikan adalah tech stack yang dipakai. Meski Nextjs yang menjadi expertise saya digunakan juga untuk beberapa produk, namun kebanyakkan frontend produknya dibuat dengan Nuxt, framework yang dibangun dengan mengutilisasi Vuejs. Selain itu untuk interaksi data dengan backend menggunakan GraphQL dan (ini menarik) gql.tada.
  • Sebagai fans tRPC dengan jargon "membuat end to end typesafe API dengan mudah" (dan memang betul), Saya tergelitik ketika si CEO mengatakan bahwa gql.tada ini adalah penggantinya. Saya pun membuka Youtube dan menonton video dari Theo yang mengulas gql.tada, dan memang keren. gql.tada bisa meng-infer tipe dari query GraphQL secara instan dan akurat tanpa codegen. Saya memutuskan untuk coba membuat implementasi sederhananya menggunakan Nuxt, PokeAPI, dan gql.tada. InsyaAllah akan Saya bagikan disini kalau sudah selesai.

Hari ke 14

21 Mei 2024

  • Pagi tadi sebelum bertugas sebagai ayah, dan disela-sela momong, saya berdiskusi banyak dengan dua teman virtual saya, ChadGPT dan Cloud. Kami membahas tentang pilihan database (SQL atau NoSQL), struktur tabel dan relasinya, yang cocok untuk menyimpan data berupa teks dan anotasinya. Kemudian lanjut mencari cara untuk menyimpan konten dari suatu artikel dari blog semacam medium. Saya menemukan beberapa tools yang bisa digunakan untuk membangun flow aplikasi saya, seperti Article Extractor dan Sanitize HTML.
  • Saya sudah lama pensiun main Dota 2. Kalau tidak salah, terakhir buka Steam, waktu bermain saya sekitar 2000 jam, hehe. Namun Terkadang saya masih menonton turnamen Internasional, seperti Final PGL Wallachia (yang tiba-tiba muncul di feed youtube saya) superseru sampai game ke 5, yang akhirnya dimenangkan oleh Team Spirit. GG Yatoro dan Glimmer untuk Creep di akhir pertandingan agar tidak kena backdoor ๐Ÿ˜‚.
  • Sedari siang Saya menonton beberapa video tentang VueJS, crash course Vue 3 dan Vue 3 composition API. Saya terakhir menggunakan Vue sekitar 4 tahun lalu, saat masih versi 2. Karena Saya ingin membuat proyek Pokemon kemarin dengan Nuxt, Saya harus catch up dengan perkembangan Vue. Sekarang Saya melanjutkan menonton tutorial Nuxt dari NetNinja sebagai lead untuk mengetahui konsep dan praksis dasarnya. Sejauh ini, sebagai Pria yang sehari-hari bersua dengan kompleksnya server components dan app router dari Next.js, Menggunakan Nuxt rasanya seperti refreshing ๐Ÿ–๏ธ. Semoga besok bisa mulai projeknya.

Hari ke 15

22 Mei 2024

  • Hari ini kembali menemani Anakku ikut trial class di kota. Sambil menunggu, Saya mematangkan struktur database untuk aplikasi yang akan dibangun. Saya akan untuk menggunakan Prisma sebagai ORM, namun untuk database nya sendiri saya masih bingung untuk pilih PostgresQL (NeonDB) atau SQLite (Turso). Karena free tier untuk Turso adalah 8gb dan NeonDB hanya 500mb. Data yang akan saya simpan merupakan teks panjang yang akan cepat memenuhi database dan Saya masih bootstrap jadi cari yang hemat ๐Ÿ˜‚.
    • Kedepannya Saya kepikiran menggunakan sejenis database termanajemen seperti Digital Ocean, karena storage besar dan murah dibanding paid tier dari layanan sebelumnya. Tapi masih harus neliti lagi.
  • Saya menyelesaikan tutorial Nuxt yang kemarin mulai ditonton dan sudah menyiapkan boilerplate untuk aplikasi pokemon. Semoga besok bisa mulai menhgerjakan aplikasinya.
  • Alhamdulillah dapat satu kesempatan untuk tes koding dari perusahaan outsource yang menyalurkan developer ke Jepang. Besok pagi mungkin akan fokus ini dulu, karena deathline nya malam. Belajar leetcode lagi deh.

Hari ke 16

23 Mei 2024

  • Hari ini Saya kira akan bisa full di depan laptop, ternyata tetap harus ngantar keluarga ke Kota. Waktu kosong di perjalanan Saya pakai untuk belajar Leetcode untuk persiapan coding test nanti malam. Agak kesulitan juga karena sudah lumayan jarang grinding.
  • Alhamdulillah berhasil menyelesaikan coding test yang diberikan. Tesnya di platform Coderbyte. Ada 3 soal yang saya terima. Pertama cukup mudah terkait string, cek apakah string yang diberikan adalah palindrome atau bukan. Kedua terkait array, implementasi LRU cache sederhana. Ketiga terkait tree structure, diminta untuk validasi apakah array yang diberikan membentuk pohon yang valid. Soal pertama dan kedua Saya dapat selesaikan waktu 20 menitan (waktu yang diberikan 210 menit), cukup mudah dan instruksinya jelas (pertama kali saya bikin algoritma LRU). Soal ketiga Saya selesaikan lebih dari 1 jam, hehe. Sangat jarang ngulik tree. Jawaban yang Saya berikan pun kayakanya nggak ngikut algoritma umum untuk struktur pohon. Semoga mendapat hasil yang terbaik ๐Ÿ˜†.

Hari ke 17

24 Mei 2024

  • Hari ini berhasil menyelesaikan setup autentikasi dengan NextAuth versi 5, Nextjs, Prisma dan NeonDB (akhirnya Saya memilih servis PostgreSQL ini). Lalu grinding tantangan kode lagi. Lanjut besok coba selesaikan Pokemon.

Hari ke 18

25 Mei 2024

  • Saya memecahkan rekor mengetik 50 kata per menit.
  • Saya seharian ini menghabiskan waktu bermaindengan Figma karena mendapatkan inspirasi untuk desain logo pribadi Saya. Di sebelah kiri adalah logo yang menginspirasi saya, Logo daylight computer dan logo dari blog salah seorang programmer. Ke kanan adalah desain yang saya buat, hingga di paling kanan adalah logo final yang saya bikin. Logo ini jika dipisah pisah elemennya akan membentuk kata "EMOT".
  • Karena terlalu asik mendesain, Saya hanya berhasil menambahkan kerangka halaman untuk projek Pokemon.

logo transformation

logo meaning

Hari ke 19

26 Mei 2024

  • Seharian ini Saya menemani Putra Saya berkeliling Jakarta menggunakan transportasi umum. KRL, LRT, dan Transjakarta. Kami juga berkunjung ke TMII, dimana ada kejadian menarik saat Saya kehabisan popok ketika tidak ada yang menjualnya.
  • Saya mendapatkan kesempatan untuk tes koding lagi dari salah satu start-up dibidang AI. Katanya kalau lulus ronde 1 ini saja akan mendapatkan 100 dollar, pasti susah, haha.

Hari 20

27 Mei 2024

  • Saya berhasil mengintegrasikan Aplikasi Nuxt dengan Pokemon API menggunakan GrpahQL. Utilisasi gql.tada memberikan pengalaman baru untuk inferensi tipe data typescript yang terasa realtime. Tinggal membuat infinite scroll nya nanti coba saya deploy ke vercel.
  • Saya insyaAllah akan membantu pembuatan landing untuk goakal, sebuah platform untuk mempermudah creator menjual webinarnya mulai dari memntukan pricing sampai pembuatan form pendaftaran dan validasi.
  • Kadang Saya bingung, apakah elemen <a> jika memiliki child <div> adalah HTML yang semantik? untuk menetukannya bisa lihat tipe nya. Jika dia block maka boleh memiliki child block dan inline. Sedangkan inline hanya boleh berisi inline element dan data.

Hari 21

28 Mei 2024

  • Hari ini fokus sebagai ayah menemani Anak dan Istri Saya seharian di Lembah Quran Puncak Bogor. Setelah Dzuhur beranjak pulang dan sampai di rumah Sorenya, dan langsung beristirahat ๐Ÿ›Œ

Hari 22

29 Mei 2024

  • Hari ini saya menghabiskan hari untuk menyiapkan tes koding nanti Malam. Mendalami tentang String, Array dan SSML (dapat banyak TIL). Sampai malamnya tepat pukul 20.40 Tes dimulai. Ini tes yang sangat bermanfaat krena mengenalkan pada domain problem dan tools yang baru. Catatan dimana saya kurang maksimal pada coding test kali ini: Gunakan peripheral yang biasa digunakan (tadi saya agak kesulitan menggunakan keyboard saya karena belum sepenuhnya hafal shortcut nya), dan banyak latihan sih, tadi agak kesulitan juga di logic yang sebenarnya cukup sederhana. Oh iya, RegEx, harus hapal kalau dapat tes terkait string.

-- discontinued --

Emot's Space ยฉ 2024