Rekabentuk dan Pengaturcaraan adalah dua bidang disiplin yang berbeza. Meskipun demikian, di era syarikat permulaan tumbuh bagaikan cendawan, dua disiplin ini tidak dapat dipisahkan. Anda tidak dapat merekabentuk sebuah aplikasi Android/iOS yang cantik dan menarik tanpa atucara sebagai tulang belakang. Begitu juga sebaliknya.
Temuramah kali ini, bertumpu kepada Mohamad Zulhilmi Bin Zainudin yang berlatar pendidikan Seni Reka Grafik (KLMU). Jika anda tanya apakah kerjayanya, jangan terkejut dengan jawapan yang diberikan. Beliau memegang jawatan sebagai Senior Software Engineer (Blockchain & Site Reliabilty). Jauh sekali berbeza dengan sangkaan. Bagaimana beliau bertukar kepada bidang pengaturcaraan?
Teruskan bacaan anda untuk mengenali siapa Mohamad Zulhilmi bin Zainudin…
Design dan programming adalah dua disiplin yang berbeza dan saya selesa mengadun kedua-duanya dalam projek seharian saya.
Apa inspirasi untuk menjadi seorang programmer dan bagaimana anda menjadi seorang Full Stack Developer?
Curiousity. Sejak dari kecil, saya gemar bereksperimen dengan pelbagai perkara. Memiliki toolbox yang penuh dengan aksesori dan motor untuk kereta Tamiya tidak terkecuali. Di zaman persekolahan, bapa saya membeli sebuah desktop untuk kegunaan kami adik beradik di rumah.
Pulang sahaja daripada sekolah, saya pasti akan meluangkan masa di hadapan desktop tersebut. Dari situ, timbul soalan “bagaimana program ini dicipta? siapa yang menciptanya? di mana boleh aku belajar untuk mencipta program-program seperti ini?”
Apabila saya ke sekolah menengah, saya membawa komputer riba yang dihadiahkan oleh ibu saya ke asrama. Selesai waktu prep, saya belajar tentang asas programming secara sendiri. Saya bersyukur kerana sekolah dan asrama saya ketika itu mempunyai sambungan internet yang baik untuk kegunaan kami sebagai pelajar.
Cikgu Zefry (berdiri, tengah), warden & guru Matematik Tambahan yang juga merupakan guru penasihat pasukan F1 In Schools saya juga banyak membantu dan memberi pendedahan awal kepada saya tentang dunia programming semasa saya di berada di sekolah menengah
Seperti ramai orang, saya bermula dengan bahasa yang mudah terlebih dahulu seperti HTML, JS & CSS. Pada waktu ini saya mula tahu apa itu domain, server, scripting language dan lain-lain.
Saya mula belajar tentang scripting language pada usia 15 tahun. PHP adalah yang pertama. Saya masih ingat saat cemas ketika saya tertinggal semi-colon di dalam skrip PHP saya. Sungguh epik! Dengan PHP, saya berjaya mencipta beberapa dynamic site saya sendiri.
Berbekalkan ilmu yang ada ketika itu, saya mengambil beberapa job sebagai freelancer. Kebanyakkannya adalah static website & WordPress-based website. Saya juga berjaya membina WordPress theme & plugin untuk kegunaan sendiri dan untuk para klien saya ketika itu. Ianya satu pengembaraan yang sungguh mengujakan.
Apa kekuatan anda, kepakaran anda?
Ruby adalah bahasa programming utama saya pada hari ini. Saya boleh katakan ia adalah kekuatan saya dari segi bahasa programming. Selain daripada Ruby, saya juga menggunakan bahasa-bahasa lain untuk menyelesaikan masalah di dalam projek-projek saya seperti JavaScript (Node), Python, Go, Bash dan tidak terkecuali, PHP.
Dari sudut lain, latar belakang saya adalah seni kerana saya mengambil jurusan reka grafik semasa di IPT. Minat saya terhadap grafik juga bermula semasa dari zaman persekolahan di mana saya banyak terlibat dengan projek-projek anjuran badan dan persatuan di sekolah sebagai “design guy”.
Salah satu daripada projek freelance saya ketika dalam fasa belajar front-end web development satu ketika dahulu. Saya design menggunakan Photoshop terlebih dahulu sebelum beralih kepada text editor untuk menukarnya kepada ‘a working website’.
Jika ditanya kepada saya apa yang menyeronokkan sepanjang belajar programming, saya akan jawab “design sendiri website guna Photoshop/Sketch, code website tersebut sama seperti design yang telah dibuat dan deploy!”. Design dan programming adalah dua disiplin yang berbeza dan saya selesa mengadun kedua-duanya dalam projek seharian saya.
Rupa workspace saya ketika bergelar student dahulu. Saya pernah berkongsi cara-cara menggunakan Photoshop di dalam bentuk pakej DVD fizikal – saya pos kepada para pembeli kerana pada ketika itu konsep e-learning masih baru dan ramai prefer DVD berbanding download.
Bagaimana anda menguruskan konflik?
Tidak dinafikan, setiap projek mempunyai cabaran teknikalnya (technical challenge) yang tersendiri. Apabila berdepan dengan situasi-situasi sukar dan mencabar, saya akan memilih untuk membaca dan memahami setiap pilihan yang ada dengan lebih teliti. Saya juga sering bertanya kepada mereka yang lebih pakar.
Ada ketikanya, pilihan pertama dan kedua kedua-dua menemui jalan buntu. Tetapi, apabila kita menggabungkan kedua-duanya dalam turutan dan skop yang betul, ia adalah jalan penyelesaian yang kita sebenarnya perlukan.
Sentiasa bawa drawing book & pen disamping anda. Research, tulis dan lukis setiap flow sistem & komponen yang anda cuba bangunkan. Ia juga boleh membantu anda ketika menyelesaikan technical challenge projek anda.
Sebagai seorang software engineer, kita harus tahu dan faham di mana sebenarnya penghalang dalam projek kita. Satu bahasa programming atau teknologi bukan senjata terbaik dalam semua situasi. Sentiasa belajar dan cuba bahasa-bahasa dan teknologi-teknologi baru. Guna alat yang betul pada masalah yang betul.
Setakat ini, boleh senaraikan projek besar yang telah tercapai beserta sedikit penerangan mengenai projek tersebut?
Atas faktor-faktor kekangan dari sudut perundangan, saya hanya boleh menerangkan secara am tentang projek-projek saya sebelum ini tanpa menyebut nama projek dan pemilik produk.
Antaranya adalah sistem e-commerce untuk pemilik food truck (pesan makanan dari food truck secara online), sistem tempahan makanan berpusat untuk pekerja dalam syarikat (free lunch management system for staffs in companies), portal professional yang menghubungkan pakar industri dan fresh graduates bagi tujuan career consultation (bayangkan LinkedIn dan Google Hangouts di dalam satu aplikasi) dan lain-lain lagi.
Gambar saya dan ahli pasukan semasa bersama sebuah agensi (software house) pada tahun 2015. Di sini saya mula belajar tentang ‘DevOps’ bersama Syam (kanan, hujung) yang kini bersama pasukan Katsana. Terima kasih Syam!
Sebelum ini, saya bersama sebuah software house tempatan. Kami bekerja bersama para pelanggan dari dalam dan luar negara. Hampir semua projek dibangunkan menggunakan Ruby on Rails sebagai framework pilihan kami dan pelanggan.
Ahli pasukan HelloGold pada tahun 2017. Kini kami sudah 40 orang.
Kini, di HelloGold, saya & pasukan membina aplikasi mudah alih bagi membantu orang ramai menyimpan aset mereka dalam bentuk emas. Saya merupakan antara ahli pasukan terawal dan proses pembangunannya dimulakan oleh saya dan rakan sepasukan, Dave pada tahun 2016 menggunakan Ruby & Go sebagai bahasa programming utama sistem kami.
https://www.youtube.com/watch?v=kD442Fy9ac8
Bagaimana aplikasi HelloGold berfungsi? Tip: guna kod promosi Z17 untuk dapatkan hadiah emas bernilai RM5 daripada HelloGold.
Ia kini dikembangkan lagi oleh ahli pasukan kami menggunakan pelbagai lagi bahasa programming moden lain bagi menyelesaikan setiap masalah di dalam sistem kami. Evolusi sistem kami bermula dengan sebuah big monolith system perlahan-lahan kepada micro-services pattern pada hari ini.
Sebagai seorang perintis, dimana anda lihat diri anda 5 tahun dari sekarang?
Dunia teknologi berkembang dengan begitu pantas dan pesat sekali. 5 tahun adalah skala masa yang singkat di dalam dunia teknologi dan tidak mustahil pelbagai teknologi-teknologi baru akan lahir dalam tempoh ini.
Saya adalah seorang yang begitu gemar dan sentiasa teruja mencuba teknologi baru. Saya tidak pasti di mana saya akan berada dan apa yang saya kerjakan dalam tempoh 5 tahun daripada sekarang. Apa yang saya dapat katakan, saya akan sentiasa dekat dengan teknologi-teknologi baru seperti Blockchain, Artificial Intelligence (AI), Machine Learning (ML) dan lain-lain.
Gambar bersama para peserta workshop Blockchain di JSconfAsia 2018. Saya & Dave (HelloGold) berkongsi tentang Blockchain, Ethereum & Smart Contracts.
Buat masa sekarang, saya pilih untuk fokus pada Blockchain terlebih dahulu. Mungkin dalam masa 5 tahun daripada sekarang, saya masih bersama Blockchain sebagai trend setter dan bergerak sebagai mentor di dalam industri.
Apakah trend semasa yang anda lihat untuk 2018 ini?
Banyak teknologi dan developer tools yang menarik untuk dicuba seperti Blockchain, AI, ML, Big Data & cloud technologies. Saya fikir 5 bidang teras ini akan menjadi lebih dominan di dalam pasaran pada tahun ini dengan penglibatan lebih banyak syarikat-syarikat besar sebagai penaja yang membentuk konsortium, penasihat dan pembangun projek-projek disebalik teknologi ini.
Dari segi Blockchain, kita mungkin akan melihat lebih banyak penglibatan institusi kewangan dan kerajaan dari pelbagai negara dalam menggunakan teknologi ini atas faktor ketelusan (transparency) yang ditawarkan sebagai teras utama teknologi ini.
Dari segi cloud technologies pula, saya melihat tahun 2018 ini sebagai ‘container, serverless & automation year’ di mana Google kini semakin aktif menyokong projek Kubernetes mereka. Docker pula hadir dengan sokongan Kubernetes secara terbina (native) dan Amazon baru-baru ini mengumumkan produk baru mereka dikenali sebagai Amazon Kubernetes Service (AKS). Tidak ketinggalan, Microsoft Azure juga menawarkan sokongan Kubernetes di platform mereka.
Sebahagian daripada test devices yang saya gunakan semasa kerja-kerja front-end di HelloGold. A simple tooling setup akan membantu anda untuk auto-refresh semua test devices ini. Itu juga workflow.
Dari sudut automasi dan workflow untuk para pembangun pula, tools seperti Ansible, Terraform dan Spinnaker saya jangka akan meningkat naik pada tahun ini. Saya sendiri kini sedang bereksperimen dengan tools yang saya sebutkan di atas. Dan, saya jangka ‘serverless’ akan menjadi mainstream dan satu trend tidak lama lagi dengan penawaran pelbagai runtime oleh AWS, Google Cloud & Microsoft Azure.
Adakah anda terlibat atau menceburkan diri dalam sebarang perniagaan, bolehkah anda terangkan mengenai perniagaan tersebut?
Apa itu BinaBlogSendiri & kenapa saya memulakan projek tersebut?
Ya. Dua personal projects saya adalah ProspekDigital dan BinaBlogDotComSendiri. Saya membangunkan projek ini bersama sahabat saya, Amirul Faisyal yang kini merupakan seorang digital marketing specialist di sebuah agensi di ibu kota.
Apabila berkelapangan, saya juga menerima jemputan rakan-rakan industri untuk memberi talk dan berkongsi pengalaman. Gambar adalah ketika sesi perkongsian tentang SEO pada tahun 2015.
Kami menawarkan khidmat rundingan (consultancy) pemasaran & teknologi, training dan digital marketing service buat para pemilik bisnes tempatan. Selain itu, kami juga menawarkan pelbagai bentuk panduan dan tutorial dalam Bahasa Melayu buat para subscribers di laman web kami. Kebanyakannya kami berikan percuma sahaja.
Training web development menggunakan WordPress yang saya kendalikan bersama-sama pasukan WebStation (Faiz Edzahar)
Sebelum saya memulakan dua projek (online) ini, saya mempunyai beberapa projek offline yang saya bangunkan sebagai platform untuk saya bereksperimen dengan ilmu pemasaran digital dan teknologi saya. Baik dari jersey bola, aksesori kamera, eBook, semua saya pernah jual dan pengalaman menjual setiap satu daripadanya adalah berbeza dan menyeronokkan.
Apabila tidak belajar, saya mengajar. Foto salah satu batch coaching web-development saya.
Selain daripada itu, saya juga merupakan seorang instructor di Udemy. Saya bercadang untuk menambah beberapa lagi kursus di Udemy. Ia bukan fokus utama saya untuk menjana pendapatan melalui platform Udemy ini. Tetapi, lebih kepada mahu berkongsi ilmu yang saya ada.
Bolehkah anda berkongsi serba sedikit mengenai Blockchain dev (Solidity on Ethereum)?
Ya, sudah pasti! Ethereum adalah sebuah public & distributed blockchain-based ledger seperti Bitcoin. Ethereum sedikit berbeza dengan Bitcoin kerana Ethereum menyokong smart contracts. Smart contracts adalah sama seperti kontrak yang kita gunakan dalam aktiviti seharian kita sekarang. Bezanya, ia 100% digital dan ditulis dalam bentuk kod.
HelloGold Tech Team. Dari kanan: Wykeen (CTO), Dan (Ruby), Zaim (iOS), William (Android), TC (Ruby), Dave (Blockchain) & saya (Blockchain)
Sebagai contoh, platform crowdfunding Kickstarter menghubungkan pemilik produk dan supporters produk. Dalam situasi ini, kedua-dua pihak (pemilik produk dan supporters) meletakkan kepercayaan mereka kepada Kickstarter untuk menguruskan dana yang diterima untuk membangunkan sesebuah projek baru.
Pun begitu, prosesnya tidak terbuka. Kita tidak tahu berapa nilai amaun sebenar yang diterima oleh Kickstarter untuk sesebuah projek dan unsur ketidaktelusan boleh berlaku di sini. Ini hanyalah contoh. Saya tidak menuduh operasi Kickstarter tidak telus.
Apa yang ditawarkan oleh ciri smart contracts di dalam Ethereum begitu jelas. Semuanya telus dan terbuka. Sesiapa sahaja yang ‘sync’ blockchain network Ethereum (dipanggil sebagai ‘node’) boleh melihat semua transaksi yang dihantar ke penerima (contoh: Kickstarter). Bagi yang malas untuk setup node mereka sendiri, mereka boleh menggunakan Ethereum explorer seperti EtherScan (web based).
Dan, jika sesuatu projek itu tidak mencapai milestone yang ditetapkan, para supporters boleh melihat kesemua transaksi refund yang dihantar oleh Kickstarter kepada supporters projek tersebut. Tiada lagi isu “sudah refund tetapi fund tidak sampai atau hilang” kerana semua orang boleh track ke mana fund tersebut pergi.
Ethereum hadir dengan Ethereum Virtual Machine (EVM) – ia adalah runtime untuk smart contracts. Untuk menghasilkan smart contracts, Solidity merupakan antara bahasa programming yang boleh anda gunakan. Ianya adalah high-level language dan ia seakan-akan JavaScript. Semua kod yang ditulis di dalam Solidity harus bebas daripada errors kerana jika ia mengandungi errors, anda tidak akan berjaya untuk compile smart contracts anda.
Di HelloGold, kami menggunakan Solidity & Ethereum dalam pelbagai tujuan. Pertamanya, dalam menyimpan rekod transaksi oleh para pelanggan kami. Sebagai contoh, apabila anda membeli emas bernilai RM1 di HelloGold (ya, serendah RM1 sudah boleh beli emas), rekod tersebut akan kami hantar ke blockchain dan tiada sesiapa boleh ‘reverse’ atau padam rekod tersebut termasuk kami sendiri.
GOLDX & HelloGold Token (HGT) dibangunkan menggunakan teknologi Ethereum Smart Contracts.
Seterusnya, kami menggunakan Solidity & Ethereum ketika menerbitkan cryptocurrency bernama HelloGold Token (HGT) semasa Token Sale (atau digelar ICO) pusingan pertama pada tahun lepas. Dan, baru-baru ini, kami menggunakan Solidity & Ethereum pada token berasaskan emas sepenuhnya (fully-allocated gold backed token) kami, GOLDX untuk pasaran cryptocurrencies.
Apa itu RubyConf Malaysia? Bagaimana anda boleh melibatkan diri?
RubyConfMY adalah aktiviti tahunan yang menghimpunkan para software engineer khususnya Rubyists dari serata dunia. Pada tahun 2017 lepas, kami mengadakannya di MaGIC, Cyberjaya dan dihadiri oleh 300+ peserta.
Dari kiri: Vladimir Dementyev (AnyCable), Alex Topalov (Shopify), saya, Aaron Patterson (GitHub)
Saya adalah sebahagian daripada committee members untuk RubyConfMY 2017. Jimmy Ngu, pengarah projek dan juga rakan saya mempelawa saya untuk turut serta membantunya menjayakan conference tersebut.
Kenapa Rails Girls KL? Bagaimana anda boleh menjadi seorang mentor?
Semasa sesi RailsGirls KL
RailsGirlsKL pula adalah salah satu lagi acara untuk komuniti Ruby. Ia adalah gerakan global di mana setiap komuniti tempatan hadir dan menjayakan RailsGirls mereka sendiri di bandar mereka. Motifnya adalah untuk memperkasakan golongan wanita yang minat untuk menceburkan diri ke dunia teknologi menggunakan bahasa programming Ruby dan framework Rails.
Bersama para mentor RailsGirls KL
Saya menyertai RailsGirlsKL sebagai volunteer/mentor selepas terlihat satu post di dalam group komuniti Ruby tempatan mempelawa mereka yang berpengalaman untuk turun sama-sama membantu.
TechLadies KL Batch #1
Selain daripada RailsGirlsKL, saya juga merupakan mentor TechLadies. TechLadies adalah sebuah komuniti daripada Singapura yang menawarkan bootcamp Ruby on Rails mereka sendiri bagi kaum wanita yang mahu menceburkan diri ke dalam dunia teknologi. Pada tahun lepas, mereka hadir pertama kali ke Kuala Lumpur dan mereka bercadang untuk hadir lagi pada tahun ini dan tahun-tahun akan datang.
Apa cabaran terbesar pernah anda hadapi sepanjang menjadi seorang programmer/developer?
Spesifikasi yang tidak jelas. Nasihat buat para pemilik idea/produk: sila terangkan dengan jelas dan sejelas-jelasnya kepada developer anda bagaimana anda mahukan produk (website, mobile application dll) dibina. Kami tidak mempunyai mesin X-ray yang boleh scan apa yang ada di dalam fikiran dan imaginasi anda.
Adalah satu kerugian masa dan kos bagi kedua-dua pihak jika apa yang telah dibangunkan tidak menepati apa yang anda hajati asbab spesifikasi yang tidak jelas diterima oleh kami, para pembangun. Bantu kami untuk kami bantu anda.
Sketches yang saya buat untuk satu projek dengan Grab pada tahun 2014 (dikenali sebagai MyTeksi ketika itu). Visual sangat membantu dalam apa jua keadaan.
Cabaran lain adalah apabila bekerja dengan teknologi atau tools baru yang tidak lengkap dokumentasinya. Apabila berdepan dengan situasi seperti ini, hanya dua pilihan tersedia; lupakan sahaja teknologi/tools tersebut atau buka GitHub dan baca source code projek tersebut. Saya tidak sarankan anda membaca source code projek tersebut jika anda sedang mengejar deadline! Move on and find another tool that can solve your problems.
Sepanjang menjadi developer, siapa telah anda berjumpa?
Ramai. Baik dari usahawan, blogger, pendidik, penyelidik, pengarah, pemimpin dan ramai lagi daripada pelbagai latar belakang. Sudah semestinya, paling ramai adalah daripada kalangan developer juga.
Saya banyak mencipta kenalan baru di acara-acara luar seperti tech talks, meetups, conferences, hackathons dan lain-lain. Network is net worth.
Gambar saya pada tahun 2015 bersama idola & guru JavaScript saya, Tuan Zulfa
Selain itu, saya juga aktif di media sosial seperti Twitter dan Facebook. Saya mengikuti berita-berita berkaitan industri daripada media sosial dan menambah jaringan kenalan baru melalui medium ini. Ada juga yang saya follow di Twitter terlebih dahulu sebelum bersemuka di conference.
Apabila rakan-rakan / keluarga anda mengetahui bahawa anda seorang programmer/developer, apa yang mereka katakan atau bertanya?
Mereka akan selalu tanya kenapa sesebuah syarikat teknologi perlukan ramai orang untuk membangunkan sesebuah projek. Saya selalu menjelaskan bahawa sesebuah projek itu dijayakan hasil kombinasi pelbagai kepakaran dan latar belakang. Bergerak solo itu boleh, tetapi kita akan bergerak dengan perlahan.
Saya juga selalu dipersoal kenapa program/software harus selalu dikemaskini kepada versi terkini dan apa kesannya jika tidak dikemaskini. Di sini bermula penerangan kenapa software engineers diperlukan untuk terus menambahbaik sistem dan membuang masalah (bug) yang timbul.
Terang sesuatu kepada rakan-rakan & ahli keluarga anda seperti anda menerangkan sesuatu kepada kanak-kanak. Gambar ketika CoderDojo pada tahun 2016 (sesi pembelajaran programming untuk kanak-kanak).
Bukan senang sebenarnya mahu terangkan kepada mereka yang software engineer ini sebenarnya bukan duduk goyang kaki sahaja di depan komputer setiap hari.
Apa yang akan anda memberitahu orang yang berminat untuk menceburkan diri bidang programming?
Jangan mudah putus asa. Cari mentor. Belajar bagaimana untuk bertanya dan bertanya dengan betul. Mula sebelum bersedia. Programming bukan sains melancarkan roket ke angkasa. Ia mudah jika anda bermula dengan betul dan bersama mentor atau guru yang betul.
Saya sendiri berguru ketika mahu belajar Ruby on Rails. Terima kasih kepada MaGIC dan CodeMalaysia yang menerima saya sebagai pelajar kursus jangka pendek Ruby on Rails pada tahun 2015. Belajar sendiri sangat berbeza dengan belajar secara berguru. Ia umpama menyeberangi sungai yang deras menggunakan titi sambil dipimpin oleh seseorang yang sudah lali menyeberangi sungai tersebut.
Gambar bersama rakan-rakan program CodeMalaysia
Jangan berhenti apa yang sudah anda mulakan dan lakukannya sehingga habis. Apabila belajar programming, bermula dengan asas terlebih dahulu. Kemudian, cipta sesuatu dengannya. Contoh paling mudah, bina To Do List anda sendiri dengan bahasa programming yang sedang anda pelajari.
Belajar daripada projek-projek orang lain. Contohnya, jika anda membina To Do List sendiri, rujuk ToDoMVC dan lihat bagaimana ia dihasilkan menggunakan teknologi/library/framework yang berbeza.
Cari cara paling berkesan untuk anda belajar. Ada orang selesa belajar dengan membaca tutorial, buku dan eBook. Ada orang suka dan selesa melihat dan menonton video tutorial terlebih dahulu sebelum ‘klon’ semula ke dalam projeknya sendiri. Saya adalah orang visual dan saya suka belajar dengan video. Udemy, Lynda, Coursera dan banyak lagi adalah laman web kegemaran saya untuk belajar topik-topik baru.
Apa lagi projek dalam perancangan?
Di HelloGold, saya dan ahli pasukan sedang agresif membangunkan inisiatif teknologi kami seperti yang telah kami kongsikan di dalam Whitepaper kami. Dalam masa terdekat ini, kami akan memulakan operasi di Thailand dan seterusnya mengembangkan bisnes kami di negara-negara serantau yang lain secara berperingkat.
Secara peribadi, saya bercadang mahu membangunkan sebuah lagi projek berasaskan pendidikan di mana saya mahu kongsikan ilmu-ilmu teknikal saya untuk manfaat ramai orang khususnya mereka yang mahu menceburkan diri di dalam dunia teknologi.
Mungkin saya akan bermula dengan video di YouTube terlebih dahulu seperti yang telah saya buat untuk pembaca blog seperti di sini dan di sini. Atau dalam bentuk vlog. Saya akan kongsikan lebih lanjut di Facebook saya kelak.
Siapa cakap shooting video senang? Cuba dulu baru tahu.
Jika anda tidak menguruskan sebarang projek pembangunan, apa yang akan anda lakukan atau bagaimana kehidupan anda?
Saya akan gunakan masa sebaik mungkin untuk explore teknologi-teknologi dan tools baru yang boleh memberi manfaat kepada diri saya dan menambah produktiviti kerja saya dan pasukan saya.
Saya bukan seorang yang gifted walaupun ada yang fikirkan saya seperti itu. Saya melalui proses yang sama seperti orang lain. Belajar dan terus belajar. Dan, trial and error adalah lumrah bagi setiap developer termasuk saya.
Gambar ketika kelas UI/UX bersama rakan-rakan UI/UX designer KL pada tahun 2015. Belajar & mengajar adalah terapi terbaik buat saya.
Selain itu, saya juga gemar meluangkan masa di GitHub dan ProductHunt. Boleh dikatakan hampir setiap hari saya akan membuka laman web tersebut untuk mengikuti perkembangan baru dalam dunia teknologi.
Di GitHub, saya mengikuti ramai software engineer yang lebih berpengalaman daripada saya. Apabile mereka “star'”sesebuah projek, ia akan keluar di ‘feed’ GitHub saya. Sekaligus, saya juga akan dapat tahu projek-projek ‘cool’ yang boleh saya gunakan dalam aktiviti pembangunan projek-projek saya.
Selain itu, saya juga kerap menyumbang (contribute) kepada projek-projek sumber terbuka (open-source projects) yang banyak saya gunakan dalam aktiviti seharian saya. Ramai yang selalu salah faham apabila kita menyebut ‘contribute’ di sini. Anda tidak semestinya menghantar Pull Request yang mengandungi new feature atau bug fix (kod). Jika anda kemaskini Wiki atau dokumentasi dan menjawab soalan-soalan orang lain di ruangan Issues juga dikira sebagai ‘contribution’.
Di ProductHunt pula, saya gemar melihat seksyen Tech di mana setiap hari terdapat pelbagai laman web, aplikasi dan tools dikongsikan oleh para komuniti. Boleh dikatakan, ia seperti ‘wall of fame’ bagi para pencinta teknologi di mana jika projek anda terpilih di dalam ‘featured area’, anda akan dihujani dengan ribuan trafik dan pengguna baru secara percuma.
Saya juga sentiasa mengikuti perkembangan lain melalui laman-laman seperti HackerNews, DesignerNews, TheVerge, Amanz, TechInAsia dan Quora. Selain itu, apabila berkelapangan, saya akan membuka dan membaca emel newsletter yang dihantar oleh pemilik-pemilik blog yang pernah saya masukkan emel saya untuk menjadi subscriber mereka. Contohnya, RubyWeekly.
Apa yang menarik mengenai anda yang mungkin orang lain tidak sangka?
Saya tidak boleh makan pedas. Sejak dari kecil, saya tidak boleh makan makanan pedas. Sentuh sahaja makanan pedas, saya akan menjadi tidak senang duduk, mata berair, kepala gatal, hidung jadi seperti air paip, mata bertukar merah – seperti cacing kepanasan. Rakan-rakan yang baru mengenali saya selalunya akan ketawa melihat saya dalam kepedasan.
Toleransi saya dengan pedas sangat sensitif dan kritikal. Tidak pedas bagi orang lain tidak bermakna tidak pedas bagi saya. Jika makan nasi lemak, saya letak sambalnya jauh-jauh dan cuba sedikit demi sedikit kerana stereotaip saya apabila mendengar perkataan tidak pedas sangat tinggi.
Bila saya boring, saya suka doodle. Kad raya untuk kawan-kawan pun saya doodle.
Bagaimana seseorang menggambarkan diri anda?
Ini soalan yang mencabar. Jawapan jujur daripada saya adalah, saya tidak tahu. Mungkin detail-oriented, teliti dan perfectionist. Kerana itu adalah sifat saya. Mata saya mudah melihat apa yang orang lain selalu terlepas pandang.
Jika saya review Pull Request (PR) rakan-rakan sepasukan saya, ianya akan mengambil beberapa pusingan sebelum saya ‘Approve & Merge’ PR tersebut kerana ada beberapa ‘tiny details’ yang saya berjaya tangkap semasa proses review.
Ada juga yang kata saya seorang yang serius. Saya setuju dengan statement tersebut. Saya kurang gemar main-main. Tapi, tak bermakna saya tak boleh bergurau.
Apa lagi yang anda ingin anda kongsikan kepada pembaca OtakIt.my?
Tech community kita di Malaysia tidak sebesar seperti komuniti di bandar-bandar dan negara-negara lain. Saya ingin mengambil kesempatan ini untuk menyeru anda untuk sama-sama berkongsi ilmu dan kepakaran anda dengan komuniti.
Setiap daripada kita memainkan peranan masing-masing dalam membentuk komuniti dan masa depan dunia teknologi tempatan. Jika tidak mampu menghasilkan artikel blog atau video tutorial, berkongsi tips dan maklumat di Facebook dan Twitter sudah memadai. Sedikit lebih baik daripada tiada langsung.
Sertai komuniti dan bergerak bersama-sama komuniti. Tidak perlu tunggu kita betul-betul bersedia atau menjadi expert untuk berkongsi sesuatu ilmu. Ambil kesempatan dalam pertemuan sesama rakan komuniti seperti semasa meetup untuk kongsikan satu dua tips yang anda baru pelajari.
Sesi pengenalan kepada Ruby on Rails yang saya buat untuk rakan-rakan saya pada tahun 2015. Saya (kiri, tengah) sedang sibuk membetulkan projektor. It’s okay untuk bermula kecil. Impact matters.
Saya sendiri sentiasa cuba untuk mencari tip-tip segar dan bermanfaat untuk saya kongsikan dengan rakan-rakan komuniti dalam pertemuan bulanan RubyTuesday kami dan sentiasa cuba untuk menghadirkan diri.
Baru-baru ini, saya menjadi speaker di RubyTuesday meetup dan ia merupakan satu pengalaman ‘public speaking’ yang menyeronokkan. Anda harus mencubanya sekurang-kurangnya sekali dalam karier anda sebagai software engineer. Saya yakin ramai akan berterima kasih kepada anda dengan ilmu yang bakal anda kongsikan.
Sertai saya & pasukan di HelloGold
Suasana kerja di HelloGold
Jika anda berminat untuk bersama pasukan HelloGold, kami sentiasa gembira dan teruja menerima ahli pasukan baru yang boleh membawa impak maksima kepada pasukan kami. Rujuk laman JobStreet dan StartupJobs kami untuk maklumat lanjut.
Follow Zulhilmi di media sosial
wah terbaik zulhilmi
Tahniah, dan terbaik tuan Zulhilmi Zainuddin!
Kini, saya lebih yakin dengan HelloGold!
Selepas ini, lebih berkeyakinan untuk berkongsi tentang HelloGold kepada kenalan.