Sunday, September 3, 2017

Peluang Karir Seorang Programmer PHP





Bagaimana Karir Programmer PHP di Dunia IT

Ketika kamu menguasai bahasa pemograman PHP, kebanyakan orang akan berpikir saya akan menjadi programmer di perusahaan, betul? Saya akan bekerja dengan komputer server dan membangun aplikasi-aplikasi yang canggih untuk perusahaan? Kemudian? Jadi programmer terus? Nah, ini adalah sedikit ilustrasi bagaimana perjalanan karir seorang programmer PHP. Mau tahu?
Nah, berikut ini gambaran bagaimana seorang yang baru lulus sekolah dan bekerja sebagai programmer PHP.

Lulus Sekolah / Universitas

Status pertama kalau kamu menjadi programmer PHP adalah Programmer Jobless alias nganggur. Kan, baru lulus, belum dapat melamar kerja, belum interview dan belum ke kantor. Jadi bayangkan saja sekarang adalah pagi hari, pas bangun tidur setelah kemarin kamu menghadiri pesta wisuda yang gegap gempita.
Terus kamu ambil laptop, google dech, “lowongan programmer”. Browsing browsing, browsing sampai akhirnya ketemu tawaran yang menurut kamu menarik. Kamu kemudian mengirimkan email berisi lamaran ke kontak yang diberikan.
Kalau kamu memenuhi kriteria, maka kamu akan segera dipanggil untuk dilakukan interview. Di sana kamu akan ketemu satu atau dua orang yang menguji kamu untuk dapat diterima perusahaan. Ada yang hanya percakapan, ada yang sampai test tertulis, tergantung dari kebijakan masing-masing perusahaan. Ada yang pakai bahasa Indonesia dan ada yang pakai bahasa Inggris juga. Pokoknya persiapkan baik-baik saja semua potensi ujian yang ada.
Setelah kamu merasa cocok bekerja di perusahaan itu dan mereka juga sreg dengan kamu, kamu akan nego salary / gaji bulan. Setelah sepakat, kamu akan dipanggil untuk mulai bekerja. #horeeee

Programmer Yunior

Hari pertama ngantor! Deg degan, wah gimana ya? Nyantai saja. Kamu biasanya akan ketemu dulu dengan bagian HRD, kemudian diantar ke unit kerja kamu. Ketemu sama manager unitnya baru ke ruang kerja dan teman-teman baru. Itu kalau perusahaannya sudah cukup teratur dan mapan ya.
Kalau yang serabutan, ya kamu datang langsung disuruh ke unit kerja. Ketemu dengan teman-teman, kenal kenalan, ketemu para suhu, kalau ngetik pakai merem. #nyantaiajah Dan mulai langsung ini kerjaaan. #selamatyah
Tergantung situasinya, kalau kamu kerja di perusahaan IT biasanya mereka langsung memasukan kamu ke dalam project yang mereka sedang kerjakan. Kamu dibriefing singkat, kemudian langsung deh dikasih meja kerja dan komputer. Paling buruk, kamu disuruh pake laptop sendiri sampai kantor ngasih.
Apa sih yang dikerjain? Tergantung juga, ada yang pertama disuruh bener benerin dokumen. Baca baca spesifikasi, dan disuruh buat dokumen testing. Bisa juga kamu disuruh nyiapin database atau script script kecil. Atau bisa juga kamu langsung tancap gas di coding. #uhuy
Biasanya sih kamu harus tanya tanya standarisasi di tempat kerja baru kamu kayak apa. Intinya nyantai saja, orang baru, banyak pengalaman baru. Termasuk gimana caranya pakai mesin fotocopy sendiri. Atau gimana ngambil gelas minum di pantry. Pokoknya asyik dah, apalagi kalau pakai ada kesalahan kesalahan kecil. #pengalaman tak terlupakan. Pulang ke rumah banyak cerita.
Waktu berjalan, dan kamu mulai settle, kamu mulai dikasih kerjaan. Kerjaan kamu direview sama teman-teman atau atasan kamu. Nggak bener dikasih tahu, Dikasih tahu berulang kali, masih nggak bener #dijitak #hahaha nggak lah. Masih diingetin juga, cuman pake bete.
Nggak terasa sudah sebulan, gajian, makan-makan, habis. Minta orang tua lagi buat ongkos ke kantor. #hahahaha. Ternyata gajinya nggak cukup buat hidup sebagai seorang pekerja (bisa jadi). Kerjaan makin menantang, kadang sampai malam, sampai pagi, sampai besok lagi. Tergantung perusahaan juga sih.
Pelajarannya selama menjadi junior programmer, anggap saja sebagai mahasiswa baru, banyak banyak belajar, termasuk belajar beradaptasi dan bergaul dengan sesama pekerja. Kadang keras, kadang nyelekit, kadang nyebelin, kadang males banget mau ke kantor. Tapi yang jelas, lahap semua pengalaman, ambil yang baik, yang buruk balikin aja ke yang ngasih. #hehehe
Setahun tahun nggak kerasa, dua tahun mulai dech. Tiga tahu ada tanda tanya, kapan nih salary naik. Salary naik biasanya kalau jabatan naik. Di sini kamu bisa lihat apakah dalam setahun kamu bisa menujukan performansi kalau kamu berhak naik level atau masih harus di posisi yang sama. Kamu bisa berkomunikasi tentang hal ini dengan atasan kamu. Jangan malu malu ya. Malu tanya-tanya, kamu bakalan dianggap nyaman diposisi kamu sekarang. Apalagi sudah mau nikah? #ciecie #merriedeuy

Programmer Senior

Anggap saja kamu sudah melawati masa-masa junior kamu. Atasan kamu melihat kamu punya potensi untuk ke jenjang karir berikutnya. Ya, ada banyak level sebenarnya di sini, kamu yang memang passion di dunia programming biasanya akan dijadikan satu level yang lebih tinggi, namanya programmer senior.
Dengan posisi yang lebih tinggi dibandingkan para pekerja baru, kamu diharapkan sudah lebih menguasai bidang yang kamu kerjakan. Misalkan sudah sampai pada pengembangan modul modul dan integrasi sistem dalam skala menengah. Kamu juga dituntut bisa mengelola komunikasi dengan system analist atau user terkait dengan fungsi fungsu aplikasi yang sedang kamu kerjakan.
Dokumentasi yang dihasilkan juga lebih baik, termasuk melakukan uji fungsi terhadap modul modul atau sub system yang sedang kamu kerjakan. Di level ini kamu dikatakan sudah bisa memberikan solusi solusi teknik dan pertimbangan teknis terhadap suatu kasus yang membutuhkan penanganan lebih matang. Kamu bisa dikatakan sudah ahli di bidangnya untuk menguasai sebuah pengembangan aplikasi dengan standarisasi yang ditetapkan kerjaan.
Kamu juga mulai bisa membimbing programmer junior untuk bisa masuk ke standard yang ditetapkan perusahaan dengan memberikan feedback yang baik terhadap hasil pekerjaan kamu. Hal ini jadi latihan yang baik untuk masuk ke level berikutnya.
Di level ini bergantung perusahaan ya, kamu bisa jalani posisi ini dalam beberapa waktu, bisa beberapa bulan sampai beberapa tahun. Di sini kamu mulai mengasah kemampuan yang di level expertise ya, update terhadap teknologi dan mulai bisa membimbing programer programmer junior.

System Analyst

Nah, ada juga yang posisinya sejajar dengan programmer senior yaitu system analyst. Ini bergantung orangnya juga ya. Ada yang dari awal memang direkrut sebagai programmer, tetapi ada juga yang harus melalui jabatan programer junir.
Anyway, kita anggak jenjang karirnya berangkat dari programmer junior, kemudian atasan kamu melihat kamu lebih cocok masuk ke system analyst. Apa sih kerjaannya?
Sebagai seorang system analyst, kamu sebenarnya dinilai memiliki kemampuan memahami kebutuhan pengguna dan bisa berkomunikasi dengan baik ke tim unit kerja dan pengguna aplikasi. Dengan kemampuan kamu berkomunikasi, mendokumentasikan aktifitas, dan menyelesaikan silang kepentingan dari para user, biasanya orang ini akan cocok di posisi system analist.
Kerjaan seorang system analyst kebanyakan adalah bekerja dengan pengguna aplikasi. Mereka akan mendengarkan, menggali dan mendokumentasikan kebutuhan user yang disebut dengan user requirement. Nah dokumen ini yang kemudian dijadikan dasar untuk membuat aplikasi oleh tim development.
Kamu juga terlibat dalam system testing memastikan kalau software yang dibuat itu sesuai dengan requirement yang dibuat dan disepakati oleh user. Jadi ada dua bagian utama yang dikerjakan, yaitu melakukan analisis kebutuhan user dan pengujian atas hasil software yang dihasilkan.
Beragam project bisa kamu kerjakan selama beberapa waktu kamu di posisi ini. Pengetahuan kamu semakin luas terhadap kebutuhan pengguna aplikasi seiring dengan kemampuan komunikasi kamu yang lebih baik lagi.
Sebenarnya ada satu posisi lagi yang namanya system designer yang bertugas untuk mendesign seperti apa software yang akan dibuat, tetapi untuk sementara dianggap fungsi ini dirangkap sama system analyst ya.

Team Leader

Posisi ini merupakan jabatan yang lebih tinggi dari seorang programmer senior atau system analyst. Biasanya dipegang oleh seorang yang menguasai teknis dan mampu mengelola tim untuk menyelesaikan perkerjaan sebuah project.
Secara pribadi, seorang team leader akan diminta untuk menyelesaikan target target pembuatan aplikasi sesuai dengan waktu dengan anggota tim yang ada. Biasanya satu team leader akan memegang dua atau tiga project dari sebuah tim.
Selain mengarahkan tim programmer dan system analyst juga system designer untuk membuat aplikasi sesuai requirement dari user. Dia membuat detil dari rencana kerja dan memantau performansi tim agar bisa menyelesaikan perkerjaan tepat waktu.
Sangat penting untuk posisi team leader dalam menyemangati anggotanya agar tetap termotivasi untuk menyelesaikan pekerjaan sesuai dengan waktu, spesifikasi dan kualitas. Aplikasi dengan minor bug juga menjadi salah satu parameter kualitas software.
Kemampuan mengalokasikan kerjaan ke orang yang tepat juga penting. Dia harus memahami karakter dari sebuah pekerjaan dan akan diserahkan kepada siapa. Misalkan kalau si A memang memiliki kemampuan design dan implementasi database dengan baik, maka si A akan banyak diserahi pekerjaan untuk bidang database. Dan seterusnya, ada yang core system, ada yang integrasi, ada yang user interface dan masih banyak lainnya.
Intinya seorang team leader atau sejajar dengan assistant manager bertanggung jawab untuk menyelesaikan sebuah project atau bagian dari proyek sesuai dengan target yang ditetapkan. Kemampuan berkomunikasi dengan manager dan bekerja tanpa harus dipandu juga menjadi penting di sini.

Development Manager

Setelah lebih dari 5 tahun kamu bisa mencapai posisi ini, Development Manager. Sesuai dengan namanya tingkatan kamu adalah seorang manager. Pekerjaannya adalah memanage, yaitu mengelola orang dan pekerjaan.
Akan ada beberapa proyek pengembangan aplikasi yang datang ke meja kamu dan harus diselesaikan sesuai targetnya. Kamu juga harus bertanggung jawab terhadap pengelolaan versioning dari aplikasi aplikasi yang telah kamu buat sebelumnya. Hal ini penting karena selain aplikasi baru, aplikasi-aplikasi eksiting juga perlu diperbaharui fungsi dan masalah masalah yang ada.
Kamu juga mulai mengelola orang artinya kamu mulai harus memikirkan apakah kamu membutuhkan programmer baru, dan dilevel apa (senior/junior) untuk menyelesaikan pekerjaan kamu. Kamu juga harus memikirkan jenjang karir staf bawah kamu, siapa yang promosi untuk naik jabatan, pindah posisi jadi analyst dan bahkan harus mikirin siapa yang kontraknya tidak diperpanjang.
Karena semakin kompleksnya kerjaan di posisi ini, biasanya mereka melengkapi diri dengan pelatihan manajemen atau mengambil kuliah S2 Manajemen.
Ringkasnya, pekerjaanya semakin kompleks dari mengelola satu tim, sekarang mengelola beberapa tim. Dari mengelola satu project sekarang bisa beberapa project sekaligus. Kemampuan manajemen perencanaan menjadi penting agar semua project bisa tercapai. Kemampuan mengelola SDM juga penting.
Dari sisi teknis, kamu juga harus menguasai term term teknologi baru dan menguasai filsafat dasarnya sehingga bisa menerapkan kebijakan dari sisi teknologi yang harus digunakan. Kamu juga dituntut agar membawa unit kerja menjadi lebih baik, lebih cepat dan lebih efisien dalam bekerja.
Jadi kalau kamu lihat seorang manager development itu kadang orangnya mulai agak kurang detail di teknis karena memang beban kerjanya banyak ke arah yang mulai strategis ya. Meskipun ada juga manager yang memiliki kemampuan teknis yang tinggi lho.

IT Manager

Berbeda lagi kalau misalkan perusahaannya hanya memiliki satu posisi yang IT Manager. Posisi ini bisa sejajar dengan Development Manager. Biasanya ruang lingkupnya juga berbeda, lebih luas dari sekedar development aplikasi.
IT Manager bertanggung jawab terhadap operasional IT perusahaan. Mulai dari server sampai network WIFI, mulai dari internet sampai denga aplikasi payroll gaji. Jadi sangat luas sekali ruang lingkupnya.
Biasanya dia memegang sebuah system architecture yang digunakan oleh perusahaan termasuk sistem operasionalnya. Karena tanggung jawabanya yang banyak selain mengelola unit development juga mengelola unit operasional seperti unit network, unit operasional aplikasi, unit pc dan aksesori dan unit server/core system.
Sama dengan development manager, tugasnya memastikan sistem IT berjalan dengan baik, termasuk melayani perubahan sistem, penambahan sistem, pengembangan network, penambahan server dan pc, dan pengelolaan sumber daya manusia.

IT Division General Manager

Kali ini kita masuk ke level berikutnya, biasanya sudah masuk ke perusahan kelas menengah, karena memiliki General Manager Divisi IT. Karakternya biasanya, operasionalnya sudah cukup kompleks, memiliki beberapa kantor cabang dan aplikasi aplikasi yang sudah cukup besar. Kita bisa lihat di perusahaan perusahaan yang sejenis ini, seperti Bank Perkreditan Rakyat.
Dari sisi pekerjaan, sebenarnya sama dengan level manager hanya saja lebih besar lagi karena memang size perusahaan yang besar sekali, mungkin dari sisi jumlah karyawan sudah lebih dari 2000 orang sehingga membutuhkan pengelolaan yang lebih baik lagi.
Dari sisi pekerjaan, seorang GM berpikir lebih strategis untuk perusahaan. Bisa jadi dia mengadopsi teknologi terbaru, menetapkan rencana IT perusahaan untuk beberapa tahun ke depan, penetapan standarisasi keamanan dan pengembangan aplikasi sesuai ISO dan lain sebagainya.
Selain itu dia juga tetap bertanggung jawab untuk aktifitas operasional perusahaan agar berjalan dengan baik untuk mencapai tujuan perusahaan.

Direktur IT

Level tertinggi dari bekerja di bidang IT adalah Direktur IT. Di bank bank dan perusahaan besar, salah seorang direktur dalah direktur IT. Mengingat hal ini penting bagi perusahaan.
Posisinya yang setara dengan direktur menunjukan pentingnya IT di perusahaan tersebut. Bisa dibayangkan sebuah Bank seperti Mandiri atau TelkomSel tanpa direktur IT. Dengan teknologi yang sangat tinggi, tentu dibutuhkan dukungan IT yang sangat baik.
Kegagalan sistem dalam hitungan menit bisa menyebabkan kerugian milyaran rupiah. Inilah tantangan dari seorang Direktur IT. Selain mengelola operasional dengan baik, IT mulai menjadi komponen perusahaan agar bersaing di industri. Dengan pengelolaan IT yang baik, nama perusahaan akan tumbuh dan dapat memenangkan persaiangan perusahaan.
Demikian sekilasnya ya, posisi posisi di dunia IT dari karir programmer PHP yang bisa kamu peroleh. Semakin tinggi sebuah posisi, kamu dituntut semakin menguasai banyak hal, tidak hanya teknis. Jadi persiapkan diri dengan baik, semoga sukses buat kita semua.

Source : pintarphp.com/karir/karir-programmer-php

No comments:

Post a Comment