Kariyer tavsiyesi: PHP'de kalın ya da başka bir konuda yeni bir kariyere başlayın (.Net?) [Kapalı]


34

Üst üste 6-12 ayda NY'a taşınmayı planlıyorum, bu yüzden yeni bir iş bulmak zorunda kalıyorum. Hayatımı başka bir şehirde başlatmayı planladığımda, muhtemelen kariyer değişikliklerini düşünmek için iyi bir zaman.

PHP vs. Net vs Java hakkında birçok farklı fikir buldum ve bu konu burada değil. Hangi dilin daha iyi olduğu konusunda yeni bir kavga başlatmak istemiyorum. Bir programlama dilini bilmek, bir yazılım geliştiricisi olmak için en önemli şey değildir. Gerçekten iyi bir geliştirici olmak için OOP, tasarım kalıpları, testler ... ve bir dil bilmeniz gereken şeyleri gerçekleştirmeniz için bir araçtır.

Öyleyse soruma geri dönelim. BT konusunda karma deneyimim var - 1 yıl boyunca BT destek görevlisi olarak (Windows yönetimi ve desteği), gömülü programlamada yaklaşık 2 yıllık deneyimim (VB.Net 2005) ve son 2 yıldır PHP / MySQL ile çalışıyorum. Magento web mağazasında çalıştım, Symfony'deki bazı projelere destek verdim, birkaç Drupal sitesini değiştirdim.

Asıl endişelerim şunlardır:

  1. PHP'deki yeteneklerimi geliştirmeye devam ediyor muyum, örneğin Zend, Symfony gibi bazı büyük PHP çerçevelerini öğrenmeye başlamak için biraz PHP sertifikası alabilirim.
  2. Veya .NET veya Java öğrenmeye başlar mıyım. .NET'e daha aşinayım, bu yüzden muhtemelen seçim .NET ile Java arasına girerse seçerim (ya da beni Java'yı seçmeye ikna edebilirsiniz :).

Kariyer açısından, en iyi seçimin ne olduğunu bilmiyorum. Yeni bir çerçeve ve dil öğrenmek, PHP'deki mevcut becerilerimi geliştirmemden daha fazla zaman alıyor. Ancak .NET ile daha fazla iş bulma şansınız (Windows 7 Telefon geliştirme, Silverlight, WPF) ve muhtemelen daha büyük olasılıklara sahipsiniz.

PHP işleri daha az iyi ödenir, ardından .NET, en azından araştırmama göre (yanlışsam düzeltin). Ama şimdi .NET ile başlarsam, sadece bir acemiyim ve maaşım düşük olacak. NY’de 50-60 bin doların üstünde para ödeyen bir iş bulmayı denemek için bazı dillerde en az 2+ yıllık bir deneyime ihtiyacım var. Gelecek 2-3 yıldaki asıl amacım 60-80 bin dolarlık bir kategoride iş bulmak. Beni yanlış anlamayın, sadece para peşinde koşmuyorum, ancak bir aileyi kurmaya çalışırken para da önemli bir faktördür.

27 yaşındayım ve kariyerimle ilgili yanlış kararlar için fazla yer olmadığını hissediyorum, bu yüzden herhangi bir tavsiye memnuniyetle karşılanacaktır.

Güncelleştirme

Sorunumda bana yardım etmek için zaman ayırdığınız için hepinize teşekkür ederim. Tüm cevaplar ve yorumlar çok yardımcı oldu. PHP'ye bağlı kalmaya karar verdim, aynı zamanda C # ve Silverlight 4'ü de öğrenmeye karar verdim. Hayatın beni nereye götüreceğini göreceğiz.


İkisini de öğren. Her birinde bir proje başlatın. o kadar uzun sürmüyor.
systemovich

Kod Ateşleyiciyi deneyin. Öğrenmesi ve belgelenmesi çok kolaydır.
B Seven

2
2-3 dil öğrenmenin zararı yok.
Rudy

Bu çarptı birisi tarafından çarpıldığından beri sormak zorunda: gömülü VB.NET? ..
Simon Whitehead

@SimonWhitehead tam olarak gömülü değil ama açıklamak için daha iyi bir kelime bulamadım. VB.NET'te, iki DAC'le (veri toplama kartları) iletişim kuran bir endüstriyel donanım parçası (iş arkadaşlarım ve benim tarafımdan yapılan) için yazılmış bir uygulamadır.
Christian P,

Yanıtlar:


64

51 yaşındayım ve 1987'de mezun olduktan sonra ilk işimi yaptığımdan beri en az 15 dil ve / veya çerçeve kullandım.

Seni korusun.

Hiçbir zaman yönetime girmedim çünkü yapmak istemedim, ama nasıl programlanacağımı biliyorum ve ekipleri nasıl motive edeceğimi ve iyi kodlar sunacağımı biliyorum. İnsanların becerileri üzerinde çalışmanız ve sizi uzatan ilginç işler aramanız gerekiyor. Öğrenmeyi ya da eğlenmeyi hiç bırakmadım, ama yoldayken durduğumda yapabileceğim zamanlar oldu - ama kodlama, seyahat etme.

İlkelerinizden ödün vermeden bir yaşam kazanıp kişisel taahhütlerinizi yerine getirdiğiniz sürece, yaptığınız şeyden zevk aldığınız sürece (ailemin neslinin sahip olmadığı bir lüks) devam etmeye devam edin.

Net ve Java genellikle kurumsaldır (çünkü faydalı şeyler yapmak için pahalıdırlar, ama gerçekten iyi ölçeklenirler), PHP genellikle başlangıçtır, Ruby (çoğu zaman bir nedenle tasarım stüdyolarından çıkan başlangıçlar) yaparım. bağımsız olarak. PHP'ye sadık kalırsanız, OO öğelerini öğrenin, çünkü sonunda insanların işleri yapma yolunda olmaya başlayacağını düşünüyorum, çünkü Java ile sahip olduklarınızın biraz daha iyi bir yeniden uygulaması olsa ve daha dinamik hale getirmiş olabilirler. Python yapan ve seyahat etmek isteyen insanlar, dünyanın her yerindeki her türlü ilginç bilimsel ve oyun işini bitirebilir. Perl hala bir koşucudur ve benzer bir profile sahiptir.

Dilinizi unutun, tercih edin ve sektörün tadını çıkarın, insanlar tarafından yönetilen bir şirket seçin ve ona değer veren insanlara değer katarak eğlenin. Pişman olmayacaksın.


9
PHP, OO'da çok zayıf. Bir şablon dili olarak başladı ve gösterir.
Keyo

5
@Keyou, dili başka bir seviyeye götürdüğü için php OO özelliklerinin kullanımını zorlamamanız gerektiği anlamına gelmiyor :)
jonathan

@Keyo PHP'nin bilgileriniz için OO'da zayıf olduğunu söyleyen PHP OO, şimdi Java'ya çok yakındır PHP5.5'e bakın ve gelişmeye devam ediyor
Hmmm

120

Dünyadaki programlama dili seçiminin kariyerinizle ilgisi nedir?

Bu soru, "Çalışacak bir yer için iki seçeneğim var. Patronun Norveç aksanı varken veya patronun ispanyolca aksanı varken mi çalışmalıyım?" Diye sormak gibi.

Orada çok daha önemli kariyer hususlar.

  1. Başlangıç ​​veya kurulan şirket?
  2. BT'nin bir destek işlevi olduğu ürün şirketi veya şirketi?
  3. Yeni şeyler mi öğreneceksin yoksa eskisi yeniden şekillendirecek misin?
  4. 9'dan 5'e veya "istediğiniz 80 saatte çalışmak?"
  5. Güzel çalışanlar mı yoksa çalışanlar mı?
  6. Zeki iş arkadaşları mı yoksa aptal iş arkadaşları mı?
  7. Takım elbise ve kravat ya da t-shirt?

Bu liste saatlerce sürebilir. Bir programlama dilinin seçimi, saçınızı sola mı sağa mı tarayacağınızın seçimi kadar bir programcının kariyeri ile de ilgilidir. Konuşmakta olduğunuz programlama dili lehçesi ne olursa olsun, tamamen yazılım geliştirmedir.


19
Haklısın. Ancak, programlama dilinin türü çoğu durumda şirket profili ile yakından ilgilidir. Anladığım kadarıyla PHP başlangıç ​​şirketlerinde çoğunlukla kullanılıyor ve büyük şirketler de gelişmeleri için .NET kullanıyor.
Christian P

29
Gerçek cevap: Birkaç ay boyunca beş basamaklı Yığın Taşması ününü kazanmak için harcadığınızda, görüşme yapmadan $ 100K + aralığında iş teklifleri alacaksınız.
Joel Spolsky

37
@Joel: StackOverflow'u sevdiğim kadar (ve sadece eğlence için beş basamaklı bir üne ulaşmaktan birkaç hafta uzakta olmak), bu yüzden 100K'lık bir iş teklifi alırsam, size bir bira alacağım :-)
Diego Mijelshon

25
Bazı insanlar için, dil vardır şeyi kariyerinize ile ilgisi yok. Birçok büyük şirkette çalışmayı çok isterdim, ama beni hayal kırıklığına uğratan / üretkenliği azaltan bir dil yazmak pahasına değil. Sadece tek bir dil yazmaktan mutlu olduğumu söylemiyorum, ancak tam zamanlı olarak kodlamak istemediğim diller var ve bir işi kabul etmem aptallık eder, örneğin, esnek bir yazı ile 9-5 iş üzerinden C C # yazma. Bu görüşü paylaşmayabilirsin, sorun değil. Fakat böyle aptal olan programcıları varsaymayın. Önemli düşünceler listeniz sizindir .
Danny Tuppeny,

39
@Joel. 100 bin iş bulabilir miyim? 5 basamaklı bir temsilcim var ve şu an işsizim.
aaronasterling

23

Yapabildiğiniz kadar dil, tercihen her bir gelişim alanından en az bir dil öğrenin.

  • Script programlama dilleri (zaten PHP’niz var Ruby, Python veya başka bir şey deneyin)
  • Zengin çerçeveli sanal makine dilleri için derlendi: Net, Mono, Java
  • Çıplak metale derlendi: C / C ++
  • İşlevsel diller: Lisp, F #, Haskell

Bunların her biri size yazılım geliştirmenin temelleri hakkında bir şeyler öğretecektir. Tabii ki, bunun yanı sıra farklı tasarım yaklaşımları (OO, fonksiyonel, veri odaklı), farklı ekip çalışması yöntemleri (daha sert tiplere kıyasla çevik, tdd), farklı platformlar, farklı dağıtım mekanizmaları (yerel , çerçeve tabanlı, web). Liste devam ediyor. Dil akıcılığı bütünün sadece küçük bir kısmı.

Tüm bunlar için, yetkin olmaları için bunları kullanarak en az bir gerçek ürün yapmanız gerekir.

Bazı insanlar size bir teknolojide (PHP, .Net, Java) uzmanlaşmanız ve ilerlemek için büyük ölçüde bu konuda bir kariyer inşa etmeniz gerektiğini söyleyecektir. Buna hiç katılmıyorum. Birkaç yıl boyunca blokta bulunan bir geliştiriciyi haftanın herhangi bir gününde bir şeyi 10 yıl geçiren birinden farklı platformlar ve teknolojilerle alıyorum. Bunun nedeni, teknolojinin her yıl değişmesi ve yeni bir teknoloji seçme, API'yi okuma ve deneyimlerini sadece kütüphane işlevlerini yürekten tanımaktan daha genel yollarla uygulama yeteneğine sahip olan geliştirici, çok daha verimli olacaktır. uzun vadeli Tamam, böylece 10 yıllık. Net emektarı .Net'teki başlangıç ​​bloklarından daha hızlı bir şekilde kapanacak, ancak bu erken kurşun yaklaşık bir ay içinde kaybedilecek. O'


3
Ayrıca listenize (mantıksal diller (Prolog)), matematiksel diller (kural olarak bir işlevselliğin alt kümesidir) (Mathematica, R), önek / postfix dilleri (PS, Forth), assembler ve donanım tabanlı eklerdim. FPGA'lar ve benzerleri).
Orbling

8
Kabul ediyorum ... yeni diller öğrenmek eğlenceli. Ancak, yeni PHP çerçevesini ve gelecekte kullanmak istediğiniz ek bir dili (C #) öğrenirken genel yazılım geliştirme bilginizi geliştirmeye çalışırken, eğlence için yeni diller öğrenmek bir seçenek değildir veya en azından bir seçenek değildir. hayatınızın diğer bölümlerinde büyük fedakarlıklar.
Christian P

4
Kabul ediyorum Christian, bu cevap biraz aşırı. Fakat belki de bu cevabın paket servisi şu paket olmamalıdır, " Şu anda yeni bir dil öğrenelim , yoksa hayallerinizi elveda öpücüğü verebilirsiniz." Olması gerektiği gibi, "Evet, aşina olmadığınız bir dilde bir iş bulmaya çalışmalısınız, çünkü bu uzun vadede daha iyi bir kariyer yatırımıdır." Ayrıca, gerçekten bir dilde uzmanlaşmanın en iyi yolu.
Neil Traft,

1
@Orbling: haklısın, liste tamamlanmadı, listenin fazla yıldırıcı
görünmemesi

3
Aşırı gelince - bir yılda tüm bu dilleri öğrenmenizi önermiyordum :) Soru, kariyer bağlamında olduğundan, bunun gerçek dışı olduğunu düşünmüyorum. Hepimiz kendi mesleki gelişimimiz için sorumluluk almak zorundayız ve bir yıl içinde daha önce kullanmadığınız bir teknolojiyi kullanarak bir hobi projesi yapsanız bile, bu size çok yardımcı olacaktır. Açık kaynak da bunu yapmanın harika bir yoludur, çünkü sıfırdan başlamadan gerçek bir projeye dahil olabileceğiniz ve toplumdaki akranlarınızdan yardım alabileceğiniz anlamına gelir.
Steve Streeting,

7

PHP işi aramanızı öneririm, çünkü en iyi yaptığınız şey budur.

Ayrıca, öğrenmek istediğiniz yeni teknolojilerde kendinizi eğitmeye başlamanızı öneririm, böylece sonunda bunları kullanarak iş aramaya başlayabilirsiniz, ancak çok kısa bir süre içinde yapmayın çünkü bu şeylerin çok büyük olduğunu ve işverenlerin beklediğini göreceksiniz. üretken olmak için bu behemothlardan yeterince şey biliyorsun. Bu zaman ve pratik gerektirir . Yapmanız gereken zaman ve uygulama miktarını küçümsemeyin.

Potansiyel çalışanın "Java'da programlayabilirim" konusunda neler yapabileceğini tahmin etmek için Sun Java Eğitimine bakabilirsiniz . Ben size en az yarım kavramlar tanıdık araçlar sizin tarafınızdan yazılan bir programda kullanmak edememek nerede, listede aşina olmasını bekliyoruz ve bunu kullanan doğru . Bu seviyeye ulaşmak için 6 aydan fazla boş zaman çalışmasını beklerdim.


7
6 ay? Gerçekten mi? Kiraladığım programcıların dili ve platformunu işe başladıkları ilk haftada öğreniyorlar, bu yüzden birisinin Stack Overflow veya Fog Creek'teki bir işe başvururken hangi dili bildiğini ASLA önemsemiyorum.
Joel Spolsky

4
@Joel, lütfen boş zamanlarınızda malzeme toplamaktan bahsettiğimi unutmayın . Yalnız, etrafında bir akıl hocası olmadan. Bu, ofislerinizde sizinle ve çalışanlarınızla birlikte fiziksel olarak yeni şeyler öğrenmenin bir yolu olmayabilir. Belki de beni yanlış ispatlamak için christianp işe almak istersiniz?

3
@Joel Uygulamanız kendi oluşturduğunuz dilde yazıldığı zaman, fazla seçeneğiniz yok, ha! ;-)
Darrel Miller,

3
@Orbling. Bu onlar için biraz kolay değil mi? Neden "lütfen bu BrainF * ck üretim kodundaki hatayı bulun ve düzeltin! Ben ve 5 meslektaşım sizi ve zamanınızı ne kadar zaman harcayacağınızı" izleyemezsiniz?

5
@Joel - Christian, yeni bir şehirde yeni bir iş ararken, tüm işverenlerin sizin Stack Overflow / Fog Creek'teki gibi dille ilgili olmadığını düşünüyor. Gerçekten, bildiği dilleri önemsememek yerine,% 95 + doğru dil anahtar kelimelerle eşleşmezse, anında özgeçmişini atmayacağını tahmin ediyorum.
Carson63000

6

Trol gibi görünmekten nefret ediyorum ama öğrenmen gereken dil İngilizce. Yazınızda bir sürü hata var ve bu sadece özensiz görünüyor. İşe alıyor olsaydım ve özgeçmişin buysa, bildiğin hangi programlama dilini bildiğin umrumda olmazdı, ingilizceyle olan aptallığının programlama işine taşıyacağını varsayardım.

İkinci bir dil olarak İngilizce'ye geliyorsunuz gibi görünmüyordu (tabii ki yanılıyor olabilirim) ancak çoğu işe alım yöneticisinin duraklamasını sağlamak için yeterli gramer ve heceleme hatası vardı. İlk başta yalnızca yazılı kelimenizi göreceklerinden, bunu düzeltmeniz gerekir.


6
Konu dışı, ama kafalar için teşekkürler. Aslında İngilizce ikinci dilim. İster inanın ister inanmayın (veya belki de sizin için barizdir) ama tek başıma İngilizce konuşmayı / konuşmayı öğrendim (dil kursları olmadan).
Hristiyan P

3
İkinci dilin olduğundan o zaman gayet iyisindir. Açıkçası birisinin özgeçmişinizi sadece emin olmak için kontrol etmesini isteyin, ama biliyorum ki yorumumu Fransızca yapmak zorunda kalırsam, sizinkilerin İngilizce olduğu kadar açık ve net bir şekilde ifade edilmeyeceğini söyleyin. Snarky değildi, sadece yardımcı olmaya çalışıyorum. Yazım ve dilbilgisi ile uğraşmayan çok sayıda Amerikalı var ve onları pazarda incitiyor.
Doug Johnson-Cookloose

1
İngilizcemin gelişmeye ihtiyacı olduğunu biliyorum ve geliştirmek için elimden geleni yapıyorum. Ancak yorumlarınız için müteşekkirim çünkü bir işe başvururken önemli olan izlenim olduğunu biliyorum. Eğer yazım özensizse, iş bulma şansımı incitir.
Christian P

1
Bir zamanlar, bir işveren için işe başvurduysanız özgeçmişinizi parlatmak ve yazım, dilbilgisi ve genel tarzın doğru olduğundan emin olmak için zaman harcarlardı. Ancak son zamanlarda bazı adaylarla röportaj yapıyorum ve işe alım uzmanlarının artık rahatsız etmediği anlaşılıyor, logolarını sağ üst köşeye yapıştırıyorlar ve özgeçmişlerini gönderiyorlar. Bu yüzden özgeçmişinizi ve başvuru mektuplarınızı / e-postalarınızı gözden geçirmek için güvendiğiniz bir arkadaş edinmenizi öneririm.
Carson63000

1
@ Carson63000 İşe alım uzmanları aracılığıyla işe alma deneyimim, 'yardım etmeye' çalıştıklarında çoğu zaman tam bir aday karmaşası yaşadıklarını ifade ediyor. Sonuç olarak, özensiz özgeçmişli adaylara şüphenin faydasını vermek zorunda kaldım. Seçim göz önüne alındığında, aptal askere alınanları denklemden tamamen kestim.
Daniel Cassidy

5

Bu sorunun uzun vadeli cevabı temelde bizim değerli ev sahibimizin (Joel Spolsky) ve Steve Streeting'in söylediği şeydir. Özünde programlama, sorunları çözmek için bilgisayarı kullanmakla ilgili dillerle ilgili değildir ve zaman içinde öğrenilmesi, çalışılması ve düşünülmesi gereken bir zanaattır. Nasıl kodlanacağını bilmek bir programcı yapmaz.

Ancak pratik ve zamana duyarlı bir konu sordunuz .. ŞİMDİ ne ​​yapmalısınız?

Harekete kadar PHP'ye girmenizi öneririm. Zor iş dışında haftanın 20 saati zor, gerçekten zor, içine kazın. PHP ile oldukça kolaydır .. bir hosting hesabı ve etki alanı olsun ve uygulamalar oluşturmaya başlayın. Odaklanan çabayla, 6 ay sonsuzluktur. Bu süre zarfında, bu konuda gerçekten iyi olmak. Bu, bir kez New York'ta iyi bir iş bulmanıza yardımcı olacak ve muhtemelen sizi daha iyi bir programcı haline getirecek.

BTW .. Daha önce bilmiyorsanız , StackExchange ailesinde bir BT istihdam sitesi var .

Daha sonra, yaşam geçişi biraz düştüğünde, Bay Streeting'in oyun kitabını izlemeye ve kodlama ticareti yerine programlama sanatı hakkında kendinizi eğitmeye başlayın . Diğer platformlardaki ve diğer araçlardaki şeyleri okumak ve yapmak için iş dışında biraz zaman kullanın.


1

Bence asıl nokta, bir yazılım mühendisinin, dilin kısıtlamaları dışında, eldeki göreve büyük ölçüde önemsiz olduğu duruma ulaşması gerektiğidir.

Bir dil biliyor olsanız da bilmeseniz de fark yaratmamalısınız, bir kılavuzunuz olması şartıyla, yalnızca ilk günkü hızınızı arttırmak için rulmanlarınızı bulurken.

Bunu söyleyerek, özel dillerin daha az belgeye ve web üzerinde yayılmış örneklere sahip olma eğiliminde olduklarından, işinizi eve götürmek isterseniz alışması ve sorun yaratması daha zordur.


3
Dil nadiren zordur. Ekosistemi ve en iyi uygulamaları öğrenmek oldukça zaman alıyor ...

@ Thorbjørn Çok doğru, bir dilde en iyi uygulamayı elde etmek biraz zaman alabilir. Bu, onu nasıl öğrendiğinize bağlı olmasına rağmen, bazı diller, bilgi bulmak için diğerlerinden çok daha zordur.
Orbling

1

Tavsiyem ilginizi çeken bir iş bulmak ve yapmaktan hoşlanıyor. PHP'yi seviyorsanız, neden PHP becerilerinizi geliştirmeye devam etmiyorsunuz? İlgilendiğiniz bir şeyi yaparak becerileri öğrenmek ve geliştirmek çok daha kolaydır.

Daha önce hiç .NET veya Java'ya baktınız mı? Aksi halde, bu dillerle ilgilenmediğinizi önerebilir, ancak belki de bir hafta geçirebilir ya da her birine bakarak çok da ilgilenip ilgilenmediğinizi kendiniz görebilirsiniz.


Silverlight 4 ve C # ile tanıştım (ayrıca VB.NET 2005’te 2 yılım var), değiştirmeyi düşündüğüm ana sebep bu.
Hristiyan P

1

Kısa dönem; ABD'de işe alım uygulamalarının ne olduğunu bilmiyorum, ancak 6 ~ 12 ay içinde hareket ettiğinizi düşünürken, şu an için iki yıllık bir deneyime sahip olduğunuzdan beri PHP'ye bağlı kalmayı düşünürdüm.

Buradaki deneyimim (Hollanda'da), şirketlerin teknolojilere ve çerçeve deneyimine çok kısa süreli odaklanma eğiliminde olmalarıdır. Dil gerçekten değil - “ 3 yıllık C # deneyimi ” sorsalar bile “ C # ile kullanacağınız çerçeve / sınıf kitaplıkları ve araçlarıyla 3 yıllık deneyim ” demek istiyorlar .

(Aksi takdirde, neden C # sözdizimi ve dil özelliklerini öğrenmek için 3 yıla ihtiyaç duyan birini işe almak istiyorlarsa, benden öte. Kiralamak istemediğim biri gibi geliyor.)

Yeni dil öğrenmek; Statik, dinamik, fonksiyonel, bakış açınızı genişletmek söz konusu olduğunda çok değerlidir. Bununla birlikte, ilgili sınıf kütüphanelerini ve bu dilde bir şeyler yapmanın yolunu öğrenmek deneyim gerektirecektir.

Bir teknoloji yığınını seçip derinlemesine öğrenmek için bir karara varmanızı tavsiye ederim. İlham almak için diğer ortamları kullanın.

Tabii ki kişisel tercih de devreye giriyor. Mesela, bunun için çok fazla pazar varken, asla bir PHP işini kabul etmem: --PI bir yığın seçer ve buna göre av avlarım.

Uzun vadede bir kariyer yapmak için, kodlamanın ötesine bakmanız (nihayetinde bu, öğrenmenin ve belgelerin okunması ve / veya gözden geçirilmesi ile ilgili) ve günün teknolojisinin ötesine bakmanız ve daha çok yumuşak becerilerle ilgilenmeniz gerektiğini düşünüyorum. Teknolojiler oldukça hızlı bir şekilde gelir ve gider. Tabii ki, iyi uygulamalar ve daha genel bir teknik bilgi söz konusu olduğunda öğrenilecek çok şey var, maalesef tecrübelerime göre iş piyasasında nadiren aranıyorlar.


1

Genellikle insanların programlama dillerini ve çerçeveler / teknoloji yığınlarını karıştırdığını düşünüyorum. Yeni bir dil öğrenmek nispeten kolaydır, ancak büyük teknolojiler için çok daha zordur. Bazı programların / problem çözme deneyiminizin en önemli olduğu bazı cevaplarla aynı fikirdeyim, ancak kimsenin 1 hafta içinde tamamen yeni bir teknolojiyi anlayamayacağına inanmıyorum.

Elbette, geliştiricilerin büyük bir kısmı hiçbir zaman tek bir teknik kitap okumadılar ve teknolojilerin yapı taşlarını anlamadılar. Sadece sorunlardan kurtulurlar ve çok "başarılı" olurlar. Kendimi PHP'de ilk başta HTTP'nin nasıl çalıştığını anlamadan kariyerime başladım. Ancak en çok saygı duyduğum bazı işverenlerin “işlerin nasıl yürüdüğünü” derinlemesine anlamalarını bekliyorlar çünkü bu, projelerinin başarı şansını artırma eğiliminde.

Bu anlayışı kazanmak için yapmanız gereken en az şey, iyi bilinen bir geliştirme ortamındaki sık karşılaşılan sorunların çözümlerini prototip yapmak için yeterli zaman içeren bir kaç İYİ kitap okumaktır. Bir hafta içinde yapmak mümkün mü? Bunu yapabilen insanlarla çalışmayı çok isterdim, ancak yakın zamanda böyle insanları görmeyi ummuyorum.

Bazı işverenler aslında bu anlayışı elde etmek için size yeterli zaman vermeye hazırdır, diğer teknoloji yığınlarında (eğer varsa) genel derin teknik deneyiminize saygı duymakla birlikte, maalesef çoğu değil.

Ayrıca, teknolojileri değiştirirken en önemli şey kişiliğinizdir - ne kadar mütevazı ve meraklı bir kişinin işlerin nasıl yürüdüğünü ve yeni bölgenizde işlerin nasıl yapıldığını anlamak için yeterli zaman harcayacaksınız.

Yani, özetlemek için cevabım aşağıdaki olacaktır. Yeterince potansiyeli olan ve (en önemlisi) işinizde sizi mutlu edecek bir teknoloji seçin. Bu teknolojide uzmanlaşmak için iş piyasası buna değer verecek ve hedef maaşınızı almanız için gereken birkaç yıl buna değecektir. Ama asla aşırıya kaçmayın, diğer teknolojilerle biraz zaman geçirmeyin, bu sizi genel olarak daha iyi bir PROFESYONEL yapacaktır.


1

Joel ile aynı fikirdeyim. Ancak cevabı teknik beceri ve tercihlerin ötesine geçiyor.

Deneyimlerime göre, kullanmak istediğiniz şeyi değil, sizi belirli bir teknolojiye veya programlama diline yönlendiren iş gereksinimleriniz normaldir; henüz ne kullanacaklarını tanımlamamış bir başlangıç ​​olmadığı sürece. Ve hiç kimse, tam olarak aradığınızı kullanan bir iş / şirket bulacağınızı garanti edemez.

Yani asıl soru şudur: yeni şeyler öğrenmekte iyi misiniz? programlama diline bakmaksızın bir sorunu çözüp zamanında çözebilir misiniz?

İyi bir programcı, yazılım inşası ve yazılım mühendisliği kavramlarından haberdar olmalıdır. Sorunuz, bunları öğrenmek için yeterince zaman harcamamış olduğunuza inandırıyor, bu da muhtemelen becerilerinizden ve gerçek potansiyellerinizden emin olmamanızı sağlıyor. Ve dürüst olmak gerekirse, yapmadığınız zamanın bu kadarını yapmadıysanız, çünkü bunlar olmadan muhtemelen fazla ileri gitmeyeceksiniz.

Programcılarımızın çoğunun 30 yaşından önce hiç dikkat etmemeye meyilli olduğu başka bir şey var: Programlama becerileri, iyi bir programcı kılan becerilerin sadece yarısıdır. İyi bir takım oyuncusu musunuz? Bilgiyi meslektaşlarınıza, başkalarından bilgi aldığınız şekilde (veya olması gerektiği gibi) isteyerek iletmek ister misiniz? İnsan yetenekleri, çoğumuz tarafından hafife alınan higliler, aslında çok önemlidir.


1

Bu tahtada listelenen yorumların çoğuna katılmıyorum.

Yazılım mühendisliği prensiplerini ve teorisini öğrenmenin yanı sıra, master olmayı seçtiğiniz dil bir meslek seçimidir. Bu yüzden Java programcıları ve PHP programcıları var. PHP programcıları muhtemelen NASA için çalışmayacak ve Java programcıları muhtemelen bir web mağazası için çalışmayacak.

Kurumsal Amerika'da bir iş istiyorsanız, Java / .Net'e gitmeniz daha iyi olur. İçinizdeki iyi gelir içeri girebilir ancak hayatınızı onlara bağışlamaya hazır olun (zaman bilge).

Bağımsız bir freelancer olmak ve web teknolojisinde hızlıca yaşamak için PHP ile daha iyi durumda olursunuz. Burada çok fazla iş var ama maaşlar büyük farklılıklar gösteriyor ve bağımsız olmak sizi Tom'lar, Dick ve Harry ile birlikte çalışmak ve sizi paralar için işe almaya çalışan bir fikirle çalışmak.

PHP ve Java ile bir miktar örtüşen var ancak sadece Kurumsal işlerde (PHP ön uçlu Java REST Servisleri) görüldüğü halde, Java'nın yakınında hiçbir yerde web mağazaları veya bağımsız serbest çalışma bulamazsınız.

Herhangi bir durumda yararlı olmak istiyorsanız, her ikisi de çok zaman ve özveri gerektirir.

Yetkili ve aranan bir PHP geliştiricisi olmak için yetenek setleriyle dolu bir çantaya ihtiyacınız var. Şansınızı CSS, HTML4 / 5 ve kesinlikle Javascript DOM / Ajax / Jquery ile birlikte en az Zend (kurumsal Amerika'nın uzmanının tercihi), Codeignitor, cakePHP, vb. Gibi uygulanabilir bir çerçeve bilmeniz beklenir. "büyük üç" CMS'leri bilmem gerekecek: Drupal, Wordpress ve Magento. Bu yetenek setlerini kemerinizin altına sokun ve gittiğiniz her yere çalışma imkanı sağlayan bir PHP uzmanı olacaksınız. Söyleyebileceğiniz gibi, tüm bunları kabul etmek bir dile bağlılıktır ve araçların kullanımıdır çünkü Perl'i öğrenmek uzman bir Drupal veya Zend geliştiricisi olmanıza yardımcı olmaz.

Aynı şey Java için de geçerli: OOP, J2EE, REST / SOAP, İlkbahar / Struts, vb. Ve yıllarca ustalığa sahip diğer araçlardan oluşan bir filo.

Buradaki herkes bir yıl boyunca Java'yı kodlamayı denedi ve daha sonra PHP'ye (ya da herhangi bir kodlama diline) geri döndü. Bu zor. Garip hissettiriyor.

Bir servet 500 şirketi için çalışıyorum ve Java geliştiricileri PHP geliştiricilerin yaptığını yapamayacak ve PHP geliştiricileri Java geliştiricilerin yaptıklarını yapabilecekler. Fakat ikisi de finansal olarak iyi durumdalar çünkü kendi alanlarında uzmanlar, seçtikleri dil ve beraberinde gelen araçların buğuları.


0

Dil ve platform o kadar önemli değil. Sağlam insanları ve bilişim becerilerini öğrenin. Pek çok insan bunu söyledi ama spesifikasyonlar vermedi, ben de bırakayım. İşte öğrenmeniz gereken bazı şeyler

  • algoritmalar ve veri yapıları.
  • eşzamanlılık
  • makine öğrenme
  • sistem düzeyinde programlama
  • bilgi alma ve arama motorları
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.