Bagaimana Masa Depan Programmer PHP
Seseorang programer php mengungkapkan keluh kesahnya yang sedang ia alami. Hal itu dipicu karena bahasa pemrograman yang populer yaitu PHP dianggap kalah bersaing dengan bahasa pemrograman lainnya, dikutip dari cerita salah satu blog yang menerbitkan buku php dan pembacanya membalas surat ia meminta saran kepada penulis, berikut adalah isi balasannya:
"Saya sedang belajar PHP dan framework CI (CodeIgniter). Saya berasa startup atau perusahaan saat ini telah jarang-jarang yang memakai PHP dan CI. Saya menyaksikan karier programmer PHP/CI lamban untuk naik. Saya mendapatkan ringkasan itu karena menyaksikan artikel, lowongan kerja dan dengar narasi dari kakak kelas aku. Oleh karena itu saya ingin mengungkapkan pertanyaan, menjadi backend engineer yang andal apa jalannya tetap mempelajari PHP atau mending saya membanting kemudi ke bahasa pemrograman yang lain lebih ceria nasibnya? Bila memang saya harus membanting kemudi, seharusnya saya tentukan bahasa apa, Pak?" (kalimat telah ditukar formasinya membuat perlindungan identitas pembaca buku saya)
Saya memang tahu pemrogram PHP kerap jadi bahan lelucon. Pemrogram Ruby yang takabur kerap membuat pemrogram PHP sebagai bahan candaan. Pemrogram Go yang jumawa bahkan juga tidak ingin mengaku kehadiran pemrogram PHP. Pemrogram Python yang sombong berasa pemrogram PHP tidak setingkat dengan mereka. Kemungkinan cuma pemrogram Java yang ingin bersahabat dengan pemrogram PHP.
Di tahun 2000 sampai tahun 2010, PHP berjaya karena opsi teknologi peningkatan situs masih terbatas. Opsi yang lain hanya apa? Perl? PHP membuat peningkatan program situs jadi lebih demokratis. Orang buat arsip PHP, upload arsip itu melalui FTP, dan program situs bisa langsung jalan. Semua perusahaan akseptasi program situs (hosting) memiliki jasa akseptasi share (shared hosting) yang memberikan dukungan PHP. Selanjutnya nampaklah program legendaris seperti Joomla, WordPress, Drupal.
Tetapi dengan bersamaan jumlahnya orang yang masuk ke pemrograman situs, dan tidak seluruhnya orang itu mempunyai kekuatan lebih dan disiplin dalam meningkatkan program situs, karena itu nampaklah kekeliruan-kesalahan dan keteledoran-keteledoran yang mencemarkan nama baik PHP. Ini diperparah dengan design antar-muka pemrograman program (API) yang membuat orang kebingungan seperti array_search di mana orang kerap lupa patokan pertama itu jerami (data) atau jarum (hal yang dicari).
$a = array(1, 2, 3);
array_search(2, $a);
Bandingkan dengan Python yang mempunyai API yang lebih simple, yakni indeks yang dihubungkan dengan object yang disebut data itu, misalkan:
a = [1, 2, 3]
a.index(2)
Orang jadi kecewa dan memilih untuk berpindah ke bahasa lain. Lahirlah Ruby on Rails yang reputasinya terbang tinggi ke angkasa. Python juga melahirkan rangka peningkatan Django. Lalu Go lahir dan merampas berhati-hati orang.
mengenai akan hal itu, penulis mengirimkan balasan sebagai berikut:
1. PHP masih hidup
Iya betul, di Indonesia, beberapa perusahaan populer, misalkan unicorn-unicorn Indonesia, tidak gunakan PHP di pelayan mereka.
- Tokopedia gunakan Go.
- Gojek gunakan Ruby, Clojure, Java.
- BukaLapak gunakan Ruby, Go.
- Traveloka gunakan Java.
Tetapi menurut riset, ada banyak website yang menggunakan PHP. Sampai lebih dari 75%!
Jadi PHP akan memberikan keamanan tugas (job security) untuk Anda.
Benar, karena hanya banyak tugas, belum pasti PHP ialah teknologi ideal. Kemungkinan beberapa pekerjaan PHP cuman memberikan upah kecil. Apa fungsinya beberapa ribu lowongan kerja PHP tetapi upah yang dijajakan jauh kalah dengan lowongan kerja tehnologi yang lain semakin sedikit tetapi upahnya semakin tinggi? Tapi.. di luar beberapa perusahaan populer (yang semestinya dapat menggaji semakin tinggi dari rerata) masih gunakan PHP kok.
2. Tidak boleh simpan semua telur di dalam 1 keranjang
Tidak boleh hanya belajar PHP. Tetapi belajar bahasa lain. Minimum 2 bahasalah untuk pelayan (backend). Satu bahasa telah diputuskan: PHP. Nah tentukan bahasa lain. Tentukan di antara bahasa Go, Ruby, Java, atau Python. Mereka ialah bahasa terkenal untuk pelayan. Misalkan Anda tentukan bahasa Ruby. Belajar bahasa Ruby selainnya PHP. Terus belajar rangka peningkatan websitenya, yakni Ruby on Rails.
3. Tidak boleh hanya belajar rangka peningkatan situs CI (CodeIgniter)
Tetapi belajar rangka peningkatan situs Laravel. Laravel saat ini ialah rangka peningkatan situs PHP yang paling terkenal entahlah disaksikan dari Github atau Google Trends. Symfony kalah ngetrend dibanding Laravel tetapi mempunyai kontribusi yang semakin banyak dibanding Laravel. Dalam pada itu CI kalah atas segi manapun. Jadi kelihatannya Laravel menggenggam pucuk klassemen hingga saat ini.
- https://github.com/laravel/laravel
- https://github.com/codeigniter4/CodeIgniter4
- https://github.com/symfony/symfony
- https://trends.google.com/trends/explore?geo=US&q=Laravel,CodeIgniter,Symfony
4. Belajar ketrampilan universal
Lepas dari bahasa pemrograman/rangka peningkatan situs yang Anda tentukan, ada banyak kekuatan universal yang perlu dipunyai oleh pemrogram, misalkan test, CI/CD, code bersih, algoritme, pangkalan data (database), git, jaringan/internet, kriptografi, program pelayan (Nginx/Apache Httpd), dan lain-lain. Jadi belajar beberapa hal ini.
Contoh kasus: Tahukah Anda bagaimana HTTPS bekerja? Bisakah Anda menerangkan HandShake? Bisakah Anda mengonfigurasikan pengimbang penekanan (load balancer) dengan Nginx? Bisakah Anda memasangkan program PHP di AWS/GCP/Azure dan memasangkan Redis yang terhubung ke program PHP Anda?
Maka bila Anda ialah pemrogram PHP dan memahami semua beberapa hal universal ini tetapi Anda melamar kerja sebagai pemrogram dalam bahasa lain, ada peluangnya perusahaan akan masih tetap terima Anda. Anda sudah pasti diharap untuk pelajari bahasa baru di perusahaan itu.
5. Memperdalam kekuatan PHP
Makin dalam kekuatan PHP makin tinggi peluang Anda untuk memperoleh tugas dengan upah tinggi. Tidak boleh hanya belajar langkah baca arsip, perulangan (loop) dan berasa cukup. Tetapi belajar beberapa hal lain seperti skema design (desain pattern), koleksi sampah (garbage collection), keamanan (security), DTrace dynamic tracing, dan lain-lain.
6. Bangun Portfolio PHP
Bila Anda ingin menjadi pemrogram PHP upah tinggi, bangun portfolio yang bagus. Misalkan kontributor ke rangka peningkatan situs CI, atau Laravel, atau Symfony, atau WordPress.
7. Menyelam Lebih Dalam Kembali
Belajar ngoprek program populer dari PHP, seperti WordPress, Magento, atau WooCommerce. Tidak boleh hanya pasang (install) WordP senang dan ress. Tetapi coba buat pengaya (plugin) WordPress. Coba baca dan ketahui code Magento.
Memang benar terkadang kita harus menyaksikan trend untuk pilih tehnologi. Tehnologi apa yang digunakan oleh beberapa perusahaan yang berduit? Tidak ada orang yang perduli bila Anda ialah pemrogram Haskell dan memandang Haskell ialah bahasa terbaik di penjuru dunia tetapi beberapa perusahaan berduit menggunakan Node.js. Yah, Anda harus belajar Node.js jika ingin bisa upah tinggi. Tidak ada yang perduli apa Anda mempunyai penilaian jika Haskell itu 100x lebih bagus dibanding Node.js.
Tetapi PHP masih sehat walafiat dan hidup. Benar, reputasinya menurun. Tetapi PHP masih dominan. Benar, PHP bahasanya kurang afdol. Tetapi dengan PHP 7.4, banyak kekurangan-kelemahan yang diperbarui, misalkan tiped properties, arrow functions, dan lain-lain. PHP punyai rangka peningkatan Laravel yang mempunyai baterai komplet untuk meningkatkan program situs dengan cepat. Bahkan juga Laravel mempunyai Spark yang dapat menolong Anda meningkatkan program situs lebih cepat lagi.
Bila program yang Anda ingin membuat ialah website, Anda tinggal memakai WordPress dan dengan kekuatan PHP, Anda dapat membuat suatu hal yang luar biasa di atas WordPress. Benar, banyak program website saat ini yang mulai merampas hati orang seperti Gatsby, Ghost, Jekyll, dan sebagainya tetapi WordPress masih sebagai program website yang terbanyak dipakai. Bahkan juga Anda dapat menyatukan Gatsby dengan WordPress. Gatsby sediakan website untuk orang luas. WordPress sediakan penulisan website untuk orang dalam.
Untuk program el-niaga (e-commerce), Anda tinggal meningkatkan program situs el-niaga dengan WooCommerce atau Magento. Dengan memakai bahasa PHP, Anda dapat jual jalan keluar el-niaga ke client yang memerlukan situs el-niaga yang dibikin sama sesuai pesanan.
Maka janganlah cemas akan masa datang sebagai pemrogram PHP. Yang perlu Anda perlu giat tingkatkan pengetahuan pemrogram PHP Anda. Tidak boleh hanya senang dapat buat program PHP yang terima data dari formulir dan masukkan data ke pangkalan data MySQL. Tetapi dapatkah Anda tangani juta-an keinginan (request) ke program situs Anda? Nach jika Anda dapat, Anda pantas bisa upah tinggi.