apa itu IT PROGRAMER dan kerjaanya gimana
Programmer ialah Seseorang yang mempunyai keahlian di bidang
komputer, Programmer adalah seseorang yang mempunyai pekerjaan menulis
dan merancang program-program menggunakan bahasa-bahasa pemrograman
komputer. Programmer merupakan seseorang atau sekelompok orang yang
sudah sangat ahli di Bidang Komputer. Programmer juga bisa diartikan
sebagai Seorang yang dapat membuat suatu atau sebuah program dengan
sangat bagus dan teratur. Programmer membuat program di komputer untuk
memajukan perkembangan teknologi dan membuat dunia teknologi menjadi
lebih baik dari sebelumnya.
Pengertian Programmer secara lengkap ialah Seseorang yang
melakukan penulisan dan pengubahan script atau kode dari sumber sehingga
dapat membentuk suatu program. Penyuntingan kode sumber meliputi proses
pengetesan, analisis, pembetulan kesalahan, pengoptimasian algoritma,
dan normalisasi kode. Programmer membantu para pengguna internet untuk
lebih membuat internet ini menjadi lebih baik. Programmer sering kali
membuat berbagai macam software untuk dijual atau diberikan kepada suatu
otoritas/perusahaan yang sedang membutuhkan software tersebut. Seorang
Programmer merupakan seorang yang sangat teliti di dalam mengerjakan
apapun, Karena jika seorang programmer tidak teliti maka jika dia
membuat dan merancang suatu program akan menjadi program yang kurang
bagus.
Programmer merancang suatu program dari script-script, kode-kode dan
dengan Bahasa-bahasa pemrograman. Bahasa Pemrograman kini sudah ada
berbagai macam. Yaitu Bahasa Pemrograman Java, Algoritma, C Plus, Visual
Basic, Php, Perl, Python, Html, Cobol, Fortran Dan Bahasa Pemrograman
Lainnya. Programmer menyusun perintah-perintah bahasa pemrograman yang
bisa dibilang rumit dengan sangat teliti untuk dijalankan di komputer
dan digunakan oleh banyak orang.
Di Dunia ini sudah banyak para programmer-programmer yang terkenal
dan naik daun sehingga banyak sekali orang yang mengenalnya, Para
Programmer tersebut diantaranya ialah :
- John Backus, Seorang Programmer yang membuat dan mengembangkan bahasa pemrograman fortran.
- Richard Brodie, Seorang Programmer yang merupakan orang pertama membuat dan mengembangkan Microsoft Word.
- Vinton Cerf, Seorang Programmer yang merupakan orang paling
berpengaruh di internet. Dia membuat protokol TCP/IP yang sekarang
digunakan oleh ratusan juta pengguna internet.
- Alan Cooper, Seorang Programmer yang mengembangkan Bahasa Pemrograman Visual Basic.
- Bjarne Stroustrup, Seorang Programmer yang membuat Bahasa Pemrograman C Plus.
- Linus Torvalds, Programmer yang satu ini merupakan Programmer yang
paling saya kagumi diantara programmer yang terkenal lainnya. Linus
Torvalds merupakan programmer yang membuat Sistem Operasi Linux. Sistem
Operasi Linux ini bisa dibilang Sistem Operasi yang paling banyak
digunakan oleh para programmer.
- Brian Behlendorf, Programmer yang membuat Apache Http Server.
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 “<?php” yang pertama.
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.
sumber :rahman371.wordpress.com