Menyerap Ilmu Yang Luas Ke Dalam Hati

4.1.15

Kisah disebalik JUTAWAN SENDAYU TINGGI memakai Purdah

05:00 Posted by Shichibukai Encraptor , , No comments

jutawanSendayuTinggiPurdahRasanya sudah ramai yang tahu tentang kesusahan lampau saya kerana banyak majalah menyiarkan cerita itu. Niat saya tiada lain, hanya mahu menjadi pencetus semangat untuk wanita di luar sana. Biar mereka tahu, sebagai manusia jangan terlalu mengharapkan orang lain untuk berjaya dalam hidup.

Saya pernah jadi penoreh getah, sambil-sambil itu melakukan bermacam-macam kerja kampung untuk menampung hidup. Malah pernah juga cuba berniaga kedai runcit, menyertai MLM dan bekerja kilang.

Apabila berjaya dengan perniagaan Sendayu Tinggi, saya mula sedar manusia perlu ada tiga sifat jika mahu berjaya. Pertama, mereka mesti mengorak langkah untuk memulakan perkara kecil dalam diri. Kemudian, jangan pernah berkata tidak sebelum mencuba kerana tiada apa yang mustahil. Ketiga, jangan suka menyalahkan orang lain.

Nilai sepuluh sen

Bila sudah berjaya mengumpul kekayaan, tiap-tiap tahun saya pergi umrah. Ada banyak peristiwa yang dialami di tanah suci namun ada satu pengalaman yang paling menarik. Ia berlaku ketika saya tidur lalu bermimpi, satu suara menyuruh saya membaca beberapa ayat daripada surah Al-Baqarah.

Sekembalinya saya ke tanah air, saya terus mencari tafsir Al- Quran. Saya mendapati antara maksud ayat yang disuruh baca itu ialah mereka yang mendapat hidayah namun jika memalingkan mukanya, mungkin tiada lagi hidayah untuknya selepas itu.

Saya memang sudah lama terdetik mahu berganjak ke alam (fasa) lain sebaik sahaja usia mencecah 40 iaitu membuat persediaan untuk mati. Saya mula melihat betapa kehidupan di dunia ini sangat singkat, indah dan perlu dinikmati. Saya sedih mengenang ramai orang yang berjaya dalam perniagaan tetapi hidup tidak bahagia...

Ketika saya mengejar dunia, hidup dirasakan huru-hara. Pernah saya beli sebuah kereta dengan harga RM1 juta. Setiap kali tiba di satu-satu tempat, saya senang melihat banyak mata memandang dan berbisik-bisik kagum. Namun lama-kelamaan saya tersedar, rasa bangga melihat kekaguman orang itu menimbulkan perasaan riak dan mahu menunjuk-nunjuk.

Jika syiling sepuluh sen terjatuh, pernah satu ketika saya tidak mahu mengutipnya semula. Waktu itu saya memikirkan kelas sebagai seorang jutawan. Tetapi hari ini, saya tidak mahu lagi bersikap begitu. Saya mahu buang rasa riak, sebab nilai duit sepuluh sen itu besar nilainya pada sesetengah orang dan tidak patut dibazirkan begitu sahaja.

Saya tidak pandai mengaji dan tidak tinggi ilmu agama. Jadi saya mengupah seorang ustazah yang tinggal bersama di rumah ini untuk mengajar serta seorang ustaz untuk berkongsi ilmu agama. Sehari setiap minggu, rumah saya dibuka untuk orang ramai menyertai majlis ilmu yang dibuat di sini.

Impian saya yang masih belum tercapai ialah membina sebuah kompleks hasil perniagaan. Di kompleks berkenaan saya mahu membangunkan aktiviti dakwah di samping memberikan kehidupan kepada fakir miskin menerusi perkongsian ideologi perniagaan.

Saya tidak mahu golongan susah yang saya bantu ini memandang saya sebagai sumber kewangan. Saya tidak memberikan mereka ‘ikan’ tetapi ‘pancing’ untuk mengubah kehidupan. Caranya saya beri mereka produk untuk dipasarkan. Saya juga mengambil kuih, kerepek dan lain-lain daripada mereka untuk dijual.

Satu lagi impian yang sedang diusahakan, saya mahu bina sebuah rumah perlindungan untuk anak yatim piatu dan mualaf. Rumah sudah ada, tenaga pengajar pun tidak ada masalah. Cuma tinggal mencari bayi dan kanak-kanak untuk dibesarkan dengan pendidikan akademik berserta ilmu agama di rumah tersebut.

Kini mula berpurdah

Purdah ini sudah lima bulan saya pakai. Bukan sebab alim, dan bukan juga sebab H1N1. Sebaliknya inilah antara cara saya menjaga hati daripada dirasuk perasaan riak. Bila mengenakan purdah, tiada orang yang mengenali saya jadi tiada lagi layanan istimewa yang biasa saya dapat.

Saya tidak malu untuk mengaku, selama ini memang saya pakai tudung tetapi hati masih kotor. Ini kerana walaupun memakai tudung saya sering kalah bila syaitan berbisik supaya bersolek setiap kali ke luar rumah sesuai status selaku pengasas produk kecantikan.

“Kau kenalah pakai baju yang menampakkan kelangsingan, barulah orang tahu produk kau bagus” – itu juga antara bisikannya yang sering menewaskan saya. Barangkali ketika itu saya antara wanita akhir zaman yang disebut dalam hadis ‘menutup aurat tetapi masih bertelanjang’ .

Sebagai majikan pula, kadangkala saya memarahi pekerja kerana mahu semuanya serba sempurna. Saya menjadi sungguh takut apabila tersedar dan berfikir bagaimana pula saya di sisi majikan paling besar iaitu Allah Taala? Dia pun berhak marahkan saya kerana sungguhpun solat, di mana zikir dan amalan sunat bagi menyempurnakan lagi amalan kepadanya?

Syukurlah, perubahan yang dibuat melimpahkan bahagia dalam hidup. Anak-anak (Nurhayati, Alif Syukri, Aiman Hazim, Nurazizah dan Nurain Sufiyah) dan suami melengkapkan lagi dunia wanita ini.

Kini hari-hari saya lalui sambil meneguk kelazatan ilmu akhirat. Melayan keletah anak-anak, mengulit orkid, epal Madura, daun kesum, kedondong, kari, limau purut dan pokok herba lain; juga melayan burung, ayam, lampam, puyuh, puyu dan tilapia melengkapkan lagi kediaman bak syurga dunia yang saya gelar Sorga Ammi.

Sesudah solat Subuh, tatkala berdiri di balkoni rumah menyaksikan kabus berlalu dibawa angin sambil merenung kalam-kalam bukit , saya semakin yakin betapa perlunya saya bersyukur menjadi hamba yang dilimpahi kasih sayangNya.

3.1.15

Dunia Kegemilangan Facebook Bakal Berakhir

20:34 Posted by Shichibukai Encraptor , , , , No comments

Sekitar tahun 2000 , search engine adalah merupakan “raja” di internet, semua orang menggunakan search engine dan Google adalah raja utama di dalam dunia search engine di internet. Kemudian, sekitar tahun 2010, muncul pula social network yang mula mencabar kedudukan search engine sebagai raja di internet. Orang ramai berpusu-pusu membuka dan menggunakan Facebook di dalam kehidupan seharian.
Pelbagai lagi laman-laman social network yang lain muncul seperti cendawan selepas hujan, linked in, pinterest, instagram dan bermacam-macam lagi. Manakala dalam bidang search engine, sudah tiada langsung kemunculan pemain baru, yang ada cuma Google yang terus bertahan dan kadangkala, kelihatan goyah dan turut sama ingin membina platform social network mereka sendiri, seperti Google+.
Terkini.. satu lagi bidang baru dijangka akan merampas kedudukan 2 raja internet sebelum ini, iaitu bidang aplikasi permesejan.
Fred-Wilson-700x525
Fred Wilson, iaitu seorang pelabur kapitalis yang pernah melabur di dalam Twitter, Zynga, Tumblr, FourSquare dan banyak lagi, berpendapat, tahun 2014 adalah merupakan tahun pengakhiran dunia social network. Fasa dunia social network sudah mencapai tahap matang, walaupun masih ada aplikasi-aplikasi baru yang di bina di dalam bidang social network, tetapi ianya sudah tiada inovasi baru. Pemain-pemain besar dunia sosial network seperti facebook dan twitter sudah membina tapak yang kukuh dan selamat untuk diri mereka di dalam dunia tersebut.

Dimasa kan datang, aplikasi permesejan akan mengantikan social network.
Dunia permesejan adalah “the next big thing” selepas google dan facebook. Kebanyakkan ahli keluarga menggunakan WhatsApp Group berbanding Facebook, manakala golongan remaja pula lebih ramai menggunakan Snapchat berbanding Instagram.

Sebuah carta yang dihasilkan oleh pihak Business Insider juga menunjukkan trend bahawa, dunia aplikasi permesejan mempunyai kadar pertumbuhan yang sangat pesat berbanding dunia social network. Dijangkakan, pada tahun 2015, jumlah pengguna aplikasi permesejan akan mengatasi pengguna aplikasi social network.
bii-sai-cotd-social-messaging-apps-1-700x525
Perkara ini sebenarnya telah disedari oleh pihak facebook, disebabkan itulah Facebook sanggup membeli WhatsApp dengan nilai $19 billion pada awal tahun lalu.
Kepada usahawan-usahawan internet sekalian, ini adalah merupakan berita penting untuk anda. Jika dulu ramai yang mengiklan di google dan facebook.. akan datang, tumpuan para usahawan akan bertukar ke whatsapp, LINE dan WeChat pula.
Sudahkah anda bersedia dengan gelombang perubahan ini?

24.12.14

Improving Your Programming Skills: All You Need Is Motivation

22:15 Posted by Shichibukai Encraptor , No comments

 GraduanICT2In the past many people could come up with easy excuses for not learning a skill. College, after all, is quite expensive! Time consuming! I’ve even heard the lamest excuse of all where people who did go to college make the excuse that their skills are poor because their school didn’t have a good program in their field of study. Hogwash!

I think my school’s Computer Science program was actually pretty good. Now in the real world, I feel I’m a really good developer. But I also have come to recognize that algorithms are my weak spot. Thankfully in this day and age all you really need is the motivation to go look for the knowledge you need and take the time to absorb it. I’ve found MIT’s Open Courseware to be a really excellent resource in this regard. If you were like me an applied at MIT you know that the tuition costs were upwards of $30k… way beyond the means of someone who made “okay” grades from Hannibal, MO. What is awesome is that you can still benefit from the lectures, notes, and exams if only you have the motivation to do so.

So I’ve been working my way through Introduction to Algorithms, which come complete with captions for the hearing impaired (like me)!

Really awesome stuff. Which gets me back to my original point. We hear in the news everyday that there are so many job losses in the unskilled job market or even in certain skilled markets that were traditionally profitable. Meanwhile, EVERY SINGLE COMPANY I KNOW HAS BEEN DESPERATELY LOOKING FOR DEVELOPERS! And even more important, I’ll tell you from experience of being the interviewer for over 100 interviews (and also being the interviewee for several) that interviewers don’t give jack about whether you have a Bachelor, Masters, or even a PhD degree, just whether or not you have good problem solving skills, work well with others, and can write good clean code. So why don’t you help the economy out and start watching lectures and completing coursework for MIT Introduction to Computer Science today?

From http://blog.james-carr.org/2012/02/11/you-only-need-motivation/

Suara Hati Ayah: Jangan takut wahai anakku dengan PhD itu ..

22:00 Posted by Shichibukai Encraptor , , No comments

Salam
Insyaallah , tidak berapa lama lagi anakku akan melanjutkan pelajarannya ke peringkat PhD. Oleh itu, saya mengambil kesempatan untuk menulis untuk nya dan ..  untuk sekalian umat islam di seluruh dunia yang tahu berbahasa Melayu.
Insyallah.
Bacalah wahai anakku.

Gerungggg   mu buat Ph.D?  Blur bang?

Tahniah dah dapat offer dari JPT untuk menjalankan kajian di peringkat PhD.  Itu satu langkah pertama yang sangat berani.  Sekuat-kuat manusia seperti Badang, Hang Tuah, Hang Jebat, Hang Kasturi, Hang Lekir, Hang Lekiu, Tok Kenali, dato' Bahaman  dan ramai lagi hulubalang melayu zaman dahulu kala dan Mahatma Ghandi (Perdana Menteri India) tidak ramai yang sanggup belajar ke peringkat paling tinggi iaitu PhD.  Anda salah seorang jer yang berani menyahut cabaran tugas sejak berada di university.  Oleh itu dikesempatan ini izinkan saya mengucapkan tahniah setinggi-tingginya kepada anda kerana niat anda yang berani dan suci murni ini.

Berikut saya sampaikan sedikit sebanyak petua untuk berjaya PhD.  Bacalah ..  dengan dada dan fikiran terbuka.  Jika ada mutiara gunapakailah dan sebar kepada orang-orang lain dan jika semua ini adalah sampah belaka , saya rela dibuang jauh jauh dan dihanyut pergi bersama sama toufan Sandy di New York City 27 – 31 Okt 2012.  Bacalah…

Langkah-langkah:  bila baru nak start buat phd

1.       Cari tesis di Malaysia , tesis terhampir dengan tajuk kajian anda.

2.       Cari tesis di luar Negara walaupun sebuah, tesis terhampir dengan tajuk kajian anda.

Ini adalah untuk anda mengetahui tahap atau keluasan bidang kajian tersebut.

3.       Setelah memperolehi tesis tesis tersebut, baca abstract, Bab 1, Bab terakhir dan recommendation/ cadangan yang telah diajukan oleh pengkaji di atas.  Lihat dengan rapi semua buku-buku rujukan, journals, proceedings yang telah digunakan oleh tesis-tesis tersebut. Beri banyak masa buat analisa bahan rujukan yang ada dalam tesis ini. Cuba kenalpasti KITAB utama,  theoretical framework/ conceptual framework yang telah diutarakan oleh pengkaji di atas.

4.       Tabiat membaca jurnal dan buku-buku : diminta jangan membaca bahan-bahan ini seperti anda membaca akhbar harian METRO, majalah sukan FUTBALL dan lain-lain.  Anda diminta mempunyai disiplin tinggi untuk membaca benda alah ini.  Mengikut pengalaman saya membaca setiap paper journal sebanyak 3 kali banyaknya. Catit tarikh bacaan tersebut.  Bacaan pertama ialah scanning,  bacaan kedua ialah mengenalpasti scope kajian, research gap, findings dan methodology. Buat bacaan dalam kadar slow-slow sedikit.  Bacaan terakhir ialah menulis rumusan 1 atau 2 paragraph.  Gunakan jadual matriks yang pernah saya syurkan kepada anda terdahulu.  Tidak memenuhi jadual matriks ..ini bermakna ..anda telah gagal membaca apa-apa.

5.       Bina tabiat menanya soalan yang produktif dengan penyelia utama PhD anda.  Buat catitan apa yang dibincangkan.  Sebaik-baiknya gunakanlah recorder untuk merakam semua perbualan anda.  Bila sudah selesai, cuba cari sudut-sudut terpencil dalam library untuk mendengar balik perbualan anda dengan SPVR tadi.  Insya allah Berjaya!

6.       Elakkan dari perangkap mengambil andaian bahawa Tahun 1 PhD adalah honeymooning year.  Ramai pelajar Malaysia PhD di luar Negara tertipu dengan sikap ini di mana pada tahun ini lah mereka merantau seluruh benua Eropah, Amerika Utara, Afrika Utara dan tidak ketinggalan tanah suci Mekah/ Madinah.  Tahun ini juga mereka mula belajar/ berjinak-jinak dengan batang golf, topi bintang golf TIGER WOODS hinggakan masuk library Universiti Birmingham , England jam 0900 mlm waktu Winter pun mereka akan tetap memakai topi golf TIGER WOODS ini.  Bila banyak berjalan, kita akan dapat ramai kenalan-kenalan baru.  Ramai kenalan baru , ada saat happy dan ada saat dukacita.  Perkara dukacitanya ialah .. rumah kita di London akan menjadi BED and BBREAKFAST hostel CYS semua kenalan kita dari Scotland, Ireland, France, USA bila mereka mau melawat kota bandaraya LONDON.  Semua telur ayam, sardine dan susu segar dalam fridge kita akan habis.    Baik sungguh hati tuan hamba. Terima kasih tuan!

7.       Elakkan dari membina computer systems PhD terburu-buru.  Bila siap system and mula menulis tesis kita akan berhadapan dengan 3 masalah terbesar.  Tiga masalah besar ini lah punca utama mengapa ramai pelajar PhD tidak dapat menyelesaikan proses penulisan tesisnya yang sudah berkurun-kurun lamanya. Pertama anda belum yakin sepenuhnya apakah research gap selama ini (sebelum anda terjun ke dalam dunia PhD).  Kedua ialah data yang ada tidak diproses, analysis dengan baik menggunakan teknik programming, software secara efisyien dan bijaksana.  Ketiga disebabkan anda lalai membuat Literature Review secara menyeluruh/ exhaustive pada tahun 1 dan 2, masalah terbesar anda ialah penulisan tesis bab terakhir tidak mempunyai rujukan, penemuan anda tidak mempunyai apa apa kaitan dengan penemuan researchers terdahulu atau terkini, hujah mempertahankan penemuan anda kelihatan lemah dan tidak mencapai tahap kesarjanaaan di peringkat PhD.  Tidak lupa juga, kadang-kadang ada pelajar tidak mempunyai kekuatan dalam penulisan tesis dalam bahasa inggeris.  Ini memainkan peranan penting bila supervisor akan berkali kali menegur .. I just could not figure what the hell you mean by these pages!   Di saat saat tahun 4 , 5 di luar Negara dengan kotak-kotak hadiah dan jualan sales dari Car Boot sales di White Chapel, Aldgate East and Wembley dan juga kereta merx E2.30  second hand berada dalam otak anda bercampur dengan ketakutan kita untuk berjumpa projek supervisor bila Profesor Brown memanggil anda berkali-kali,  minat anda untuk menyiapkan tugas utama PhD akan terus luntur, tenggelam dan … segala-segalanya akan menjadi memori penuh warna-warni di London.

8.       Buat tabiat menulis paper proceedings dan jurnal.  Dengan cara ini, focus anda terjaga.  Pada tahun 1 PhD, pembaca-pembaca akan Nampak ..hasil tulisan ini adalah mereka yang baru terjun dalam dunia research,  buat 3 paper dalam tahun 1 sekurang-kurangnya, hantar jauh-jauh sampai ke Indonesia Institut Teknologi Bandung ;  Australia, Univ of Deakins  dan Japan, Univ of Waseda pada tahun 2 PhD buat 2 paper    yang Nampak lebih canggih dan mantap dibaca di mana pembaca boleh melihat sudah ada method yang tepat dan proses susulan dari metodologi di atas  dan akhirnya pada penghujung tahun 3 PhD buatlah 1 atau 2 paper untuk jurnal berimpak tinggi.  Dengan target begini, Allah Taala akan membantu anda dan akan mengganggap semua masa susah dan senang anda di London , satu amal ibadat yang DIA redhai.

9.       Bila menulis tesis, elak dari menulis dari saat sejurus selepas tamat tahun 3 baru nak mula menulis tesis.  Mulakan dengan penulisan tesis PhD pada tahun 1 lagi.Bukak bab 1 introduction, bab 2 literature review dan bab 3 research methodology serentak dalam computer notebook anda sepanjang masa.  Bila ada idea apa-apa, tanyalah diri anda ada apa-apakah fakta yang sesuai untuk dimasukkan ke dalam mana mana bab ini.   Belajar words outlining.  Saya dapati banyak masa dapat dijimatkan dengan kemahiran outlining dalam words 2010 ini.  Cubalah anakku.

10.   Simpan backup / harddisk/ second back up , third back up/ simpan dalam cloud.  Ada kenalan saya di Birmingham, di saat saat dia mahu pulang ke Malaysia, beliau kehilangan 5 paspost Malaysia dan juga 1 set computer PhD.  Pada masa itu , semua penulisan terbaru selama 4 bulan terkini ,,,,  beliau tidak membuat sebarang backup.  Mengikut temubual , rakan saya ini sibuk dengan servicing Merx 2.3E dia di garaj orang Pakistan/ African brothers berhampiran rumah sewanya.  .  Bayangkan kesusahan yang dialami ini.  Dari jauh, saya dengar dia tidak Berjaya menyerahkan tesis PhD tersebut.  Satu kenangan pahit, bukan?

11.   Sebagai orang islam, banyakkan masa sembahyang hajat dhuha, tahajud ..mintak pertolongan Allah siang dan malam.  Dalam satu ayat dalam doa saya , saya masukkan ayat begini ‘..  jangan sia-siakan masa pengorbananku ini untuk memperolehi PhD demi dunia islam keseluruhannya dan ..ya ROBB (tuhanku) ..janganlah jadikan aku ..satu bahan ketawa oleh pihak JPT, KPTM, Universiti, politeknik, anak anak cucu ku ..ahli masyrakat kampongku kerana aku tewas dalam medan PhD… ya Allah ..bantulah aku.  Jika orang-orang kafirpun kau boleh membantunya .. apa kiranya .. nikmat PhD ni kau kurniakan juga pada diri ..yang serba lemah ini.  Aku tak tahu macam-macam kerana .. kuasa tahu segala-galanya adalah hak milikmu se orang. Ya ROBB  ..’

12.   Sekian.  Maaf ku pinta jika ada apa apa yang tidak bagus dibaca dan tidak enak difahami oleh kalian.  Saya hanya menyampaikan apa yang saya tahu jer untuk maksud berkongsi-kongsi ilmu dan pengalaman.  Yang baik dari Allah dan yang tidak bagussssssshhhhhhhhhhhhhhhhhhhhhhhhhh …..  itu semua adalah kelemahan diri saya sendiri yang penuh dengan kealpaan dan kehinaan.

Wallah huaklam.

ayahandamu,

Sazali Khalid Ph.D ;  Masters Computer Education (Birmingham), BSc Operations Research (Leeds), GCE ‘A’ Levels  Grantham ;  PGCE (Penang);  Qualified Translator IPNMB (Wangsa Maju);  WSEAS Corfu Island 2005 ,  WSEAS Teneriffe Islands Spain 2006, 2nd International Conference Applied Probability and Simulations,   Hanoi , 2008.

Nine Things Developers Want More Than Money

21:57 Posted by Shichibukai Encraptor , , No comments

programmerMany of the developers I know have been programming since they were in junior high. Whether it was building text-based games on an Apple IIe or creating a high school football roster app in Visual Basic, it’s something they did for the challenge, for the love of learning new things and, oh yes, for the ladies. Ladies love a man who can speak BASIC to his Apple.

College graduates face a sad reality when they leave the protective womb of a university and have to get their first real job. Many of my friends found jobs paying around $25k out of school, and were amazed that the starting engineering and computer science salaries were nearly double that. But the majority of the engineers in my class didn’t become engineers for the money; we did it because it touched on a deep inner yearning to tinker and impress their friends. And did I mention the ladies?

Money is a motivating factor for most of us, but assuming comparable pay, what is it that makes some companies attract and retain developers while others churn through them like toilet paper?

Hygiene and Motivation
In the 1950s a researcher named Frederick Herzberg studied 200 engineers and accountants in the US. He asked them a few simple questions and came up with what is one of the most widely-accepted theories on job satisfaction called Two Factor Theory.

His theory breaks job satisfaction into two factors:

  • hygiene factors such as working conditions, quality of supervision, salary, safety, and company policies
  • motivation factors such as achievement, recognition, responsibility, the work itself, personal growth, and advancement

Hygiene factors are necessary to ensure employees don’t become dissatisfied, but they don’t contribute to higher levels of motivation. Motivation factors are what create motivation and job satisfaction by fulfilling a person’s need for meaning and personal growth.

Think of a large financial company like Countrywide or IndyMac. Although I’ve never worked for either, the stories I’ve heard indicate the hygiene factors are well taken care of: working conditions are good, supervision is reasonable, salaries are decent, they have good benefits, etc…

However, the motivation factors are, shall we say, incognito. As Herzberg noticed, this scenario leads to employees viewing the job as little more than a paycheck, which is probably all right for companies like Countrywide and IndyMac.

Take the flip side: a tiny startup in a dingy office with no windows, crappy benefits, little supervision (because the CEO’s on the road making sales), and no company policies (because the CEO’s on the road making sales). But the constant rush of learning, being responsible for the company’s success or failure (almost single-handedly at times), and believing in the company’s future growth makes this job much more desirable for many developers.

One of my early programming jobs was for a web consulting startup during the dot-com boom. There were 7 of us (we grew to 17 during the height of the boom) shooting each other with water pistols, throwing Nerf footballs around the office, and cranking out insane amounts of caffeine-driven code. We learned a new language every project and were always on the cutting edge.

I remember thinking that a company across town could have offered me a $15,000 dollar raise and I wouldn’t have taken it. The motivation factors were overpowering.

On the flip side, the benefits were terrible, the office was a series of tiny cubicles, gray from years of neglect – Smurf-blue network cables hung from the ceiling, and supervision was…well…non-existent. And although hygiene factors were lacking, developers flocked to work for this company and only one left while I was there. She was interested in a more stable work environment and better benefits, and went to work for a large financial institution much like IndyMac.

Rob’s Criteria for Keeping Your Developers Happy
If you want to collect a paycheck for 25 years and retire with a gold watch and a pension then go for companies that have the hygiene factors nailed. Stroll in at 8, head for the door at 4:59, and count the years until you’re kicking up your feet on a beach bar in Costa Rica.

But if you’re reading this, odds are that you aren’t the kind of person who never thinks about code after 5:01; you’re more likely to have a collection of DVDs that come up in an Amazon search for “Silicon Valley.” You’re probably one of those people who needs motivation factors or you go crazy with restlessness, and when the motivation factors are in place you’ll work ridiculous hours for low pay just because it’s so damn fun.

I talked to a dozen colleagues and pored over my own experiences to arrive at this list of nine software development motivation factors – Rob’s Criteria for Keeping Your Developers Happy.

There’s only one rule when determining your score: your vote doesn’t count unless you’re a developer. If you’re not in the trenches writing code then forward this article to someone who does and ask for their opinion. In addition to keeping management from making an unfair assessment, my greater hope is that this inspires conversation and forces management and developers to talk about these issues so we can get them out in the open.

Without further ado, here they are:

1. Being Set Up to Succeed
It’s a sad reality, but most software projects are set up to fail. Every developer has their horror stories; the “anti-patterns” of software project management. I’ve seen an architect given documentation for a legacy system that he pored over for week while designing a new interface for the product. After the design was complete he found out that the documentation was three years old and didn’t reflect several major changes the system.

I’ve spent hours preparing a detailed technical estimate only to be told that the real deadline, already set by product development, gives me half the time I need.

Realistic deadlines are a huge part of being set up to succeed. Developers want to build software that not only works, but is maintainable; something they can take pride in. This is not in-line with product development’s goals, which are for developers to build software that works, and nothing more.

The first thing to go when time is tight is quality and maintainability. Being forced to build crap is one of the worst things you can do to a craftsman. Delivering a project on-time but knowing it’s a piece of crap feels a heck of a lot like failure to someone who takes pride in what they build.

It’s critical to have buy-in to do things the right way, and not just the quick way. As one developer I talked to put it “Quality is as important as feature count and budget.”

Schedule is not the only way a project can be set up to fail, but it is the most common. Others include: being forced to use cheap tools (be it software or hardware), working with a partner who doesn’t deliver, bad project management (see #2, below), changing scope, and unspoken expectations, among others.

2. Having Excellent Management
Excellent management, both for projects and people, is a must-have motivation factor. This means no micro-managing, the encouragement of independent thinking, knowing what it takes to build quality software, quick decision making, and a willingness to take a bullet for the team when product development tries to shorten the schedule

These are the traits of an amazing software manager; the traits of a manager whose team would bathe in boiling oil to defend her, and work all-nighters to prove her right. When a manager takes bullets for the team, good developers tend to return the favor and then some. It creates an almost cult-ish loyalty, and the results are not only motivated developers, but insanely good software.

3. Learning New Things
Behavioral research indicates we’re happiest when we’re learning new skills or challenging old ones. A recent article cites a study by two University of Columbia researchers suggesting that workers would be happy to forgo as much as a 20% raise if it meant a job with more variety or one that required more skill. This research suggests that we are willing to be paid less for work that’s interesting, fun, and teaches us new skills.

This is why companies using Ruby can find experienced programmers willing to work for less than their typical salaries.The learning factor is huge when it comes to negotiating compensation.

Every developer I know loves playing with flashy new technologies. It was Perl and HTML in the mid-90s, ASP, PHP and Java in the late-90s, ASP.NET and XML a few years ago, and today it’s AJAX and Ruby (and in some circles ASP.NET 2.0). Give someone a chance to use these toys and they’ll not only be able to impress their friends, but fulfill that piece inside of them that needs to learn.

Keep a developer learning and they’ll be happy working in a windowless basement eating stale food pushed through a slot in the door. And they’ll never ask for a raise.

4. Exercising Creativity and Solving the Right Kind of Problems
Developers love a challenge. Without them we get bored, our minds wander, we balance our checkbook, check our email, hit Digg and Slashdot, read a few blogs, hit the water cooler, and see if any of our friends are online so we can once and for all settle the debate surrounding your uncle, the IDisposable interface, and that piece of toast shaped like the Virgin Mary.

I’ve watched developers on multiple occasions stay up until sunrise to solve a technical problem without being asked and without extra pay. The best developers are addicted to problem solving. Just drop a Sudoku in the middle of a group and watch them attack it.

Faced with the right type of challenge many developers will not stop until it’s fixed, especially if it requires a particularly creative solution. Faced with the wrong type of challenge and they’re back on instant messenger describing the toast.

The right type of challenge is a technical challenge that teaches a new skill, preferably one everyone’s talking about. One example could be: “Consume these five RSS feeds, aggregate the data, and display the headlines on a web page…and figure out how to use AJAX to make it cool.”

The wrong types of challenges are things like: “Fix that other guy’s code. You know, the one we didn’t fire because we were afraid he might cause problems. Well, he wrote a really crappy system and now we need to fix it and make it high-quality and maintainable. Oh, and you have until tomorrow.”

If your business doesn’t provide challenging work to developers, figure out how you can start. If there is no chance you’ll ever be able to provide challenging work, find developers who are into hygiene factors, because developers who need motivation factors won’t stay long.
5. Having a Voice
Developers are in the trenches, and they’re the first ones to know when a system or process is not working. One developer I spoke with told me:

“[I want] someone to listen to my problems and actually take them seriously. I’ve worked at a few places where more RAM, more hard disk space, or faster/dual CPUs were simply not a priority for the company, but it was incredibly aggravating to the point of impeding my work. At one place I worked, every time I wanted to compile the software I had to clear all my temporary files because I needed more disk space. Talk about asinine. Being forced to work using outdated technology is really frustrating.”

When a developer speaks, someone should listen. When several developers are saying the same thing, someone should listen and act…quickly.

6. Being Recognized for Hard Work
As engineers we love building things that impress ourselves and our friends. At least the ones who realize how hard it is to write a Perl compiler. From scratch. In FORTRAN. On a Vic 20.

Building something great is fun, but it’s much more fun when someone’s there to pat you on the back, throw you a party, sing your praises, or buy you a steak dinner. Most developers enjoy hearing praise and receiving recognition for hard work, but even the ones who don’t need it are somehow soured when they don’t receive it (or worse yet, someone else receives recognition for your work).

Recognition is one of Herzberg’s core motivation factors and it applies to software developers as much as the engineers originally interviewed.

7. Building Something that Matters
Even though we’re not medics in Bosnia or food carriers in Sudan, most people want to feel like we’re somehow doing our part to make the world a better place, both technologically and socially. Some of us might think we do it just for the sake of technology, but in the back of our minds we see ourselves as part of a grand scheme.

For instance, a friend of mine works for a financial company and cherishes every time they launch a product that helps the under-served financial community.

An Albertsons inventory software developer enjoys coming to work every day because his work ensures, via complex supply and demand algorithms, that the baby cereals are always available on the shelves.

Building something that matters makes an L.A. Times software engineer ecstatic that the trucks are now saving over 30% of their mileage and fuel costs due to his shortest path finding software implementation for newspaper delivery.

On the other hand, writing an interface to a buggy API that’ll be used a total of 15 times in the next year doesn’t seem like it matters much.

Copying and pasting an entire application and changing a bunch of labels isn’t as exciting as it might sound.

And hacking in a few more case statements in a ridiculously complex stored procedure in order to service yet another customer without creating a proper data structure somehow doesn’t seem to fulfill that part of us that wants to build something that matters.

8. Building Software without an Act of Congress
I was a contractor for three years starting in 2001, and during that time I built a ton of web applications. Since much of my development was off-site I became accustomed to writing software really quickly once we knew what to build. Another developer and I built insane amounts of software over the course of two years.

When I got my next full-time job it felt like I was dragging 50-pound weights. For every page I wanted to build I had to call a meeting with six people. Any change to the database required three approvals. It was nuts, and applications took 5x longer to build. Talk about frustrating.

The authority to make project decisions without calling a meeting is huge.

9. Having Few Legacy Constraints
No one likes developing against buggy interfaces, crappy code, and poorly-designed data models. Too many legacy constraints kill creativity, require an act of congress to modify, and generally sucks the fun out of building software (see several of the previous points for why this is bad).

If you have gobs of legacy liability, try to figure out a way to minimize its impact on future development. If you can’t, look for people who value hygiene factors, because motivation factor developers are not going to maintain the same poor-quality applications for very long.

Determining Your Score
Let’s face it, the bar has been set pretty low when it comes to motivating developers. How many companies can you think of that would score even as high as a 3?

Since this test hasn’t been administered to companies across the globe there’s no basis for comparison, but that’s where you come in. I’d like to do an informal survey so we can get an idea of how things are in the real world. Please post your company’s score in the comments (you don’t have to post the company name).

Most large companies I can think of would be lucky to score a 1. Google would probably score an 8 or a 9.

Wrap Up
If you’re a manager, when was the last time you asked your developers about these issues? If you’re a developer, when was the last time you respectfully raised one of these issues, providing examples and a possible solution?
If the answer is “a long time ago” then you have some work to do. Send this article to a few of your colleagues and start discussing how to enact change.

If you liked this article you’ll also like my article Personality Traits of the Best Software Developers.

Thanks to Jeremy Lukensmeyer, Curtis Fields, Rick Kopitzke, Adnan Masood, Mike Taber, and a few others for their input into this article.

‘A’ Student Sila Lupakan Impian Memulakan Bisnes Sendiri

21:52 Posted by Shichibukai Encraptor , No comments

Anda sentiasa dapat straight A’s dalam UPSR, PMR, SPM?
Anda sentiasa masuk dalam senarai penerima anugerah dekan setiap semester?
Anda tidak pernah repeat paper dalam mana-mana subjek peperiksaan?

Jika anda tergolong dalam kategori pelajar yang lebih banyak ‘A’ dari gred-gred lain, artikel ini adalah untuk anda. Saya akan kongsikan rahsia untuk jadi kaya.

Rahsianya adalah …

  • Jangan buat bisnes sendiri.
  • Jangan mulakan bisnes dari zero.
  • Jangan buang masa baca buku bisnes from zero to hero dengan harapan nak jadi macam mereka.

Cara untuk anda jadi kaya adalah dengan bekerja di syarikat yang besar, mendaki tangga korporat sehingga dapat jadi CEO atau pengurusan kanan dan bila dah sampai usia 50-an semoga dapat jadi pengarah syarikat berhad.

StudentAJanganBisnes

Cuba ingat kembali zaman anda bersekolah dahulu. Kenapa anda dapat A dalam sesuatu mata pelajaran?

Bukankah anda berjaya menulis balik apa yang diajar di kelas dan apa yang ada dalam buku teks?

  • Sekiranya anda menulis Malaysia mencapai kemerdekaan pada Tahun Gajah; adakah anda mendapat A dalam subjek Sejarah?
  • Sekiranya anda menjawab soalan, “Di manakah terletaknya negeri Pahang?” dan anda menjawab, “Tangga tercorot liga Premier,” adakah anda mendapat A dalam subjek Geografi?
  • Sekiranya anda kata 89 adalah nombor yang lebih besar dari 133, adakah anda mendapat A dalam Matematik?

Fikirkan baik-baik.

Proses ini telah sebati dalam hidup selama kira-kira 16 tahun. Jawab soalan dengan betul. Ikut apa cikgu cakap. Ingat nota. Hafal buku teks. Minum air rebusan nota masa mengulangkaji.

Anda tidak berani buat salah. Anda tidak berani jawab selain dari skema jawapan. Anda hanya tahu ikut arahan. Tak pernah kena marah cikgu disiplin dan masuk mahkamah universiti. Budak kesayangan cikgu. Budak kesayangan pensyarah. Andalah bintang. Wow!

Budak ‘C’ kalau dapat ‘A-’ menangis. sujud syukur dan belanja kawan-kawan makan kerana dapat juga akhirnya gred A sepanjang usia dia jadi mahasiswa. Anda jika dapat ‘A-’ juga menangis tetapi disusuli dengan merayu-rayu dengan pensyarah supaya dapat A+.

Jadi, kalau sifat ini sudah sebati dalam diri anda jangan memulakan bisnes sendiri.

Anda tidak mampu berfikir di luar buku teks. Anda tidak mampu keluar dari tradisi industri. Anda hanya tahu ikut sistem yang stabil.

Sedangkan bisnes dari zero ibarat orang yang hanya ada rakit tapi berangan nak berlayar ke lautan luas. Orang kata jangan, tapi dia nak juga berlayar dengan rakit. Dalam perjalanan tu, dia bina sedikit demi sedikit kapal yang lebih besar. Kalau dibuatnya ada ombak besar, ribut taufan melanda ketika kapal tersebut sedang dibina, dia tenggelam. Nasiblah.

Bisnes dari zero adalah mengenai survival. Lagi banyak buat silap lagi bagus. Lagi cepat buat salah lagi baik. Lagi gila jawapan kita bagi dalam soalan-soalan dalam bisnes yang muncul lagi bagus.

Satu-satunya ilmu bisnes yang betul adalah duit masuk lebih dari duit keluar. Selain dari itu, entah. Boleh jadi sesuai dengan bisnes kita, boleh jadi tak boleh pakai untuk bisnes kita. Kena cuba test try.

  • Walmart jual barang murah-murah, untung. Daimler, jual barang dengan harga mahal, untung juga.
  • Coca Cola, barang utamanya adalah Coke, untung. Nestle, ada lebih 8,000 jenama, untung juga.
  • Zappos , guna strategi masuk pasaran sedia ada, untung. Apple, guna strategi cipta pasaran sendiri, untung juga.

Jadi ‘A’ student pasti gagal menjawab soalan, “Bagaimana nak bina bisnes yang menguntungkan?”

Sebab soalan itu jawapannya tiada dalam buku. Sam Walton pasti memberikan jawapan berbeza dengan Asa Griggs Candler dan apa yang menariknya kedua-duanya betul.

Melainkan anda dapat mengubah sikap yang sebati dalam diri seperti sukar berfikir di luar kotak, tidak berani menyahut cabaran baru  dan tidak mahu menjadi ‘budak nakal’ yang langgar rules & regulations (yang sangat sukar untuk dibuat kerana masih takut buat salah dan takut kepada kegagalan), maka selepas anda berjaya mencapai tangga tertinggi kerjaya, peluang menggandakan pendapatan adalah dengan terlibat dalam bisnes jenis franchise.

Iaitu beli bisnes yang telah berjaya.

Bisnes yang telah ada sistem sendiri. Sistem yang anda tidak berani nak ubah. Sistem yang tidak memerlukan banyak kreativiti, hanya ikut manual operasi. Franchise yang baik menyediakan semuanya untuk anda termasuklah kempen pemasaran.

Jadi, jika anda ‘A’ student jangan buang masa memulakan bisnes sendiri ya!

Tips and Tricks for Staying Motivated With Your Programming Project

19:50 Posted by Shichibukai Encraptor , No comments

Do you have a project that you were really excited about in the beginning but now your lack of motivation has you saying “Not that project again, bleh”? I think we all suffer from that once in awhile. Especially on those projects where we are not the lead or never thought of the project to begin with. How are we going to get excited about making a program to track the amortization of a truck for some trucking company? I decided to come up with a list of tips and tricks you can use, as a programmer, to stay motivated and get excited about a project.

The Tips
  1. Write down all your tasks in a list and challenge yourself to knock a few items off the list every day. If the tasks are not small enough to fit into a single day, can you break it up into smaller tasks? The idea here is that you want to be able to knock off a few items every day, so make sure each task is bite size. Maybe the task is a single function or perhaps it is a whole component. When you knock off items and see progress being made, you will get a sense of accomplishment and want to conquer more tasks. It can get addicting!
  2. Keep asking yourself the question “what if?” and then challenge yourself to tackle it… that is if it fits in your task list you created from item 1 above. You made a nice little component that aggregates RSS feeds. But what if you made that widget into something that scrolls? Ok, it is now scrolling, but what if you made it read feeds in real time? How far can you go? Just make sure you do it on a separate branch and your are not feature bloating the project to hell. Branch, implement and show it off at the next meeting. If they like it, perhaps they will have you merge it. Worse case scenario is that they don’t want to merge it, then you learned something for a future project perhaps.
  3. When you hit a milestone, reward yourself by getting a beer or buy some little thing off of ThinkGeek. Heck, go talk to that hot babe over at reception even though she would never ever go out with you. You hit a milestone man, you deserve that pat on the back!
  4. Try making it a game with some fellow programmers. Who can find the most bugs? Who is the ultimate supreme uber-leet programmer in your part of the cubicle jungle? Just keep in mind here that it is all for fun and despite whoever finds the bug everyone benefits. You may have your off day, but tomorrow is another day and another game. You will win some and you will lose some.
  5. If you have been working on a piece of code for a long time and things are slow going, change speeds and work on some other task for awhile. Then you can come back to the original task with a fresh perspective. No use getting yourself down on a tough problem when you can go away and come back and crack that tough problem wide open with a unique thought.
  6. Participate and contribute as much as you can to group meetings. If you can contribute and get some fun tasks into the work flow of the project, then you will get yourself psyched up for the project because you helped make it happen. Perhaps you managed to get a really neat feature into the next development cycle that will help you learn something new.
  7. Keep some interesting and thought provoking items at your desk. Hopefully you are at a company that lets you clutter up your desk with things that you enjoy. Action figures, toys, puzzles or perhaps your favorite Linus Torvalds quote. Ever notice that when you are deep in thought about a programming problem you are not always looking at your screen but perhaps something on your desk? If that item keeps you lighthearted, you may stay upbeat and motivated to push forward.
  8. Take care of yourself and your health. When you are eating right and feeling good, you tend to concentrate more and can stay focused as well as motivated. How are you going to remain motivated if you are always crashing from your last Redbull? Get plenty of sleep and eat healthy foods in between pizza binges (yeah we know that pizza is healthy). Then you will drop some awesome code and make your milestones effortlessly. “Ok Robin, back to reception desk!”
  9. Get into the habit of encouraging others in their work and hopefully they will encourage you in yours. Let them know when you think they wrote a kick ass class that you want to use. You will make their day and in turn they will surely make yours. There is nothing like hearing that your code has made a difference in your team and eventually to the client. So if you can help foster a great dynamic team environment it will help you stay motivated to do your best.
  10. Sprinkle the tasks you like to do in between the tasks you don’t like to do. That way you may be doing something you don’t like now but you know right around the corner there is another fun project just waiting. If you do everything fun in the beginning you are left with a bunch of horrible stuff in the end. If you try to power through the stuff you hate in the beginning, it will seem like you are going long periods with no fun and your motivation will suffer.

If you can stay motivated by staying healthy, having fun, minimizing the crap jobs and keep spirits high the work will turn into a job you will love and then you will not be working anymore, you will be growing and breaking down walls. Do you have some tricks for staying motivated? We would love to hear them. Tell us all about it in the comments below!

Thanks for reading!