Nasihat karir: tetap menggunakan PHP atau memulai karier baru di bidang lain (.Net?) [Ditutup]


34

Saya berencana pindah ke NY dalam puncak 6-12 bulan, jadi saya terpaksa mencari pekerjaan baru. Ketika saya berencana untuk memulai hidup saya di kota lain, mungkin juga saat yang tepat untuk memikirkan perubahan karier.

Saya telah menemukan banyak pendapat berbeda tentang PHP vs .Net vs Java dan ini bukan topik di sini. Saya tidak ingin memulai pertarungan baru tentang bahasa mana yang lebih baik. Mengetahui bahasa pemrograman bukanlah hal yang paling penting untuk menjadi pengembang perangkat lunak. Untuk menjadi pengembang yang benar-benar baik, Anda perlu tahu OOP, pola desain, pengujian ... dan bahasa hanyalah alat untuk mewujudkan sesuatu.

Jadi kembali ke pertanyaan saya. Saya memiliki pengalaman yang beragam dalam IT - 1 tahun sebagai orang dukungan TI (administrasi dan dukungan Windows), sekitar 2 tahun pengalaman dalam pemrograman tertanam (VB.Net 2005) dan selama 2 tahun terakhir saya bekerja dengan PHP / MySQL. Saya telah bekerja dengan toko web Magento, membantu dalam beberapa proyek di Symfony, memodifikasi beberapa situs Drupal.

Kekhawatiran utama saya adalah sebagai berikut:

  1. Apakah saya terus meningkatkan keterampilan saya dalam PHP misalnya untuk mulai belajar beberapa kerangka kerja PHP utama seperti Zend, Symfony mungkin mendapatkan sertifikasi PHP.
  2. Atau apakah saya mulai belajar .NET atau Java. Saya lebih akrab dengan .NET jadi saya mungkin akan memilihnya jika ada pilihan .NET dan Java (atau Anda bisa meyakinkan saya untuk memilih Java :).

Dari segi karir, saya tidak tahu apa pilihan terbaik. Mempelajari kerangka kerja dan bahasa baru lebih memakan waktu daripada meningkatkan keterampilan saya yang ada dalam PHP. Tetapi dengan .NET Anda memiliki banyak kemungkinan (pengembangan Telepon Windows 7, Silverlight, WPF) dan kemungkinan peluang yang lebih besar untuk menemukan pekerjaan yang lebih baik.

Pekerjaan PHP dibayar kurang dari itu. NET, setidaknya, menurut penelitian saya (benar kalau saya salah). Tetapi jika saya mulai sekarang dengan .NET Saya hanya pemula dan gaji saya akan rendah. Saya membutuhkan setidaknya 2+ tahun pengalaman dalam beberapa bahasa untuk mencoba mencari pekerjaan yang membayar lebih dari $ 50-60k di NY. Tujuan utama saya dalam 2-3 tahun ke depan adalah mencoba mencari pekerjaan dalam kategori $ 60-80k. Jangan salah paham, saya tidak hanya mengejar uang, tetapi uang adalah faktor penting ketika Anda mencoba memulai sebuah keluarga.

Saya berusia 27 tahun dan saya merasa bahwa tidak ada banyak ruang untuk keputusan yang salah mengenai karier saya, jadi saran apa pun akan sangat diterima.

Memperbarui

Terima kasih semua telah meluangkan waktu untuk membantu saya dengan masalah saya. Semua jawaban dan komentar sangat membantu. Saya telah memutuskan untuk tetap menggunakan PHP tetapi juga untuk belajar C # dan Silverlight 4. Kita akan melihat ke mana hidup akan membawa saya.


Pelajari keduanya. Mulai proyek di masing-masing. tidak butuh waktu lama.
systemovich

Coba Penyala Kode. Sangat mudah dipelajari dan didokumentasikan dengan baik.
B Seven

2
Tidak ada salahnya belajar 2-3 bahasa.
Rudy

Karena ini ditabrak oleh seseorang, saya harus bertanya: embedded VB.NET? ..
Simon Whitehead

@SimonWhitehead itu tidak benar-benar tertanam tetapi saya tidak bisa menemukan kata yang lebih baik untuk menjelaskannya. Itu adalah aplikasi yang ditulis dalam VB.NET untuk perangkat industri (yang dibuat oleh rekan kerja saya dan saya) yang berkomunikasi dengan dua DAC (kartu akuisisi data).
Christian P

Jawaban:


64

Saya berusia 51 tahun dan telah menggunakan setidaknya 15 bahasa dan / atau kerangka kerja sejak saya mendapatkan pekerjaan pertama setelah lulus pada tahun 1987.

Diberkatilah Anda.

Saya tidak pernah masuk ke manajemen karena saya tidak mau, tetapi saya tahu cara memprogram dan saya tahu bagaimana membuat tim tetap termotivasi dan memberikan kode yang baik. Anda perlu bekerja pada keterampilan orang dan mencari pekerjaan menarik yang membentang Anda. Saya tidak pernah berhenti belajar atau bersenang-senang, tetapi ada saat-saat ketika saya berada di jalan yang bisa saya lakukan dengan berhenti - tetapi tidak coding, bepergian.

Selama Anda dapat mencari nafkah dan memenuhi komitmen pribadi Anda tanpa mengorbankan prinsip-prinsip Anda, selama Anda menikmati apa yang Anda lakukan (sebuah kemewahan yang tidak dimiliki generasi orang tua saya), teruslah lanjutkan.

.Net dan Java umumnya bersifat korporat (karena harganya mahal untuk melakukan hal-hal yang bermanfaat, tetapi skalanya sangat baik), PHP pada umumnya adalah startup, I do Ruby (biasanya startup yang keluar dari studio desain karena suatu alasan) untuk banyak orang sebagai mandiri. Jika Anda tetap menggunakan PHP untuk mempelajari hal-hal OO, karena saya pikir akhirnya akan mulai menjadi cara orang melakukan sesuatu, meskipun itu adalah implementasi ulang sedikit lebih baik dari apa yang Anda miliki dengan Java dan mereka bisa membuatnya jauh lebih dinamis. Orang-orang yang melakukan Python dan ingin bepergian dapat akhirnya melakukan segala macam hal ilmiah dan permainan yang menarik di seluruh dunia. Perl juga seorang pelari dan memiliki profil yang mirip.

Lupakan bahasa, pilih dan industri yang Anda suka, pilih perusahaan yang dikelola oleh manusia, dan bersenang-senanglah memberikan nilai kepada orang-orang yang menghargainya. Anda tidak akan menyesalinya.


9
PHP sangat lemah pada OO. Ini dimulai sebagai bahasa templat dan ditampilkan.
Keyo

5
@ Kaney, bukan berarti Anda tidak boleh mendorong penggunaan fitur OO php karena membawa bahasa ke level yang lebih tinggi :)
jonathan

@Keyo Siapa yang mengatakan bahwa PHP lemah pada OO untuk informasi Anda PHP OO sekarang sangat dekat dengan Java Lihat PHP5.5 dan terus membaik
Hmmm

120

Apa hubungan pilihan bahasa pemrograman dengan karir Anda?

Pertanyaan ini seperti bertanya, "Saya punya dua pilihan tempat bekerja. Haruskah saya bekerja di tempat di mana bos memiliki aksen Norwegia, atau di mana bos memiliki aksen Spanyol?"

Ada banyak pertimbangan karier yang jauh lebih penting.

  1. Startup atau perusahaan mapan?
  2. Perusahaan produk atau perusahaan di mana IT adalah fungsi pendukung?
  3. Apakah Anda akan mempelajari hal-hal baru atau mengulangi yang lama?
  4. 9 hingga 5 atau "bekerja setiap 80 jam yang Anda inginkan?"
  5. Rekan kerja yang bagus atau rekan kerja yang jahat?
  6. Rekan kerja cerdas atau rekan kerja bodoh?
  7. Jas dan dasi atau kaos?

Daftar ini bisa berlangsung berjam-jam. Pilihan bahasa pemrograman sama relevannya dengan karier seorang programmer seperti pilihan apakah menyisir rambut Anda ke kiri atau ke kanan. Ini semua pengembangan perangkat lunak apa pun dialek bahasa pemrograman yang Anda gunakan.


19
Anda benar juga. Tetapi jenis bahasa pemrograman dalam banyak kasus terkait erat dengan profil perusahaan. Dalam pemahaman saya PHP sebagian besar digunakan di perusahaan startup dan perusahaan mapan besar menggunakan .NET untuk pengembangan mereka.
Christian P

29
jawaban yang sebenarnya: menghabiskan beberapa bulan mendapatkan reputasi Stack Overflow lima digit, dan Anda akan mendapatkan tawaran pekerjaan dalam kisaran $ 100K + tanpa wawancara.
Joel Spolsky

37
@ Joel: sebanyak yang saya suka StackOverflow (dan menjadi beberapa minggu lagi untuk mencapai reputasi lima digit hanya untuk bersenang-senang), jika saya pernah mendapatkan tawaran pekerjaan 100 ribu karena itu, saya akan membelikan Anda bir :-)
Diego Mijelshon

25
Bagi sebagian orang, bahasa memiliki segala sesuatu harus dilakukan dengan karir Anda. Saya ingin bekerja untuk banyak perusahaan besar, tetapi tidak dengan mengorbankan penulisan bahasa yang akan membuat saya frustrasi / mengurangi produktivitas. Saya tidak mengatakan saya hanya senang menulis satu bahasa, tetapi pasti ada bahasa yang saya tidak ingin kode penuh waktu, dan itu akan bodoh bagi saya untuk menerima pekerjaan, misalnya, dengan menulis flexitime Objective- C lebih dari pekerjaan 9-5 menulis C #. Anda mungkin tidak membagikan pendapat ini, itu bagus. Tetapi jangan menganggap programmer yang melakukannya adalah idiot. Daftar pertimbangan penting Anda adalah milik Anda .
Danny Tuppeny

39
@ Joel. Bisakah saya memiliki pekerjaan 100 ribu? Saya memiliki perwakilan 5 digit dan saat ini saya menganggur.
aaronasterling

23

Pelajari sebanyak mungkin bahasa, setidaknya satu dari setiap bidang utama pengembangan.

  • Bahasa pemrograman skrip (Anda sudah punya PHP, coba Ruby, Python, atau yang lainnya)
  • Dikompilasi ke bahasa mesin virtual dengan kerangka kerja kaya: .Net, Mono, Java
  • Dikompilasi dengan bare-metal: C / C ++
  • Bahasa fungsional: Lisp, F #, Haskell

Masing-masing akan mengajarkan Anda sesuatu tentang dasar-dasar pengembangan perangkat lunak. Tentu saja, di atas itu Anda perlu mengalami pendekatan desain yang berbeda (OO, fungsional, berbasis data), metode kerja tim yang berbeda (gesit, tdd, dibandingkan dengan jenis yang lebih kaku), platform yang berbeda, mekanisme penyebaran yang berbeda (asli , berbasis kerangka kerja, web). Daftarnya berlanjut. Kefasihan bahasa hanyalah satu bagian kecil dari keseluruhan.

Untuk semua hal ini, Anda harus membuat setidaknya satu produk nyata untuk menggunakannya agar mahir.

Beberapa orang akan memberi tahu Anda bahwa Anda perlu berspesialisasi dalam satu teknologi (PHP, .Net, Java) dan membangun karier yang sebagian besar di sekitar itu untuk membuat kemajuan. Saya tidak setuju dengan ini sama sekali. Saya akan mengajak pengembang yang telah beberapa kali memblokirnya dengan platform dan teknologi berbeda selama lebih dari 10 tahun melakukan satu hal setiap hari dalam seminggu. Alasannya adalah bahwa teknologi berubah setiap tahun, dan pengembang yang mampu mengambil teknologi baru, membaca API dan menerapkan pengalaman mereka dengan cara yang lebih umum daripada sekadar mengetahui fungsi perpustakaan dengan hati, akan jauh lebih produktif di jangka panjang. Oke, jadi veteran .Net 10 tahun itu akan lebih cepat keluar dari blok awal. Net, tetapi keunggulan awal itu hilang dalam waktu sekitar satu bulan. Saya t'


3
Saya juga akan menambahkan ke daftar Anda, bahasa logika (Prolog), bahasa matematika (yang merupakan bagian dari fungsional sebagai aturan) (Mathematica, R), bahasa prefix / postfix (PS, Forth), assembler dan berbasis perangkat keras (untuk FPGA dan sejenisnya).
Orbling

8
Saya setuju ... belajar bahasa baru itu menyenangkan. Tetapi ketika Anda mencoba untuk meningkatkan pengetahuan pengembangan perangkat lunak umum sambil mempelajari kerangka kerja PHP baru dan bahasa tambahan (C #) yang ingin Anda gunakan di masa depan, belajar bahasa baru untuk bersenang-senang bukanlah suatu pilihan atau setidaknya bukan pilihan tanpa pengorbanan besar di bagian lain hidup Anda.
Christian P

4
Saya setuju Christian, jawaban ini agak ekstrem. Tetapi mungkin jawaban yang diambil dari jawaban ini seharusnya tidak, "Pelajari satu bajillion bahasa baru sekarang atau Anda bisa mencium selamat tinggal impian Anda." Seharusnya, "Ya, Anda harus mencoba untuk mendapatkan pekerjaan dalam bahasa yang tidak Anda kenal, karena itu adalah investasi karir yang lebih baik dalam jangka panjang." Plus itu cara terbaik untuk benar-benar menjadi mahir dalam bahasa.
Neil Traft

1
@Orbling: Anda benar, daftarnya tidak lengkap, saya hanya memilih yang 'karier' utama untuk menghindarinya menjadi daftar yang terlalu menakutkan;)
Steve Streeting

3
Mengenai ekstrim - saya tidak menyarankan Anda mempelajari semua bahasa ini dalam setahun :) Karena pertanyaannya adalah dalam konteks karier, saya rasa ini tidak realistis sama sekali. Kita semua harus bertanggung jawab atas pengembangan profesional kita sendiri, dan bahkan jika Anda melakukan satu proyek hobi dalam setahun menggunakan teknologi yang belum pernah Anda gunakan sebelumnya, itu akan banyak membantu Anda. Open source adalah cara yang bagus untuk melakukan ini juga, karena itu berarti Anda dapat terlibat dalam proyek nyata tanpa memulai dari awal, dan mendapatkan bantuan dari rekan-rekan di komunitas.
Steve Streeting

7

Saya akan menyarankan mencari pekerjaan PHP karena itulah yang Anda lakukan terbaik.

Saya juga menyarankan Anda mulai mendidik diri sendiri dalam teknologi baru yang ingin Anda pelajari sehingga Anda akhirnya dapat mulai mencari pekerjaan menggunakan itu, tetapi jangan lakukan itu pada tenggat waktu yang sangat singkat karena Anda akan menemukan bahwa hal-hal ini sangat besar dan pengusaha berharap Anda cukup tahu raksasa ini menjadi produktif. Itu membutuhkan waktu dan latihan . Jangan meremehkan jumlah waktu dan jumlah latihan yang harus Anda lakukan.

Untuk memberi Anda perkiraan kemampuan apa yang harus dimiliki "Saya dapat memprogram di Jawa", Anda dapat melihat pada Tutorial Java Java . Saya berharap Anda terbiasa dengan setidaknya setengah dari konsep yang terdaftar, di mana berarti akrab dapat menggunakannya dalam program yang ditulis oleh Anda, dan menggunakannya dengan benar . Saya berharap itu akan memakan waktu lebih dari 6 bulan waktu luang belajar untuk mencapai tingkat itu.


7
6 bulan? sangat? Jenis programmer yang saya sewa belajar bahasa dan platform di minggu pertama mereka di tempat kerja, itulah sebabnya saya TIDAK PERNAH peduli bahasa apa yang diketahui seseorang ketika mereka melamar pekerjaan di Stack Overflow atau Fog Creek.
Joel Spolsky

4
@ Joel, harap dicatat saya berbicara tentang mengambil barang di waktu luang Anda . Sendiri, tanpa mentor di sekitar. Ini mungkin tidak seefisien cara untuk mempelajari hal-hal baru seperti secara fisik di kantor Anda dengan Anda dan karyawan Anda di sekitar ... Mungkin Anda akan ingin menyewa christian.p untuk membuktikan saya salah?

3
@ Joel Ketika aplikasi Anda ditulis dalam bahasa yang Anda buat sendiri, Anda tidak punya banyak pilihan, eh! ;-)
Darrel Miller

3
@Orbling. Bukankah itu agak mudah bagi mereka? Mengapa bukan sesuatu seperti "tolong temukan dan perbaiki bug dalam kode produksi BrainF * ck ini! Saya dan 5 rekan kerja saya akan mengawasi Anda dan berapa lama waktu yang Anda ambil"?

5
@ Joel - Saya curiga bahwa ketika Christian mencari pekerjaan baru di kota baru, ia akan menemukan bahwa tidak semua majikan sama agnostiknya dengan Anda di Stack Overflow / Fog Creek. Memang saya akan menebak bahwa jauh dari tidak peduli bahasa apa yang dia tahu, 95% + akan melemparkan resume-nya ke dalam bin langsung jika tidak cocok dengan kata kunci bahasa yang benar.
Carson63000

6

Saya benci terlihat seperti troll, tetapi bahasa yang harus Anda pelajari adalah bahasa Inggris. Ada banyak kesalahan dalam posting Anda dan itu hanya terlihat ceroboh. Jika saya merekrut dan itu adalah resume Anda, saya tidak akan peduli bahasa pemrograman apa yang Anda tahu Anda ketahui, saya akan berasumsi bahwa kecerobohan Anda dengan bahasa Inggris akan terbawa ke pekerjaan pemrograman Anda.

Tampaknya Anda tidak menggunakan bahasa Inggris sebagai bahasa kedua (tentu saja, saya bisa salah), tetapi ada kesalahan tata bahasa dan ejaan yang cukup untuk membuat sebagian besar manajer perekrutan berhenti. Karena mereka hanya akan melihat kata-kata tertulis Anda pada awalnya, Anda harus memperbaikinya.


6
Ini di luar topik, tapi terima kasih atas perhatiannya. Bahasa Inggris sebenarnya adalah bahasa kedua saya. Percaya atau tidak (atau mungkin sudah jelas bagi Anda) tetapi saya belajar bagaimana berbicara / berbicara bahasa Inggris sendiri (tanpa kursus bahasa).
Christian P

3
Karena ini adalah bahasa kedua Anda maka Anda baik-baik saja. Jelas ada seseorang yang memeriksa resume Anda hanya untuk memastikan, tetapi saya tahu bahwa jika saya harus melakukan komentar saya dalam bahasa Prancis, katakanlah, itu tidak akan sejelas dan diungkapkan dengan baik seperti yang Anda miliki dalam bahasa Inggris. Tidak sedang marah, hanya berusaha membantu. Ada sejumlah orang Amerika yang tidak peduli dengan ejaan dan tata bahasa mereka dan itu menyakitkan mereka di pasar.
Doug Johnson-Cookloose

1
Saya tahu bahasa Inggris saya perlu ditingkatkan dan saya melakukan yang terbaik untuk memperbaikinya. Tapi saya berterima kasih atas komentar Anda karena saya tahu ketika saya melamar pekerjaan itu kesan keseluruhan yang penting. Jadi, jika tulisan saya ceroboh, itu akan merusak peluang keseluruhan saya untuk mendapatkan pekerjaan.
Christian P

1
Sekali waktu, jika Anda melamar pekerjaan melalui perekrut, mereka akan meluangkan waktu untuk memoles resume Anda dan memastikan ejaan, tata bahasa dan gaya keseluruhan sudah benar. Tetapi saya baru-baru ini mewawancarai beberapa kandidat, dan tampaknya perekrut tidak lagi peduli, mereka hanya menempelkan logo mereka di sudut kanan atas dan mengirimkan resume. Jadi saya sarankan mencari teman yang Anda percayai untuk memeriksa resume dan surat lamaran / email Anda.
Carson63000

1
@ Carson63000 Pengalaman saya merekrut melalui perekrut adalah bahwa ketika mereka mencoba untuk 'membantu' mereka sering mengacaukan resume para kandidat. Akibatnya, saya harus memberi kandidat dengan CV yang ceroboh manfaat dari keraguan. Diberi pilihan, saya sama sekali tidak akan mempekerjakan perekrut yang idiot.
Daniel Cassidy

5

Jawaban jangka panjang untuk pertanyaan ini pada dasarnya adalah apa yang dikatakan oleh tuan rumah kami yang terhormat (Joel Spolsky) dan Steve Streeting. Pemrograman pada intinya bukan tentang bahasa, melainkan tentang menggunakan komputer untuk menyelesaikan masalah, dan merupakan keahlian yang harus dipelajari dan dikerjakan serta dipikirkan seiring waktu. Mengetahui bagaimana kode tidak menjadikannya seorang programmer.

Tapi Anda bertanya pada topik pragmatis dan sensitif waktu .. apa yang harus Anda lakukan SEKARANG?

Saya sarankan Anda menggali PHP sampai pindah. Gali itu, keras, sangat keras, 20 jam seminggu di luar kerja keras. Dengan PHP itu sangat mudah .. dapatkan akun hosting dan domain dan mulai membangun aplikasi. Dengan upaya yang terfokus, 6 bulan adalah selamanya. Selama waktu itu, menjadi sangat baik dalam hal itu. Ini akan membantu Anda menemukan pekerjaan yang baik sekali di New York, dan kemungkinan besar akan membuat Anda seorang programmer yang lebih baik untuk boot.

BTW .. jika Anda belum tahu, ada situs kerja IT di keluarga StackExchange.

KEMUDIAN, ketika transisi kehidupan telah menetap turun sedikit, mulai mengikuti pedoman Mr. Streeting ini dan mendidik diri sendiri tentang kerajinan pemrograman daripada perdagangan coding. Gunakan waktu di luar pekerjaan untuk membaca dan melakukan hal-hal di platform lain dan dengan alat lain.


1

Saya pikir intinya adalah, pada akhirnya seorang insinyur perangkat lunak harus sampai ke keadaan di mana bahasa sebagian besar tidak penting untuk tugas yang sedang dihadapi, kecuali dalam keterbatasannya.

Apakah Anda tahu bahasa atau tidak seharusnya tidak membuat perbedaan, asalkan Anda memiliki manual, hanya untuk mempercepat untuk hari pertama atau lebih saat Anda menemukan bantalan Anda.

Karena itu, bahasa berpemilik cenderung memiliki lebih sedikit dokumentasi dan contoh yang tersebar di seluruh web, dan karenanya lebih sulit untuk menjadi terbiasa dan menimbulkan masalah jika Anda ingin membawa pulang pekerjaan Anda ke rumah.


3
Bahasanya jarang sulit. Mempelajari ekosistem dan praktik terbaik yang saya lakukan cukup lama ...

@ Thorbjørn Sangat benar, perlu beberapa waktu untuk mendapatkan praktik terbaik dalam suatu bahasa. Meskipun itu sangat tergantung pada bagaimana Anda mempelajarinya, beberapa bahasa jauh lebih sulit daripada yang lain untuk menemukan informasi.
Orbling

1

Saran saya adalah mencari pekerjaan dengan melakukan apa yang Anda minati, dan senang melakukannya. Jika Anda menikmati PHP, mengapa tidak terus mengembangkan keterampilan PHP Anda. Adalah jauh lebih mudah untuk belajar dan mengembangkan keterampilan melakukan sesuatu yang Anda minati.

Pernahkah Anda melihat .NET atau Java sebelumnya? Jika tidak, itu mungkin menunjukkan bahwa Anda tidak tertarik dengan bahasa-bahasa itu, tetapi mungkin Anda bisa menghabiskan satu minggu atau lebih melihat masing-masing dan melihat sendiri apakah Anda tertarik.


Saya kenal dengan Silverlight 4 dan C # (juga saya punya 2 tahun di VB.NET 2005), itulah alasan utama saya berpikir untuk beralih.
Christian P

1

Jangka pendek; Saya tidak tahu apa praktik perekrutan di AS, tetapi mengingat Anda pindah dalam 6 ~ 12 bulan, saya akan, untuk saat ini, mempertimbangkan tetap menggunakan PHP karena Anda memiliki pengalaman dua tahun dengannya.

Pengalaman saya di sini (di Belanda) adalah bahwa perusahaan cenderung memiliki fokus jangka pendek pada teknologi dan pengalaman kerangka kerja. Bahasa ini benar-benar tidak -it-, bahkan jika mereka bertanya " 3 tahun pengalaman C # " mereka bermaksud mengatakan " 3 tahun pengalaman dengan framework / class library dan alat yang akan Anda gunakan dengan C # ".

(Kalau tidak, mengapa mereka ingin mempekerjakan orang yang membutuhkan 3 tahun untuk mempelajari sintaks C # dan fitur bahasa di luar saya. Kedengarannya seperti seseorang yang saya tidak ingin mempekerjakan.)

Belajar bahasa baru; statis, dinamis, fungsional, sangat berharga dalam hal memperluas perspektif Anda. Namun mempelajari perpustakaan kelas yang relevan dan cara melakukan sesuatu dalam bahasa itu akan membutuhkan pengalaman.

Saya akan merekomendasikan mengambil keputusan untuk memilih satu tumpukan teknologi dan mempelajarinya secara mendalam. Gunakan lingkungan lain untuk inspirasi.

Tentu saja preferensi pribadi juga ikut berperan. Misalnya, walaupun ada banyak pasar untuk itu, saya tidak akan pernah menerima pekerjaan PHP: -PI memilih tumpukan dan saya mencari pekerjaan berdasarkan itu.

Sedangkan untuk berkarir, jangka panjang, saya pikir Anda harus melihat melampaui coding (pada akhirnya itu semua tentang belajar dan bisa membaca dan / atau membaca skim) dan teknologi saat ini dan melihat lebih ke soft skill dan semacamnya. Teknologi datang dan pergi dengan agak cepat. Tentu saja ada banyak yang harus dipelajari dalam praktik yang baik dan pengetahuan yang lebih umum, sayangnya mereka jarang dicari di pasar kerja menurut pengalaman saya.


1

Saya berpikir bahwa sering orang mencampur bahasa pemrograman dan kerangka kerja / tumpukan teknologi. Ini relatif mudah untuk belajar bahasa baru, tetapi jauh lebih sulit dengan teknologi besar. Saya setuju dengan beberapa jawaban bahwa yang paling penting adalah keseluruhan pemrograman Anda / pengalaman pemecahan masalah, tetapi saya tidak percaya bahwa ada orang yang dapat MEMAHAMI teknologi yang sama sekali baru dalam 1 minggu.

Tentu saja, sebagian besar pengembang tidak pernah membaca satu buku teknis pun dan tidak memahami blok-blok pembangun teknologi yang mereka gunakan. Mereka hanya meretas jalan keluar dari masalah dan sangat "sukses". Saya sendiri memulai karir di PHP tanpa memahami bagaimana HTTP bekerja pada awalnya. Tetapi beberapa majikan, yang paling saya hormati, mengharapkan pemahaman yang mendalam tentang "cara kerja", hanya karena ini cenderung meningkatkan peluang keberhasilan proyek mereka.

Paling tidak yang perlu Anda lakukan untuk mendapatkan pemahaman ini adalah membaca beberapa buku BAIK dengan cukup waktu untuk membuat prototipe solusi untuk masalah umum di lingkungan pengembangan baru yang tidak dikenal. Apakah mungkin dilakukan dalam seminggu? Saya ingin bekerja dengan orang-orang yang mampu melakukan ini, tetapi saya tidak berharap untuk melihat orang-orang seperti itu dalam waktu dekat.

Beberapa pengusaha sebenarnya siap memberi Anda cukup waktu untuk memperoleh pemahaman ini, menghargai pengalaman teknis mendalam Anda secara keseluruhan dalam tumpukan teknologi lainnya (jika Anda memilikinya), tetapi sayangnya sebagian besar tidak.

Juga, ketika Anda mengubah teknologi, yang paling penting adalah kepribadian Anda - betapa rendah hati dan penasarannya orang yang Anda habiskan cukup waktu untuk memahami bagaimana segala sesuatu bekerja dan bagaimana segala sesuatu dilakukan di daerah baru Anda.

Singkatnya, jawaban saya adalah sebagai berikut. Pilih teknologi, yang memiliki potensi yang cukup dan yang (paling penting) akan membuat Anda bahagia dalam pekerjaan Anda. Mengkhususkan diri dalam teknologi ini, pasar kerja akan menghargai ini dan beberapa tahun yang dibutuhkan untuk mendapatkan target gaji Anda akan sia-sia. Tetapi jangan terlalu bersemangat, menghabiskan waktu dengan teknologi lain, itu akan membuat Anda secara keseluruhan jauh lebih baik secara PROFESIONAL.


1

Saya harus setuju dengan Joel. Tetapi jawabannya melampaui keterampilan teknis dan preferensi.

Dalam pengalaman saya, biasanya persyaratan pekerjaan Anda yang mengarahkan Anda ke teknologi atau bahasa pemrograman tertentu, bukan apa yang ingin Anda gunakan; kecuali itu startup yang belum menentukan apa yang akan mereka gunakan. Dan tidak ada yang bisa menjamin bahwa Anda akan menemukan pekerjaan / perusahaan memanfaatkan apa yang Anda cari.

Jadi pertanyaan sebenarnya adalah: apakah Anda baik dalam mempelajari hal-hal baru? dapatkah Anda mengatasi masalah dan menyelesaikannya tepat waktu tanpa memandang bahasa pemrograman?

Seorang programmer yang baik harus menyadari konstruksi perangkat lunak dan konsep rekayasa perangkat lunak. Pertanyaan Anda membuat saya percaya bahwa Anda belum menginvestasikan cukup waktu untuk mempelajari hal itu, yang mungkin membuat Anda tidak yakin dengan keterampilan Anda dan apa potensi aktual Anda. Dan jujur, jika Anda belum melakukan hal itu, sudah saatnya Anda melakukannya, karena tanpa itu Anda mungkin tidak akan pergi jauh.

Ada hal lain yang sebagian besar dari kita programmer cenderung tidak memberi perhatian sebelum kita berusia lebih dari 30: Keterampilan pemrograman hanya setengah dari keterampilan yang membuat programmer yang baik. Apakah Anda pemain tim yang baik? Apakah Anda bersedia memberikan pengetahuan kepada rekan kerja seperti halnya Anda (atau seharusnya) menerima pengetahuan dari orang lain? Keterampilan orang banyak diremehkan oleh banyak dari kita, sementara mereka sebenarnya sangat penting.


1

Saya tidak setuju dengan sebagian besar komentar yang terdaftar di forum ini.

Terlepas dari mempelajari prinsip dan teori rekayasa perangkat lunak, bahasa yang Anda pilih untuk dikuasai adalah pilihan karier. Itu sebabnya ada programmer Java dan programmer PHP. Pemrogram PHP mungkin tidak akan bekerja untuk NASA dan pemrogram Java mungkin tidak akan bekerja untuk toko web.

Jika Anda menginginkan pekerjaan di perusahaan Amerika, lebih baik Anda menggunakan Java / .Net. Penghasilan yang baik dari Anda bisa didapat tetapi bersiaplah untuk menyumbangkan hidup Anda kepada mereka (waktu bijaksana).

Jika Anda ingin menjadi pekerja lepas independen, dan hidup di jalur cepat dengan teknologi web, Anda lebih baik menggunakan PHP. Banyak pekerjaan di sini tetapi bayarannya sangat bervariasi dan menjadi mandiri adalah bekerja dengan setiap Tom, Dick dan Harry dengan ide mencoba untuk mempekerjakan Anda untuk uang.

Ada beberapa tumpang tindih dengan PHP dan Java tetapi hanya terlihat di pekerjaan Korporasi (Layanan Java REST dengan PHP front-end) namun Anda tidak akan menemukan toko web atau pekerjaan lepas independen di dekat Jawa.

Keduanya membutuhkan banyak waktu dan dedikasi jika Anda ingin berguna dalam situasi apa pun.

Untuk menjadi kompeten dan dicari pengembang PHP Anda membutuhkan tas penuh set keahlian. Kemungkinan Anda akan diharapkan untuk mengetahui CSS, HTML4 / 5, dan yang paling pasti Javascript DOM / Ajax / Jquery plus setidaknya kerangka kerja yang layak seperti Zend (pilihan pencicip perusahaan Amerika), Codeignitor, cakePHP, dll. Dan kemudian Anda Anda harus mengetahui "tiga besar" CMS: Drupal, Wordpress, dan Magento. Dapatkan keahlian ini di bawah ikat pinggang Anda dan Anda akan menjadi spesialis PHP dengan kemampuan untuk mendarat di mana pun Anda pergi. Seperti yang Anda tahu, mengambil semua ini adalah pengabdian pada bahasa dan itu alat karena belajar Perl tidak akan membantu Anda menjadi ahli Drupal atau pengembang Zend.

Hal yang sama berlaku untuk Java: OOP, J2EE, REST / SOAP, Spring / Struts, dll. Dan itu armada alat lain yang membutuhkan waktu bertahun-tahun untuk master.

Adakah yang pernah mencoba kode Java di sini selama setahun dan kemudian kembali ke PHP (atau bahasa scripting apa pun). Itu sulit. Rasanya canggung.

Saya bekerja untuk 500 perusahaan dan pengembang Java tidak akan dapat melakukan apa yang dilakukan pengembang PHP dan pengembang PHP tidak akan dapat melakukan apa yang pengembang Java lakukan. Tetapi mereka berdua berhasil secara finansial karena mereka adalah spesialis di bidangnya, bahasa pilihan mereka dan banyaknya alat yang menyertainya.


0

Bahasa dan platform tidak begitu penting. Pelajari orang-orang yang solid dan keterampilan sci. Banyak orang mengatakan ini tetapi belum memberikan spesifik jadi izinkan saya melakukan itu. Inilah beberapa hal yang perlu dipelajari

  • algoritma dan struktur data.
  • konkurensi
  • pembelajaran mesin
  • pemrograman tingkat sistem
  • pencarian informasi dan mesin pencari
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.