Ngoding menurut saya

Sudut pandang negara +62

Neraka ngoding
Neraka Ngoding
8 min readAug 14, 2019

--

Photo by Hitesh Choudhary on Unsplash

Sebelum saya khotbah dibawah tentang ngoding. Saya ingin menyamakan dulu persepsi apa yang dimaksud ‘ngoding’ menurut saya. Yang dimaksud ngoding menurut definisi saya pribadi adalah termasuk aktifitas dibawah :

  • Menulis kode software.
  • Mendesain software.
  • Software Architecture.
  • Semua yang berhubungan dengan software life cycle .

Tidak setuju sama definisi saya tentang ngoding? silahkan komentar senyinyir mungkin ala-ala komentar IG asal jangan baper dan melanggar undang-undang ITE.

Okay!. Halo nama saya ‘Neraka Ngoding’. Pekerjaan saya sehari-hari sebagai programmer atau software developer atau professional bug creator. Umur saya sudah sukar dibilang muda lebih tepatnya om-om kali yee atau bapak-bapak lah. Sudah punya anak satu laki-laki umur delapan tahun kelas 2 SD sekarang agustus 2019, kalau sudah gede mau saya paksa jadi coder juga! hehe tapi coder yang soleh, amin! deh.

Kerja jadi programmer sudah dari tahun 2005- 2006, jadi udah 14 tahun-an jadi programmer. Rekan-rekan programmer seumuran saya mungkin sudah malas ngoding dan sudah beralih ke-posisi managerial (klasik banget idup dari teknis terus ke managerial terus mati deh fuc*k lah ). Terus terang saya tidak suka berprofesi sebagai programmer / mencari uang dari coding. Tapi ntah kenapa selalu ada secuil motivasi didalam hati ingin membuat sesuatu dari coding tanpa direcokin urusan duit, urusan politik kantor, cicilan, hehe dan semua tek tek bengek urusan duniawi atau surgawi. Saya cuman pengen ngoding seperti nikmatnya bermain musik dalam sebuah band waktu jaman masih kuliah. Motivasi bermain band pure suka aja. Keren aja menurut saya kalo tergabung dalam sebuah band, masa bodo menurut orang lain dan nikmat juga dengerin musik sambil memainkanya dalam sebuah band. mungkin saya ingin terlihat keren kalee yeh!! kaya ariel, kulit mu bersperma.

Sudah beberapa kali membuat karya dari coding berikut gambarannya.

  • Kebanyakan membuat product ngak beres keburu ngak minat, 90% seperti ini.
  • Pernah jadi product dan mau take off, eh biasa urusan perduniawian merecoki jadi epic gagal!,biasa lah seperti cerita Ken Arok = darah,cinta, penghianatan dan kekuasaan.
  • Pernah membuat android app iseng-iseng, yang download ratusan ribu , eh gue buang begitu aja karena menurut gue itu product sampah.

Kenapa membuat product software banyak tidak tuntas atau gagal? mungkin alasan nya klasik lah kurang persistent dan terlalu banyak gesekan duniawi atau emang saya banyak bacot tentang product tapi terlalu goblok untuk mewujudkannya. Sampai pada satu titik kayanya saya tipe orang yang tidak bisa mewujudkan sebuah ide product menjadi product beneran. Bosenan atau gimana gituh atau mungkin saya bukan team player yang baik, ntah lah. Sekarang saya open aja terhadap kritik tentang saya soalnya emang saya ngak ada karya yang beneran dipake.

Saya menilai seseorang Coder yang sukses? yah…. dari karyanya. Menurut saya nih ciri karya ngoding yang sukses.

  1. Harus beneran mantap dari sudut pandang Software Engineering. Tidak ada yang bisa menggantikan kesuksesan ini, persetan dengan kesuksesan yang lain, terlalu nikmat kayanya kalo bisa bikin product dengan kaidah-kaidah software engineering yang suci seperti Readable, Correct, Reliable, Reusable, Extendable, Flexible, Efficient, dll. 90% Kode dibuat secara sampah menurut saya, apalagi dinegara +62 yang penting beres, tidak ada soul. Termasuk yang nulis lah, ini mah mengkritik diri sendiri dan orang-orang yang asal-asalan ngoding a.k.a asal beres a.k.a spaghetti code lover.

2. Dipake banyak orang. Tidak harus berguna sekali seperti Google Search, asal jangan dipake hanya untuk kriminal misal virus , scamware , dan lain lain. Contoh product kategori nomor dua ini baik yang masih hidup atau sudah modar :

  • Product sosmed Instagram, FB, Tit Tot, dll. Product seperti ini bisa berguna, bisa buat hiburan, buat kriminal juga bisa, masih gpp lah tergantung yang make. YouTube sosmed juga bukan yah? app yang paling saya suka.
  • Product chat seperti WA, Telegram.
  • Browser seperti Firefox, chrome, dll.
  • Music streaming platform seperti Spotify dll.
  • Marketplace kaya Bukapakpak atau Copetpedia hehe kidding.
  • Broker app kaya Goseh, Gober , Gok, Ucer, Crot, dll.
  • Product lokal seperti detik, sukses lah.
  • Blockchain seperti bitcoin atau cardano yeah…..to the moon https://cardanoroadmap.com/
  • Torrent.
  • OS Linux, Unix, FreeBSD, MacOS, dll.
  • Mobile OS : Android atau iOS. window phone modarrrr!.
  • dll
Photo by William Hook on Unsplash

3. Jadi duit yang banyak. Saya tempatkan menjadi nomor tiga alias terakhir, Memang duit bukan segalanya tapi bisa buat beli Koenigsegg Jesko atau motor Harley anak david sama PS 5 sih kalau udah keluar atau mungkin buat travel ke yourop atau negeri matahari departement store trus photo-photo deh buat upload ke IGEH.

Tidak setuju dengan tiga hal diatas silahkan komen bebas asal jangan baper dan melanggar UU ITE berat bos masuk penjara!.

Ngoding menurut saya tidak hanya sekedar profesi, tetapi bisa menjadi media untuk berkarya. Seperti karya seni, tetapi melibatkan banyak orang dalam berkarya. Bisa dinikmati banyak orang terutama software sosmed dari alay sampe jablay, dari ustadz sampe kriminil semua suka.

Beberapa saran untuk orang yang ingin menjadi seorang coder yang sukses , terserah kalian definisikan sendiri suksesnya. Fari seorang saya, Coder terbaik sebatununggal-bandung, west java, indonesia belum terkalahkan selama 15 tahun tapi karir mentok hehe.

  1. Enjoy ngoding!. Ngoding harus menyenangkan seperti maen game. ngoding bakal menyita waktu hidup kamu jadi make sure dijalani dengan enjoy!.
  2. Tetapkan Goal atau parameter kesuksesan. Harus jujur kepada diri sendiri jangan bullshit yah. Berikut beberapa contoh
  • Ingin kaya raya seperti Bill gates.
  • Ingin Change the world gituh loh!, ngapain juga yah merubah dunia?, Seperti Om Setip job.
  • Ingin Seperti Linux Torvalds beken akut tapi ngak bisa deketin perempuan.
  • Ingin idealis seperti free software-nya richard stallman.
  • Ingin seperti legenda satoshi nakamoto pencipta bitcoin?.
  • Ingin seperti Elon Musk yang pengen ke Mars? yang rambutnya dari botak jadi tumbuh lagi.
  • Ingin masuk surga!, bebas lah!.

Jangan sampai fake aja seperti kebanyakan founder startup hehe..bullshit lah keep it real brother.

2. Persistent untuk mencapai tujuan nomor 1. Jangan galau seperti saya atau ikut-ikutan orang lain. Misal nih gara-gara seorang lawan jenis lupa sama tujuan nomor 1. Atau kepepet cicilan .

3. Jangan bosenan seperti saya.

4. Finish your god damn product!.

5. Berkarya lah dengan membuat product. Rawat product seperti merawat anak, terapkan best practices software development, kalo tidak! pasti itu software bakal penyakitan dan menyusahkan, beban lah pokoknya.

6. Timeless, berguna dimasa sekarang dan masa depan kalo bisa diakhirat juga berguna.

7. Belajar terus atau up to date terhadap teknologi baru atau konsep baru, tetapi jangan percaya buta kalo dirasa lebih baik silahkan diterapkan. Jangan lembam terhadap sesuatu yang baru atau malas.

8. Jangan mau kalah sama programmer orang asing, banyak orang indonesia yang jago ngoding kerja di Google, Microsoft, Amazon , dll.

Buat teman-teman yang murni minat ingin menjadi software engineer / Programmer/ Software Developer / Coder tidak harus lulusan IT, banyak sekali saya temui didunia industri IT backgroundnya bukan lulusan IT. Saya pernah punya rekan profesinya tukang bangunan karena sering ngoprek komputer eh jadi programmer juga, tapi ngetiknya agak kenceng sih mungkin efek kelamaan jadi kuli. Dunia ngoding menurut saya background seseorang menjadi nomor dua, nomor satunya yah hasil ngodingnya. Bodo amat dia lulusan mana? lulusan kampus kaporit kaya ITEBEH? atau lulusan luar negri seperti MIT,Harvard, dll. Ngak penting!.

Pengamatan saya rekan-rekan yang berprofesi sebagai coder, tetapi bukan lulusan IT biasanya mereka memulai profesi sebagai coder awalnya dengan ikutan project-project freelance keterusan deh.

Profesi coder sangat rewarding banget, apalagi kalo teman-teman mau berkarir di Bay area di US sono. Saya sarankan buat coder yang masih muda jangan galau-galau idup, berkarirlah di US Sillicon Valley sono, mekah nya software engineer atau ingin membuat perusahaan start-up diindonesia seperti Gojek , Bukalapak , Tokopedia , hajar! ngak usah minder-minder, takut gagal , dan lain-lain (seperti yang nulis hiks hiks).

Buat yang ingin jadi coder berikut adalah tahapan belajar menurut saya, mungkin sesat juga sih saranya nya hahah. Sama-sama belajar lah yes?

  1. Basic computer science seperti algortima pemograman, Struktur Data, Paradigma Pemograman seperti Object Oriented Programming atau yang lagi kekinian Functional Programming, Computer Architecture. Jangan masuk dulu ke software architecture dulu, pokoknya teori dasar-dasar programming. Hal ini lebih mudah didapat dikampus sih, tetapi sekarang jaman internet ilmu bertebaran dimana-mana bisa belajar dari google, youtube , wikipedia, buku pdf bajakan hehehe, tidak harus dikampus.
  2. Ngoprek Time! silahkan buat project software pribadi/ pet project dengan teknologi dan platform sesuai dengan minat kalian. Banyak pilihan bahasa pemograman seperti :
  • Java.
  • C# .
  • Golang.
  • Visual Basic ? jangan lah hehe.
  • Haskell untuk functional programming.
  • PHP.
  • Scala.
  • Ruby.
  • Java Script.
  • HTML dan JavaScript.
  • Python.
  • C.
  • C++.
  • Rust.
  • R.
  • Swift.
  • Objective-c.
  • Kotlin.
  • Clojure.

Banyak pilihan platform seperti :

  • Web applications.
  • Desktop applications.
  • Mobile Applications.

Banyak pilihan database seperti :

  • NoSQL seperti mongo db
  • SQL Server
  • MySQL
  • PostGreSQL

Banyak pilihan IDE seperti

  • Visual Studio.
  • XCode.
  • Android Studio.
  • NetBeans.
  • Eclipse.
  • PyCharm.

Jangan pake framework dulu biar ngak pusing memahaminya. Skip dulu framework-framework, ngoprek yang standard aja dulu.

3. Setelah familiar dengan coding baru boleh ngoprek framework.

  • Angular.
  • CodeIgniter.
  • Laravael.
  • Django.
  • Ruby On Rails.
  • React.
  • Node.Js.
  • Xamarin.

4. Unit testing dan integration testing.

5. Test Driven Development atau TDD.

6. Clean Coding.

7. Design Pattern.

8. Software architecture seperti microservices yang lagi kekinian.

9. Coba buat product yang serius, ini yang paling penting.

10. Belajar, ngoprek, belajar, ngoprek terus sampe muntah. Ngoprek big data, blockchain, machine learning atau game programming.

Kalau dilihat daftar diatas sepertinya untuk menjadi seorang coder banyak sekali yang harus dikuasai! mungkin teman-teman bertanya kapan cari uangnya?. Daftar diatas adalah tahapan untuk menjadi coder yang sakti mandra guna untuk memulai berprofesi sebagai coder sampai daftar nomor dua pun sudah cukup. 90% coder menurut saya ada dilevel nomor dua termasuk saya kali yah, tetapi saya pernah lah ngoprek framework seperti angular, xamarin, dan node.js. Ngoprek unit testing dan integration testing menggunakan NUnit di .NET programming sama Android unit test. Ngoprek TDD juga. Saya pernah clean coding juga, “No duplicate codes!” , dependency injection, dll. Saya pernah juga ngoprek design pattern seperti singleton , factory, abstract factory, Facade,dll. Saya pernah juga ngoprek microservices software architecture menggunakan teknologi .NET Core . Pernah juga membuat product. Dan pernah juga ngoprek game engine dan machine learning tetapi ngak dalem sekedar kenal saja. Dari 10 daftar diatas yang saya amati termasuk saya, coder banyak yang paham sampai nomor 10, tetapi tidak melakukan sebagai daily habit atau tidak berada didalam suatu organisasi yang mendukung untuk melakukan sampai nomor 10. Untuk membuat software sekedar jadi memang kita tidak harus mengaplikasikan ilmu clean coding, unit testing, tetapi untuk membuat software yang berkualitas pengetahuan sampai nomor dua tidak cukup. Saran saya kalau ingin jadi coder yang sakti mandra guna bergabunglah dengan perusahaan software yang menerapkan atau memaksa coder-codernya menerapkan kaidah-kaidah software engineering yang benar. Misal dalam perusahaan tersebut ada code review untuk memastikan coder nya tidak menulis WTF codes. Contoh perusahaan di negara tercinta indonesia konon katanya perusahaan seperti Gojek, Bukalapak, Tokopedia, atau Traveloka sudah seperti itu.

Dunia ngoding menurut saya sangat challenging sekali. Siapkan saja otak kalian!.

Okay! kawan-kawan sekian dulu. Salam Nerakaahhhhh ngodingggggg!!!!

--

--

Neraka ngoding
Neraka Ngoding

Coder terbaik sebatununggal-bandung, west java, indonesia belum terkalahkan selama 15 tahun. “Coder adalah Identitas bukan profesi”