<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abui</title>
    <description>The latest articles on DEV Community by Abui (@abuiam).</description>
    <link>https://dev.to/abuiam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F693318%2F7af89c80-2182-45a2-b387-046fb709211b.jpeg</url>
      <title>DEV Community: Abui</title>
      <link>https://dev.to/abuiam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abuiam"/>
    <language>en</language>
    <item>
      <title>Spesialis atau Generalis, atau... Generalized Spesialis (?)
</title>
      <dc:creator>Abui</dc:creator>
      <pubDate>Sun, 26 Sep 2021 15:23:18 +0000</pubDate>
      <link>https://dev.to/abuiam/spesialis-atau-generalis-atau-generalized-spesialis-hd9</link>
      <guid>https://dev.to/abuiam/spesialis-atau-generalis-atau-generalized-spesialis-hd9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IM_cb98X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ZYIxYu3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IM_cb98X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ZYIxYu3.jpg" alt="cover"&gt;&lt;/a&gt;&lt;br&gt;
Akhir akhir ini saya melihat teman saya sering berkeluh kesah, lebih mending Spesialis / Generalis? Nah jawabannya adalah &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Tergantung kemauanmu". &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ya, semua orang punya keinginan sendiri, apa yang dia mau lakukan, dan apa yang akan dia lakukan.&lt;br&gt;
Jika jawabannya begitu, lantas mengapa saya menulis ini? Tulisan ini bukan untuk menjawab pertanyaan diatas, melainkan hanya sebuah pandangan saya terhadap skill set saya yang spesialis bahkan bisa dikatakan "JS Fanboy" 😆.&lt;/p&gt;

&lt;p&gt;Saya adalah seorang Front End Developer, biasa bekerja dengan library yang sudah 'kayak framework' bernama React JS. Ya, untuk React JS ini saya usahakan agar senantiasa memantau perkembangannya, mulai dari ikut mencoba fitur fitur baru,&lt;br&gt;
 mencoba banyak library librarynya agar pengetahuan saya selalu cutting-edge.&lt;/p&gt;

&lt;p&gt;Nah, ternyata eh ternyata, walaupun sudah 1 tahun saya menyentuh ReactJS ini, masih banyak yang saya harus pelajari baik dalam fundamentalnya, design design patternnya, optimasi performanya, dan lain lain. Belum lagi kalau ada fitur baru atau approaching baru, ya mau gamau saya harus coba belajar lagi. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Nah, dari ini saya berfikir bahwa, ilmu dari satu library ini aja banyak sekali&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dari pengalaman yang sudah sudah, walaupun saya cuman main di Front End, ternyata banyak sekali hal yang harus kita ketahui demi mencapai best performance. &lt;/p&gt;

&lt;p&gt;Mulai dari memilih design pattern yang benar, library ini kalau untuk ngehandle kasus ini cocok atau ngak, komponen ini bagusnya dijadiin reusable atau ngk usah, apakah kita harus bikin react hooks atau apa, dan masih banyak lagi pengalaman yang harus saya ambil lebih banyak.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple analogy
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h-MWOzBk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/LYnt6Dv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h-MWOzBk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/LYnt6Dv.jpg" alt="analogy"&gt;&lt;/a&gt;&lt;br&gt;
Saya menganologikan kasus ini seperti sebuah game RPG, dimana jika kamu punya team dengan komposisi 2 spesialis attack, 2 spesialis tank, dan misalnya 1 spesialis mage, dan satu lagi support, mereka akan lebih unggul melawan 12 generalis.&lt;/p&gt;

&lt;p&gt;Ya, tentu saja jika kamu adalah spesialis attack, kamu tentu harus memberikan stats HP, defense, dan speed yang cukup, atau tidak charactermu tidak akan berguna sama sekali.&lt;/p&gt;

&lt;p&gt;Inilah mengapa walaupun saya ingin menjadi spesialis, saya harus belajar hal hal lain. Contohnya saya bisa desain grafis dan saya sekarang ini sedang belajar UI/UX, walaupun skill saya di UI/UX kian membaik, tapi tetep saja jika disandingkan dengan orang orang yang spesialis UI/UX dalam kebanyakan kasus saya akan kalah.&lt;/p&gt;

&lt;p&gt;Namun yaaa sesuai yang saya sebutkan tadi, saya perlu mempelajarinya supaya saya dapat skill Front End saya dari  pandangan lainnya. Mungkin nati juga saya akan belajar Back End, Data Structure, Web Security, Branding, atau Psikologi. &lt;/p&gt;

&lt;p&gt;Yaa, disambil aja kayaknya jika saya sedang jenuh dari Front End haha.&lt;/p&gt;

&lt;p&gt;Dengan cara itu, saya saya bisa mengira ngira beban diteam saya dan menumbuhkan rasa empathy.  Skill set ini dinamakan T-Shaped, karena saya berpengalaman + berpengetahuan disatu bidang, dan juga berpengetahuan dibanyak bidang. &lt;/p&gt;

&lt;p&gt;Selebihnya bisa saya upgrade lagi ke Pi-shape atau bahakan E-shapped (Tidak akan saya bahas disini, saya akan menyertakan link untuk ini).&lt;/p&gt;

&lt;h3&gt;
  
  
  My conclusion
&lt;/h3&gt;

&lt;p&gt;Yup, jadi konklusinya adalah pengguna 1 pisau yang tajam akan bisa mengalahkan pengguna 5 pisau yang tumpul. Namun pengguna 1 pisau tajam akan dikalahkan pengguna 1 pisau tajam dan sebuah sajam.&lt;br&gt;
Sekian...&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>career</category>
    </item>
    <item>
      <title>Memoization rawan bug?</title>
      <dc:creator>Abui</dc:creator>
      <pubDate>Sun, 26 Sep 2021 15:13:09 +0000</pubDate>
      <link>https://dev.to/abuiam/memoization-rawan-bug-34gf</link>
      <guid>https://dev.to/abuiam/memoization-rawan-bug-34gf</guid>
      <description>&lt;p&gt;Dulu pernah nyoba ngefix bug siang dan malam, ternyata cuman kesalahan memoization doang. &lt;/p&gt;

&lt;p&gt;Nah sekarang sambil menahan emosi, saya mau share tentang konsep memoization sendiri dari JavaScript terutama ReactJS. &lt;/p&gt;

&lt;p&gt;Nah memoization ini sendiri apa sih? kok kayaknya rawan bug?&lt;br&gt;
Nah jadi gini, setiap function itu ada proses re-creation (pembuatan ulang) pada setiap kali kita rerender Document Object Model (DOM), misal kita punya functionA, nah si functionA ini akan direcreate setiap kita rerender.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p6jokqwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/bt698Mz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p6jokqwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/bt698Mz.jpg" alt="memoiszation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nah ini tu gamasalah kalau functionnya cheap alias dalemnya gaterlalu banyak logic logic rumit,  yang jadi masalah itu kalau semisalnya ada logic logic rumit yang makan waktu jika kita komputasi ya pokonya expensive lah si function itu.&lt;/p&gt;

&lt;p&gt;Nah, kalau dah terlalu makan waktu, biasanya kita disarankan melakukan memoization (caching si result dari functionnya). Kalau untuk ReactJS, kita disediain function bawaan (istilahnya adalah Hooks) useMemo dan useCallback.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UpgdCh7n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/JzdOs4v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UpgdCh7n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/JzdOs4v.jpg" alt="code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fungsinya itu untuk performance optimization, misal kita dah melakukan komputasi yang rumit, hasil dari komputasi tersebut bisa disimpan sebagai cache. dimana jika kita butuh result dari komputasi  tersebut untuk kedua kalinya, kita tinggal mengambil resultnya tanpa me-recreate function tersebut.&lt;/p&gt;

&lt;p&gt;Nah, konsep ini lumayan advance, dalam artian kalau gak bener gunainnya bisa menghasilkan bug. &lt;/p&gt;

&lt;p&gt;Contoh kita memutuskan untuk mememoize functionA, terus kita lupa atau tidak tau kalau functionA ini hasilnya bisa berbeda. Yaa, alhasil muncul bug yang tidak kita duga.&lt;/p&gt;

&lt;p&gt;Nah kita perlu memutuskan sebuah kondisi kapan si function ini akan di recreate biar hasilnya susai dengan harapan kita.&lt;br&gt;
Kalau di ReactJS, dalam Hooks useMemo / useCallback ini kita bisa mendefinisikan dependencies (ketergantungan), dimana jika value dari dependency ini berubah, kita akan recreate function secara otomatis, jika dependency ini valuenya tetap, maka kita akan memanggil result yang sudah kita cache.&lt;/p&gt;

&lt;p&gt;Begitulah, jadi walaupun sangat berguna kalau untuk masalah cache mencache diharapkan hati hati.&lt;/p&gt;

</description>
      <category>react</category>
      <category>programming</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Apakah Software Developer / Engineer benar benar masuk "High Demand"</title>
      <dc:creator>Abui</dc:creator>
      <pubDate>Sun, 26 Sep 2021 15:00:46 +0000</pubDate>
      <link>https://dev.to/abuiam/apakah-software-developer-engineer-benar-benar-masuk-high-demand-2bj5</link>
      <guid>https://dev.to/abuiam/apakah-software-developer-engineer-benar-benar-masuk-high-demand-2bj5</guid>
      <description>&lt;p&gt;Kali ini saya akan membahas topik yang sedikit unik, ya terkait pekerjaan Software Engineer / Developer / Programmer atau apapun itu.&lt;/p&gt;

&lt;p&gt;Mari kita hadirkan beberapa statement terlebih dahulu :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pekerjaan yang High Demand itu banyak lowongan kerjanya.&lt;/li&gt;
&lt;li&gt;Jika banyak lowongan kerjanya, berarti cari kerjanya itu mudah&lt;/li&gt;
&lt;li&gt;Software Engineer adalah pekerjaan yang "High Demand"&lt;/li&gt;
&lt;li&gt;Faktanya, banyak lulusan Univ / SMK tentang Software Development mengeluh "Sulit" menemukan pekerjaan.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Jika kita benturkan statement ke 1 2 3 dengan 4 akan muncul paradox, perusahaan sulit mencari orang, sendangkan orang orang sulit mencari kerjaan.&lt;/p&gt;

&lt;p&gt;Mendengar kata &lt;strong&gt;"High Demand"&lt;/strong&gt; mungkin menyebabkan beberapa orang tua mengakatan kepada anaknya &lt;br&gt;
"Udah masuk jurusan IT aja, biar hidupmu gampang. Lagi banyak dicari pekerjaannya" dll. &lt;br&gt;
Atau menyebabkan Banyak Univ membuka jurusan Informatika.&lt;/p&gt;

&lt;p&gt;Padahal kata "&lt;strong&gt;High Demand"&lt;/strong&gt; itu bisa berupa 2 hal :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pekerjaannya banyak dan butuh banyak orang&lt;/li&gt;
&lt;li&gt;Pekerjaanya b aja stoknya, tapi untuk dapat pekerjaan tersebut lumayan "susah"&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  My Conclusion ?
&lt;/h3&gt;

&lt;p&gt;Software Engineer itu stoknya biasa aja, tapi untuk dapat pekerjaannya itu untuk "Fresh Grad" lumayan susah, kecual kalau kamu berusaha dengan sungguh sungguh.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Software Engineer itu menurut saya suatu pekerjaan yang mewajibkan&lt;br&gt;
kita membangun kebiasaan / hidup berpusat pada pekerjaan tersebut.&lt;/p&gt;

&lt;p&gt;Contoh jika kamu mau menjadi Software Engineer, kamu tidak bisa hanya&lt;br&gt;
diam saja menerima suapan dari materi materi yang diajarkan jurusan.&lt;br&gt;
Ngk bisa gitu...&lt;/p&gt;

&lt;p&gt;Kamu harus membangun kebiasaan untuk meluangkan waktu belajar hal hal&lt;br&gt;
baru, atau mengasah kemampuan di waktu senggangmu... &lt;/p&gt;

&lt;p&gt;Dan kebiasaan ini akan sangat berat dibangun jika kamu tidak memiliki&lt;br&gt;
passion dalam Programming, atau kamu hanya mau Uangnya saja dari&lt;br&gt;
pekerjaan tersebut.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Iyaa, kalau boleh dikatakan, walaupun masuk &lt;strong&gt;"High Demand Job"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Jangan kira dirimu bisa bersantai saja, menikmati nikmatnya kopi ketika senja setiap hari, menikmati hari hari dengan senyuman, tau tau ketika kamu lulus secara ajaib kamu mendapatkan pekerjaan sebagai Software Engineer dengan hanya menunjukan Calculator App buatanmu... Jangan Harapp 😅😅&lt;/p&gt;

</description>
      <category>programming</category>
      <category>discuss</category>
      <category>career</category>
      <category>devjournal</category>
    </item>
  </channel>
</rss>
