Tuesday 25 June 2019

Pembuat Masalah | Cuma Programmer Yang Dapat Mengerti..

Tuesday 25 June 2019
You can be a Bad Programmer if you want..
Hello guys, sorry terlalu lama buat tenggelam  ke bawah tanah nih. lumayan lama juga sih gw udah gak nulis di blogs ini, ya mungkin kondisi hidup gw lagi gak stabil, mungkin bisa dibilang gw lagi kehilangan percaya diri di beberapa bulan kebelakang. Dan ini mungkin saatnya gw keluarin cerita" yg bener" anjink sih.. Tp btw Thanks God udah bawa gue sampe bulan ini, minggu ini, hari ini, jam ini, detik ini, jam 10:14 gw lg naek kereta menuju kantor dan posisi lagi ada dijuanda.. Anjink gak penting banget ya kan.. Hahhahahaha ..



Jadi gini, asal muasalnya pertama gegara leptop, yang pada postingan sebelomnya udah gw ceritain. Dan gak bakal gw bahas lagi disini jadi cari aja deh yaa sambil muter" ada apasih diblogs gue, kali aja nemu inspirasi hehhe..

Ok longstory short..

Jadi after leptop gw hilang, itu banyak bgt data" yang udah gw kumpulin selama 6 tahun.. Mulai dari bokep terus data photo" keluarga, temen kecil, kontak telfon dll deh..

Yg paling penting sih data project" aplikasi macem website, apps terus aplikasi yg udah siap di jual dan mungkin bisa gw pake..

Dan salahnya gw tuh project" yg selama ini gw buat itu sayangnya gak gw taro di github.. Wkwkwkw karena terlalu percaya diri kalo gw gak ada masalah sama leptop & hidup.. Tapi ya mau gimana lagi, kalo barang udah ilang ya lw musti bikin baru lagi dari awal bener" freshhh..

Nah masalah ini yg membawa gw ke arah kehilangan percaya diri. Dan kebetulan kan gw kerja di Startup yang namanya "Sidebeep" dan ya gw developer lah.. Tp ada yg unik nih, dari awal gw kerja smpe sekarang, gw bener" kagak tau.. Konsep kodingan yang dipake sebage platform dari aplikasi yg lagi kita buat, gak tau dah gw itu buatan sapa tp yg pasti sih "CACAD".. Ini bakalan gw jelasin pelan pelan.. Yg bukan programmer pun gw pastikan mengerti..

Framework yg kita pakai untuk system adalah Symfony working with harmony. Hhaha.. Gak ada yg salah sama framework ini, kenapa..? Ya contoh laravel, lumen, slim itu pake engine dari Symfony.. Dan akan tetapi yg bikin rusak adalah si coder yg terlalu kepikiran jauh (tapi belom mateng pengalaman) dan jadinya trial & error. Coba bayangkan team cuman sebiji 2 biji orang, tp konsep yg dipakai udah hampir setara aplikasi ERP (Enterprise Resource Planing) which is dari konsep kodingan yg saat itu gw pake itu masih bolong alias masih banyak yang tidak menghandle berbagai kemungkinan..

Konsep Kodingan :

  • Microservice
  • DDD (Domain Driven Design) 
  • Repository Design
  • CQRS (Comand Query Separation) 
  • RabbitMQ (Queue Messaging)

Notes : Gue gak menyalahkan konsep yg ada diatas, akan tetapi coba lah disesuaikan dengan keadaaan, supaya gak nyusahin bos dan temen se-team.

Jd kebayang kan kalo misalnya 2 orang bikin rumah 4 tingkat gimana..?? Mampus luh turun bero.. Ini sih goblok banget sumpah..

Masalahnya yg namanya Startup kan klo bisa bikin Prototype atau MVP (minimum valuable product) yg secepat mungkin.. Jadi harus bisa test flight buat ngetest market, apakah konsep bisnis bisa fit to the market atau tidak..

*welcome kalo kita mau debat*

Nah yg diatas gw baru bahas yg namanya konsep kodingan & yang berikutnya Infrastruktur which is bagian server..

Karena kita pake Docker mau gak mau kita cari Server Cloud.. Yg pertama si kreator ini pake AWS (Amazon Web Service) , dan mungkin doi keribetan kali sama setingan" yg Docker wkwkwk.. Yg gw tau tuh di akun AWS masi ada $7800 yg gak kepake.. Soalnya pas gw masuk tuh udah ada di GCP (Google Cloud Platform)..

Longstory short mungkin karena dibagian ini yg lebih paham tuh orang bagian server.. Gw skip dikit yaa..

Jadi di GCP ada 1 Group & ada 40an Nodes which is tiap node itu adalah 1 table.. Hhahaa disini gw mulai greget juga wkwkw.. Betapa bodohnya manusia yg melakukan sesuatu tanpa memikirkan biaya & tingkat kesulitan untuk management..

Which is kita belom production aja udah makan biaya perbulan itu bisa 10 jutaan lebih dah..

Gw makin heran, ini gw yg gak ngerti teknologi apa emank gw yg Goblok.. Wkwkwkwk..

Anyway yg udah terjadi biarlah berlalu, tp ini sih CACAD aselik..

Dan gitu ini butuh resource internet besar, karena mau naekin 1 node aja lw persiapan setingnya bisa makan setengah jam..

Konsep Infrastruktur :

  • Docker
  • GCP (Google Cloud Platform) 
  • MongoDB di set as Nodes juga.. 
  • MySQL ada di AWS eakkakakak.. 

Nahh pada awal januari 2019 kreator konsep ini resign, nah tinggal gw donk yg di transfer knowledge..

Ya gw bingung lah musti ngawalin dari mana, soale gini gw awal masuk mei 2018 dan sampe akhir tahun gw gak diajarin apa" dokumentasi gak ada (ini dokumentasi aplikasi / api).. Yaa dengan inisiatif gw belajar sendiri biarpun bikin crud 1 doank aj bisa ampe 3 hari.. Huahahahaha.. #anjink bgt kan.. & lagi dokumentasi buat infrastruktur juga gak ada.. Halaahh udah lahh.. Gak jelas juga..

Nah akhirnya si pak bos pemilik ini Startup nelp gw dan nanya sama gw pede ato engga buat handsover.. Ya gw bilang sih gw pede, tapi bakal banyak kendala mulai dari development yg bakalan lama progressnya karena konsep kodingan yg rumit & konsep infrastruktur yg gak jelas..

Ok longstory short gw bilang aja, ini klo mw diterusin pake konsep ini, ini bakalan jadi koreng yg dikopek dikit bedarah lagi..

Kalo mau ganti konsep yg simple aja pake aja lumen as api, terus frontend pake react & apps pake react native.. Problem is done..

Soale banyak developer yg pake php & react buat frontend, Jd gak susah juga buat cari developer..

Dan akhirnya temen gw yg marketing ngehubungin head gw pas dipopular, dan akhirnya dia mau bantu.. Berhubung dia juga dabest lead menurut gw.. Ok gak masalah..

Longstory short lagi akhirnya ditetapkan antara kesepakatan bersama oleh pak bos & ex lead & sekarang jd lead lg kalo kita ganti framework, supaya pengerjaan lebih cepat dan lebih make sense lah untuk mencapai minimum valuable produk..

Mungkin saat ini kita stabil untuk development & production meskipun kita udah jalan 4 bulan.. But it works..

Pesan untuk siapapun yg merasa sebagai lead..
*Pertimbangkan konsep kodingan mulai dari framework yang mau dipakai & management'nya..
*Infrastruktur seperti server & database klo bisa gak usah ribet dulu klo buat prototype doank.. jangan sampe bikin prototype doank makan waktu sampe lebih dari setahun, yg ada bos lo sakit kepala.. kan kasihan !!!
*Btw soal mode flight, jangan sampe gak ada development karena lw kerja 1 team.. yaa seharusnya kerja seteam ato gak seteam itu harus kudu ada mode Development -> Stagging -> Production jangan sampe klo ada error lw nyentuh" data yg udah production, yang ada malah banyak data sampah.. tp anyway..

Oke segitu dulu kesan dan saran dari gw ;)




No comments:

Post a Comment

ByeBlog's Inc © 2016