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:
- Apakah saya terus meningkatkan keterampilan saya dalam PHP misalnya untuk mulai belajar beberapa kerangka kerja PHP utama seperti Zend, Symfony mungkin mendapatkan sertifikasi PHP.
- 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.
sumber
Jawaban:
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.
sumber
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.
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.
sumber
Pelajari sebanyak mungkin bahasa, setidaknya satu dari setiap bidang utama pengembangan.
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'
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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
sumber