Continuous Programming

Continuous Programming
Most audience in Facebook Groups;
Total liked and shared within Facebook network;

Minggu ni aku menyibukkan diri dengan web-based solution development atau biasa kita sebut ‘buat system’. Walaupon agak sibuk, tapi aku cuba luangkan masa untuk kongsikan sedikit tips. Kali ni aku nak kongsikan tips untuk dapatkan fokus yg tinggi semasa programming. Bila fokus tinggi, aku meletakkan situasi tu sebagai Continuous Programming, iaitu programming secara berterusan yg mempercepatkan siapnya sesebuah system. Harap otai-otai tak confuse dengan Continuous Integration (CI) ye hehe. Bagi aku, fokus yg tinggi masa programming amatlah penting sebab ianya akan memberikan impak yg besar kepada nilai serta kualiti untuk sesuatu solution.

Minggu ni aku menyibukkan diri dengan web-based solution development atau biasa kita sebut ‘buat system’. Walaupon agak sibuk, tapi aku cuba luangkan masa untuk kongsikan sedikit tips. Kali ni aku nak kongsikan tips untuk dapatkan fokus yg tinggi semasa programming. Bila fokus tinggi, aku meletakkan situasi tu sebagai Continuous Programming, iaitu programming secara berterusan yg mempercepatkan siapnya sesebuah system. Harap otai-otai tak confuse dengan Continuous Integration (CI) ye hehe. Bagi aku, fokus yg tinggi masa programming amatlah penting sebab ianya akan memberikan impak yg besar kepada nilai serta kualiti untuk sesuatu solution.

Seperti yg pernah aku ceritakan dalam entry Kepentingan database (DB) structure sebelum ni, aku start develop system baru ni dengan;

  1. Buat flow chart : Tempoh masa lebih kurang 24 jam total.
  2. Lakaran user interfaces (UI) : Lebih kurang 6 jam total.
  3. DB structure : Lebih kurang 6 jam total.
  4. Start coding : Masih lagi dalam proses.

Ikut pengalaman aku, step 1 tu adalah sangat penting sebab ia adalah ‘akar’  atau punca utama yg akan menentukan macam mana system tu akan jadi nanti. Umpamanya nak buat rumah, kita kena ambik kira tanah tempat nak bina tu. Tanah rata ke, berbukit ke, takung air hujan ke, dan macam-macam benda lagi perlu diambik kira untuk nak pastikan rumah tu nanti akan siap dengan baik. Walaupon penting, tapi jangan terlalu berusaha untuk mencapai kesempurnaan sebab software ni tak pernah ada yg siap dan terus sempurna. Dah jadi lumrah akan adanya bugs, error, UI nampak buruk la, user nak tambah button, dan macam-macam lagi. Tapi jangan terus buat semua tu sekaligus sebab memang sampai bila-bila pon system tu takkan siap. Kita kena belajar daripada software lain macam Windows. Contohnya dulu ada Windows 3.1, kemudian Windows 95, Windows 7, dan sekarang Windows 10 (siap boleh download free lagi sekarang ni). Setiap version tu ada penambah baikan hasil daripada feedback user yg gunakan version sebelumnya. So inilah konsep yg kita perlu faham bila nak develop sesebuah system tu.

Berbalik kepada tajuk entry ni, macam mana nak dapatkan fokus yg tinggi masa programming? Bawah ni aku kongsikan cara yg aku buat untuk capai objektif ni. Klik / Tap simbol + tu untuk penjelasan.

Bertukar menjadi 'robot'.

Apa yg aku faham tentang robot adalah ia beroperasi berdasarkan ‘kalau’. Dalam programming kita sebut sebagai ‘if-else’. Aku bertukar daripada seorang mat jiwang kepada robot bila nak start programming sebab programming ni tak layan ayat-ayat cinta yg berbunga-bunga. PHP hanya faham bila aku taip if ( $a == 1 ) return true; else return false; So aku kena pujuk diri aku untuk berfikir cara robot. Aku kena susun operasi apa yg nak dibuat dulu, kemudian operasi mana, seterusnya apa, sampailah siap. Contohnya bila user nak login, dia kena masukkan username, password, dan click button Login. Kalau (if) dia masukkan password salah, kena paparkan error message. Aku tak boleh terlalu imagine pada rupa bentuk HTML form yg cantik-cantik sebab fokus aku untuk nak siapkan modul user authentication tu akan terganggu sedangkan itulah yg lebih penting. Form kurang cantik tak mengapa asalkan function login tu berfungsi.

Anggapkan diri kita berada pada tempat client.

Cuba anggapkan sekarang ni jam 12 tengah malam. Baru nak tidur tiba-tiba blackout. Masuk toilet bukak paip takde air. Aku pon call TNB dan SYABAS report bekalan terputus. Diaorang cakap akan datang cek kejap lagi. Kita pon tunggu lah. Sejam tunggu tapi tak sampai-sampai. Call lagi sekali tak berjawab. Dua jam tunggu masih tak jawab. Apa perasaan kita? Beginilah perasaan client yg duk tunggu system yg kita develop tu. Untuk nak dapatkan fokus yg tinggi, aku cuba berada pada tempat client tu dan memahami perasaan mereka. Secara automatik aku akan cuba sedaya upaya untuk siapkan kerja sebab takut nanti diaorang call bertalu-talu sampai habis bateri telefon aku. Kadang-kadang serabut jugak kalau asyik call je, padahal mesej / WhatsApp pon boleh. Situasi TNB dan SYABAS tadi tu hanyalah contoh dan lakonan sahaja ye, aku tak pernah menghadapi situasi macam yg aku ceritakan ni. Service dedua company ni setakat ni memuaskan hati aku.

Anggapkan kita akan jatuh sakit minggu depan.

Jatuh sakit ni mungkin lebih teruk daripada terus meninggal, sebab bila kita sakit, kita akan menyusahkan orang lain sepanjang tempoh masa sakit tu. Kalau meninggal hanya susahkan orang ramai untuk urusan pengebumian tu je, tapi bila sakit ni mungkin ambik masa 3 hingga 5 hari, bulan-bulan depan mungkin sakit lagi. Bukan setakat menyusahkan orang lain, tapi nak buat kerja pon takleh. Bila kita boleh anggapkan esok lusa atau minggu depan kita akan jatuh sakit, ataupon ditimpa bencana yg tak diundang, maka kita akan usaha untuk nak siapkan kerja secepat mungkin. Kalau kerja-kerja harian macam memasak dan basuh pakaian tu boleh outsource tanpa kos yg tinggi. Tapi programming ni tak macam tu. Ianya termasuk dalam bidang khas yg hanya programmer je boleh buat dengan baik.

Kenal pasti tempoh waktu kita paling energetic / paling bertenaga.

Berdasarkan pemerhatian aku, setiap orang ada kelebihan dan kelemahan masing-masing. Ianya mungkin tak sama. Contohnya hari ni aku paling bertenaga untuk menghadap coding selepas jam 12 tengah malam hingga 8 pagi. Esoknya mungkin antara jam 10 pagi hingga 3 petang pulak. Sesetengah orang mungkin tempoh waktunya adalah konsisten. Hal ni kena cuba cari dan kenal pasti sendiri. Bagi aku, petanda untuk nak kenal pasti tempoh waktu yg sesuai tu adalah bila kita lebih mudah faham dan hadam bila membaca atau mendengar orang menyampaikan sesuatu ilmu. Bila gabungkan ketiga-tiga tips tadi dalam tempoh waktu energetic ni, inshaAllah kita akan dapat fokus yg tinggi masa buat programming. Bila fokus tinggi, kadang-kadang tak perasan pon kita dah duduk lebih daripada 4 jam atas kerusi. Kerja pon dah banyak yg dapat disiapkan. Kalau kita boleh fokus time main game, kenapa tak leh nak fokus time programming?

Be positive : Cuba happy kan diri.

Suasana kerja hari ni mungkin tak sama dengan hari-hari sebelumnya. Semalam sunyi je takde gangguan, tapi hari ni ada pulak bunyi bising mat motor duk test ekzos baru, dah sejam lebih duk test tak habis-habis lagi. So macam mana nak buat? Aku cuba wujudkan suasana happy yg akan tenggelamkan suasana tak selesa tadi. Kadang-kadang aku akan usik sape-sape je kat Facebook melalui komen, buat lawak ke, atau apa-apa yg boleh buatkan aku happy. Ada kalanya aku main Chess, menang… menang… dan menang! So, aku happy! Bila dah happy, maka aku akan mampu untuk fokus pada programming. Yg penting, make sure jangan berlebih-lebih sebab nanti tak sentuh langsung pon kerja.

Selesaikan bahagian / modul yg senang dulu.

Mungkin kalau kerja buat bangunan atau jalan raya kena ditangguhkan bila hujan lebat. Kalau diteruskan mungkin hasilnya teruk dan tak memuaskan hati. Tapi jangan sesekali tiru konsep tu untuk programming. Contohnya hari ni kena buat modul Access Control List (ACL). Buat punya buat tetap tak menjadi, punyalah lama masa duk godek-godek benda tu, last-last fedup dan jadi boring. Cuba elakkan situasi macam ni sebab ia akan melambatkan masa untuk nak siapkan sesuatu kerja. Bila stuck kat sesetengah modul, cuba beralih ke modul lain yg lebih senang. Kadang-kadang kita akan dapat idea untuk nak selesaikan bahagian yg susah tadi masa tengah buat benda yg senang. So secara tak langsung kita akan dapat teruskan kerja sebelum tamatnya tempoh waktu energetic tadi. Dalam Al-Quran ada sebutkan tentang ‘kepentingan masa’ dalam surah Al-‘Asr. Cuba belajar gunakan masa kerja sebaik mungkin.

Ada beberapa tips lain lagi macam beralih tempat duduk. Mungkin ada masanya kita kena bawak laptop gi buat kerja kat taman permainan ke, kat library ke, atau mungkin jugak kedai mamak macam yg aku buat haha. Walau apa pon cara yg kita cuba untuk dapatkan fokus yg tinggi, jangan lupa pengaruh spiritual yg kita tak nampak ngan mata kasar. Doa serta amalan baik (Karma rules) adalah kunci utama untuk tenangkan hati. Bila hati tenang, secara automatik kita akan rasa senang masa programming serta fokus yg tinggi.

Terima kasih pada yg sudi membaca dan subscribe ke blog aku ni. Bagi yg belum subscribe,

. Harap korang whitelist email afi@blogs.k-ict.org sebab blog aku ni akan notify sebarang entry baru menggunakan email address tu. So subscriber akan tahu lebih awal sebelum aku share kat media social. Kalau tak whitelist mungkin masuk ke Spam dan bukan Inbox. InshaAllah aku akan cuba kongsikan lagi benda-benda berkaitan dari semasa ke semasa yg mungkin boleh membantu kita semua dalam bidang ICT.

Facebook Profile photo

Author: Ahmad Fazli Ismail

Seorang pekerja dalam bidang ICT bermula tahun 2005 hingga sekarang. Bidang ni berkembang sangat pantas, oleh itu aku kena sentiasa belajar sambil bekerja. Belajar tak semestinya di sekolah atau universiti sahaja, tapi di mana2 tempat selagi masih hidup di dunia.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.