Halaman

search angine

Rabu, 30 April 2014



Programmer adalah Pekerjaan paling menyenangkan di dunia
Siapa bilang tidak ada masa depan buat seorang programmer? Justru sebaliknya, ada masa depan yang indah dan menjanjikan tersedia untuk seorang programmer. Apa buktinya? Silahkan cek di forbes (www.forbes.com/billionaires/list/) berapa banyak pebisnis terkaya di dunia yang memiliki latar belakang programmer dan dunia IT. Dan silahkan cek di CNN daftar Fortune 500 (money.cnn.com/magazines/fortune/fortune500/2011/full_list) berapa banyak perusahaan terbesar di dunia yang memiliki jaringan bisnis berkaitan dengan IT.
Persoalan sebenarnya kenapa banyak programmer di dunia, secara khusus di Indonesia gagal, karena mereka memiliki persepsi yang salah mengenai bagaimana menjalankan profesi ini menjadi sebuah bisnis yang menguntungkan dan memberikan jaminan masa depan yang baik.  Saya akan menjelaskan kalimat ini dengan membeberkan daftar kesalahan-kesalahan yang dibuat oleh programmer yang menekuni profesi ini.
1.  Dianggap terus-menerus belajar.  Kalau pertanyaan yang sama ini ditanyakan kepada orang yang memiliki profesi diluar programmer, apakah mereka untuk menjadi sukses tidak perlu terus belajar? Tidak ada satu orangpun dari latar belakang non-programmer yang akan berkata tidak. Kenyataannya, semua profesi di dunia ini menuntut semua orang kalau ingin sukses harus terus belajar dan belajar, hanya saja konsep pemahaman belajar terus di kalangan programmer ini, ditanggapi dengan cara yang salah. Dimana letak kesalahannya? Banyak programmer yang terjebak dalam proses belajar hanya fokus di hal-hal tehnikal, code, script, SQL Statement yang lebih canggih, secure, dan untuk keren-kerenan semata. Padahal seni belajar programming yang terbaik adalah memahami semua aspek  di bisnis ini baik tehnis maupun non-tehnis. Berikut ini segelintir hal-hal yang mestinya dipelajari oleh seorang programmer sejati. Negosiasi, personal-relationship, team-work, dan yang terpenting trustworthy (kepercayaaan).
Percayakah anda bahwa saat ini tidak ada satupun perusahaan di dunia ini yang dapat bertumbuh dengan cepat tanpa bantuan IT? Semua programmer saya yakin setuju bahwa IT kini dibutuhkan oleh setiap perusahaan. Pertanyaan selanjutnya, kalau begitu kenapa masih banyak perusahaan yang ragu menggunakan IT sebagai penunjang bagi perusahaan mereka? Dan mengapa begitu sulit bagi programmer untuk menawarkan solusi IT bagi perusahaan-perusahaan itu?
Jawabannya berasal dari si programmer itu sendiri. Fakta berbicara, ada banyak programmer yang tidak bisa dipercaya dan dipertahankan karena memiliki kebiasaan buruk dan lari dari tanggung jawab atau mengerjakan pekerjaan mereka separoh-separoh, money-oriented, dsb. Tentu ada alasan buat customer mengapa mereka mengejar-ngejar programmer, karena software itu pada satu titik tertentu telah menjadi core system dari sebuah perusahaan. Ketika core-system itu mandek karena alasan bug dan kesalahan programming, seluruh sistem perusahaan itu menjadi lumpuh. Ini yang dijadikan alasan kenapa perusahaan begitu menguber-uber si programmer. Kenyataan yang terjadi di dunia  bisnis saat,  banyak programmer yang kabur dan meninggalkan jejak yang sulit dilacak.
Ini tentu menimbulkan trauma yang dalam di banyak perusahaan-perusahaan yang mempekerjakan tenaga IT.  Tidak usah jauh-jauh, hal yang sama ini terjadi di perusahaan tempat saya bekerja. Dan kini, saya dituntut untuk membangun kembali kepercayaan kepada terhadap orang IT. Membuat aplikasi untuk mereka, dan menjamin sepenuhnya bahwa aplikasi ini akan terus berjalan, dan komitmen saya terhadap company ini tidak berubah.
Berpikir 24 Jam Non Stop. Setiap profesi menuntut profesionalisme yang tinggi. Tidak ada satupun pekerja profesional yang berhenti berpikir dan menganalisasi hasil pekerjaannya. Hi Programmer,   Don’t be stupid and Don’t be Idealistist!!..  Jika memang kita mengalami masalah, sesungguhnya kode itu selalu bisa diakali. Selalu ada cara lain untuk mengatasi masalah meskipun cara itu tidak terlalu efisien.  Customer, apalagi customer non-IT sama sekali tidak pernah memusingkan bahasa programming apa yang kita gunakan, secanggih apa IDE yang kita gunakan, bahkan mungkin tidak pusing sama sekali keamanan code kita. Yang ada di benak mereka adalah input-nya seperti ini, diproses seperti ini, dan hasilnya diharapkan jadi seperti ini.
Programmer selalu berpikir mereka dijadikan budak. Ini pendapat yang sangat-sangat salah. Banyak programmer hanya pintar di kode, bahkan terlalu idealist dengan semua fitur-fitur yang disediakan tapi tidak pintar dalam menegosiasikan Scope of Work dan bekerja fase by fase.  Padahal, dalam implementasi sebuah software, step ini amat krusial diawal pengerjaan proyek. Step ini wajib dilakukan sebelum menulis kode “ Saya pikir alangkah baiknya saya menceritakan pengalaman pribadi saya mengenai hal ini. Setiap kali bertemu calon customer, saya belajar (Ini adalah pelajaran non-tehnis yang pertama kali saya pelajari ), ilmu Marketing.  Dalam presentasi ke customer, saya cenderung hiperbola dengan menjelaskan semua fitur yang bisa dilakukan oleh software aplikasi yang akan saya buat. Ini semata-mata hanya untuk membuat dia berpikir bahwa software ini akan mempemudah pekerjaan mereka dan pada akhirnya setuju. Begitu deal, step zero yang saya lakukan adalah mengikat customer dengan Down Payment. Masih di step zero, saya buatkan perjanjian kerja yang berisi Scope of Work, dimana perjanjian ini berisi waktu pengerjaan, dan fitur-fitur yang saya akan buatkan.
Harap diingat, tidak semua fitur yang saya jelaskan di presentasi awal seluruhnya akan dikerjakan. Mirip iklan mobil, yang ditampilkan adalah mobil dengan fitur terbaik dan terlengkap tapi dalam praktek penjualannya, dibagi dalam kelas-kelas standard hingga yang terlengkap. Isi dari perjanjian kerja sama Software hanyalah fitur standard dengan tujuan akhir aplikasi ini berfungsi seperti harapan mereka diluar fitur-fitur tambahan. Perjanjian ini penting untuk ditandatangani dan dijadikan acuan dalam pengerjaan proyek. Maka dari sini, kita sudah bisa mulai menulis code.
Seiring berjalannya waktu, customer mulai memahami cara kerja aplikasi dan mulai merasakan manfaatnya. Disinilah titik krusial terjadi, dimana customer mulai cerewet dan mulai meminta fitur-fitur lainnya. Maka Scope of Work, “come into effect”. Saya tentu tidak mau mengerjakan fitur yang tidak disepakati dalam Scope of Work. Posisi saya jelas. Saya dan customer memiliki kepentingan yang berbeda, tapi level tanggung jawab yang sama, tujuan yang sama dan kedudukan yang sama.  Tidak ada alasan bagi mereka untuk menjadikan saya budak. Ketika software itu selesai, maka fitur-fitur tambahan ini akan menjadi pekerjaan tambahan dengan negosiasi harga tambahan. Sampai di titik ini, case closed.
Bayaran Sedikit. Pernah berpikir hukum ekonomi dimana persediaan berlimpah, harga turun? Hal yang sama juga menimpa programmer. Membuat web-aplikasi saat ini, semudah orang membuat tusuk gigi. Ada puluhan tools yang serba otomatis, tinggal klak-klik ini itu dan websitepun jadilah. Tapi taukah anda bahwa dari ratusan tools yang gratis maupun bayar yang ada di luar sana, tidak ada satupun yang mengurusi implementasi untuk otomatisasi konsultasi? Tentu saja tidak ada karena konsultasi itu urusan non-tehnis yang tidak dapat dicodekan dan di-wizard-kan.  Software boleh sama, aplikasi boleh open-source, tapi konsultasi tidak akan pernah gratis dan tidak akan pernah MURAH.
Pahami ini baik-baik para programmer,software jangan pernah dijadikan produk sama seperti orang yang membuka lapak di pasar Senen. Software harus dijadikan Jasa (service). Maka, jual semua aplikasi software anda dalam bentuk service. Taukah anda apa yang terjadi ketika  software itu dijadikan dijual dalam bentuk produk? Sederhana saja, sama seperti produk-produk non-software lainnya, ketika produk itu sudah kuno, tidak bermanfaat atau bahkan rusak, jalan satu-satunya adalah dibuang dan diganti dengan produk baru yang masih bagus dan berfungsi.  Jika customer kecewa dengan produk itu maka produk itu digantikan dengan yang lain. Dalam perspektif bisnis, itu artinya anda kehilangan customer  dan hal ini jelas-jelas sangat merugikan.
Namun, apa yang terjadi ketika software yang kita buat itu dijual dalam bentuk jasa? Itu berarti kita sedang berusaha menawarkan solusi terbaik dan habis-habisan buat customer. Anda membuat customer gembira dengan pelayanan kita. Tidak perlu promosi dan pasang billboard besar-besaran, karena promosi yang sifatnya mulut ke mulut itu jauh lebih efektif daripada iklan apapun. Pelayanan kita yang baik dengan sendirinya akan merembet ke customer baru lainnya. Kepuasan customer menjadi segala-galanya. Kembali ke pertanyaan, apakah benar programmer dibayar sedikit? Kalau dijual jadi produk iya, tapi kalau dijual jadi service, hmmm.. penghasilan tanpa batas.
Kesimpulan. Jangang pernah anda ragukan kemampuan anda dalam membuat software. Pekerjaan ini memang menuntut anda memiliki keahlian tehnis dan non-tehnis secara bersamaan. Profesi programmer juga menuntut anda berpikir kritis bahkan mungkin lebih kritis dibanding profesi lain. Tapi, apa mau dikata, Ini adalah dunia kita. Dunia dimana kita bekerja dan mengerjakan sesuatu yang kita cintai. Tidaklah mengherankan, jika kita mengerjakan pekerjaan yang kita cintai, uang tidak selalu menjadi tujuan akhir. Ada kesenangan yang teramat dalam, ketika aplikasi yang kita buat digunakan oleh orang lain. Ada keindahan yang tiada bandingnya, ketika melihat aplikasi yang kita bangun bermanfaat  untuk orang lain. Dan ada kebanggaan tersendiri, ketika aplikasi yang kita buat ternyata membuat orang lain ikut bahagia.
Perubahan mindset ini memang tidak gampang, karena kebanyakan programmer itu terlalu idealist dalam segala hal. Saya sudah menemukan banyak sekali programmer dengan model seperti ini pada akhirnya menyerah hanya karena masalah-masalah sepele, persoalan belajar tiada henti, bayaran kurang, dsb. Seandainya saja setiap programmer itu berpikir praktikal dan taktis, saya berani jamin semua hal-hal di atas dapat diatasi dengan mudah. Happy coding and enjoy your real life.
Programmer is the most fun job in the worldWho says there is no future for a programmer ? On the contrary , there is a wonderful future and promises available to a programmer . What is the evidence ? Please check at Forbes ( www.forbes.com/billionaires/list/ ) how many of the richest businessmen in the world who has a background of programmers and IT world . And please check in CNN Fortune 500 ( money.cnn.com/magazines/fortune/fortune500/2011/full_list ) how many companies in the world which has a network of IT-related business .The real issue why many programmers in the world , specifically in Indonesia failed , because they have the wrong perception about how to run this profession into a profitable business and guarantee a good future . I will explain this sentence to reveal a list of mistakes made ​​by programmers who pursue this profession .1 . Considered constantly learning . If the same question is asked of people who have professions outside programmers , whether they are to be successful do not need to keep learning ? No one is sure of the background of non - programmers who would say no . In fact , all the professions in the world demands that everyone wants to be successful must continue to study and learn , it's just that the concept of understanding among programmers continue studying this , taken the wrong way . Where is the mistake ? Many programmers are stuck in the learning process only focus on technical stuff , code , scripts , SQL Statement more sophisticated , secure , and for cool - kerenan alone . Though learning the art of programming is best to understand all aspects of the business in both technical and non - technical . Here are a few things that should be studied by a real programmer . Negotiation , personal -relationship , team-work , and most importantly, trustworthy ( kepercayaaan ) .Do you believe that there is currently no single company in the world that can grow quickly without the help of IT ? All the programmers I 'm sure agree that IT is now required by every company . The next question , then, why many companies are still hesitant to use IT as a support for their company ? And why is it so difficult for programmers to offer IT solutions for companies that?The answer comes from the programmer itself. The facts speak , there are many programmers who can not be trusted and maintained because it has a bad habit and escape from responsibility or doing their job half - half , money - oriented , and so on . Of course there are reasons for why their customers chasing programmer , because the software was at a certain point the system has become the core of a company . When the core -system was stalled for some reason bugs and programming errors , the entire system of the company that became paralyzed . It is used as a reason why the company is so ferret out the programmer . The fact that occur in the business world today , many programmers are vague and leave traces that are difficult to trace .It certainly raises deep trauma in many companies that employ IT personnel . Do not be far away , the same thing is happening in the company where I work . And now , I am required to rebuild the trust to the IT people . Create applications for them , and fully guarantee that these applications will continue to run , and my commitment to the company has not changed .24 Hours Non Stop Thinking . Every profession demands high professionalism . None of the professional workers who stop thinking and menganalisasi results of his work . Hi Programmer , Do not be stupid and Do not be Idealistist ! ! .. If indeed we had a problem , in fact it can always be tricked code . There is always another way to solve the problem even though it is not very efficient manner . Customers , especially non - IT customers did not ever confuse what programming language we use , how sophisticated IDE that we use , may not even be a headache at all of our security code . They have in mind is its input such as this , as it is processed , and the results are expected to be like this .Programmers always thought they were made ​​slaves . This opinion is very, very wrong . Many programmers just smart in the code , even too idealist with all the features that are provided but not smart in negotiating the Scope of Work and work phase by phase . In fact , in a software implementation , this step is very crucial at the beginning of the project. This step must be done before writing the code " I think it is better to tell my personal experience on this matter . Every time meet prospective customers , I learned ( This is a non - technical lessons that I learned the first time ) , the science of marketing . In a presentation to the customer , I tend to hyperbole to explain all the features that can be performed by a software application that I will make . This is solely to make him think that this software will mempemudah their work and in the end agreed . Once the deal , zero step I did was bind the customer to the Down Payment . Still in step zero , I make employment agreement containing the Scope of Work , which agreement contains a processing time , and the features that I 'll make .Please remember , not all the features I described in the beginning of the presentation will be entirely done . Similar ads car , shown is the car with the best and most comprehensive features but in practice sales , divided in classes until the complete standard . The content of the agreement is just a standard feature software with the ultimate goal of this application serves as their expectations beyond the additional features . This important agreement to be signed and used as a reference in the project. So from here , we can start writing code .Over time , customers begin to understand the workings of the application and start to feel the benefits. Here is the crucial point occurs , where customers ranging chatty and started asking other features . Then the Scope of Work , "come into effect" . I certainly do not want to work on features that are not agreed in the Scope of Work . My position is clear . Me and customers have different interests , but the same level of responsibility , the same goals and the same position . There is no reason for them to make me a slave . When the software was completed , the additional features will be additional work to negotiate additional price . Up until this point , case closed .Few paid . Ever think the laws of economics where supplies are plentiful , prices go down ? The same thing also happened to the programmer . Creating a web - application at this time, as easy as people make toothpicks . There are dozens of tools that are fully automated , live clack - click it and websitepun be this . But you taukah that of the hundreds of free and paid tools that are out there , none of which deal with the implementation of automation consulting ? Of course it does not exist because the consultation of non - technical matters that can not be dicodekan and wizard - in - right . Software may be the same , be open-source application , but will never be free consultation and will never be CHEAP .Understand this well programmers , software product should never be used as the same as the person who opened the stall in the market Monday . Software should be used as a service ( service ) . Then , sell all your software applications in the form of service . Taukah you what happens when the software was used in the form of the product sold ? Quite simply , the same as non - products other software , when the product was already archaic , ineffectual or even damaged , the only solution is discarded and replaced with new products that are still good and functioning . If the customer was disappointed with the product then the product is replaced with another . In a business perspective , it means you lose the customer and this is obviously very detrimental .However , what happens when we make software that is sold in the form of services ? That means we 're trying to offer the best solutions and all-out for the customer . You make the customer happy with our service . No need to plug the promotion and massive billboards , because of its promotion of mouth is far more effective than any advertisement . Our service is good by itself will spread to other new customers . Customer satisfaction into everything. Back to the question , is it true that programmers are paid a little ? If the finished product is sold yes , but if sold so service , hmmm .. unlimited income .Conclusion . Jangang you ever doubted your ability to create software . This job does require you to have technical skills and non - technical simultaneously . Professional programmers also requires you to think critically perhaps even more critical than other professions . But , what can I say , this is our world . The world in which we work and do something that we love . It is not surprising , if we do the work we love , money is not always the final destination . There are very deep pleasure , when we make an application used by others . There unequaled beauty , when seen useful application that we build for others . And there is pride , when we make an application that turns out to make other people happy come .This mindset changes is not easy , because most programmers were too idealist in every way . I 've found a lot of programmers with a model like this in the end give up just because of trivial problems , learning problems relentless, pay less , and so on . If only every programmer was thinking practical and tactical , I can assure you all of the things above can be solved easily . Happy coding and enjoy your real life