คำแนะนำด้านอาชีพ: พักกับ PHP หรือเริ่มอาชีพใหม่ในสิ่งอื่น (.Net?) [ปิด]


34

ฉันวางแผนที่จะย้ายไปนิวยอร์กในช่วง 6-12 เดือนที่ผ่านมาดังนั้นฉันจึงถูกบังคับให้หางานใหม่ เมื่อฉันวางแผนที่จะเริ่มชีวิตของฉันในเมืองอื่นมันอาจเป็นเวลาที่ดีที่จะคิดถึงการเปลี่ยนแปลงอาชีพ

ฉันพบความคิดเห็นที่แตกต่างกันมากมายเกี่ยวกับ PHP vs .Net vs Java และนี่ไม่ใช่หัวข้อที่นี่ ฉันไม่ต้องการที่จะเริ่มการต่อสู้ใหม่เกี่ยวกับภาษาที่ดีกว่า การรู้ภาษาการเขียนโปรแกรมไม่ใช่สิ่งสำคัญที่สุดสำหรับการเป็นนักพัฒนาซอฟต์แวร์ ในการเป็นนักพัฒนาที่ดีจริงๆคุณต้องรู้จัก OOP รูปแบบการออกแบบการทดสอบ ... และภาษาเป็นเพียงเครื่องมือในการทำให้สิ่งต่างๆเกิดขึ้น

กลับไปที่คำถามของฉัน ฉันมีประสบการณ์หลากหลายในด้าน IT - 1 ปีในฐานะ IT Support guy (การบริหารและการสนับสนุน Windows) มีประสบการณ์ 2 ปีในการเขียนโปรแกรมแบบฝังตัว (VB.Net 2005) และในช่วง 2 ปีที่ผ่านมาฉันทำงานกับ PHP / MySQL ฉันทำงานกับ Magento web shop ซึ่งช่วยเหลือในบางโครงการใน Symfony ซึ่งแก้ไขไซต์ Drupal ไม่กี่แห่ง

ข้อกังวลหลักของฉันคือ:

  1. ฉันจะพัฒนาทักษะของฉันใน PHP อย่างต่อเนื่องเช่นเพื่อเริ่มเรียนรู้กรอบงาน PHP ที่สำคัญบางอย่างเช่น Zend, Symfony หรืออาจได้รับการรับรอง PHP
  2. หรือฉันจะเริ่มเรียนรู้. NET หรือ Java ฉันคุ้นเคยกับ. NET มากขึ้นดังนั้นฉันอาจเลือกได้ถ้าตัวเลือกอยู่ระหว่าง. NET และ Java (หรือคุณสามารถโน้มน้าวให้ฉันเลือก Java :)

อาชีพที่ชาญฉลาดฉันไม่รู้ว่าตัวเลือกที่ดีที่สุดคืออะไร การเรียนรู้กรอบการทำงานและภาษาใหม่นั้นใช้เวลานานกว่านั้นจึงพัฒนาทักษะที่มีอยู่ใน PHP แต่ด้วย. NET คุณมีความเป็นไปได้มากมาย (การพัฒนา Windows 7 Phone, Silverlight, WPF) และโอกาสในการหางานที่ดีกว่า

งาน PHP นั้นได้รับค่าตอบแทนน้อยกว่าดังนั้น .NET อย่างน้อยตามการวิจัยของฉัน (แก้ไขฉันถ้าฉันผิด) แต่ถ้าฉันเริ่มด้วย NET ตอนนี้ฉันเป็นแค่มือใหม่และเงินเดือนของฉันก็จะต่ำ ฉันต้องการประสบการณ์อย่างน้อย 2 ปีในบางภาษาเพื่อลองหางานที่จ่ายสูงกว่า $ 50-60k ในนิวยอร์ก เป้าหมายหลักของฉันในอีก 2-3 ปีข้างหน้าคือพยายามหางานในหมวดหมู่ $ 60-80k อย่าเข้าใจฉันผิดฉันไม่ได้แค่ไล่ล่าเงิน แต่เงินเป็นปัจจัยสำคัญเมื่อคุณพยายามเริ่มครอบครัว

ฉันอายุ 27 ปีและรู้สึกว่าไม่มีที่ว่างเหลือพอสำหรับการตัดสินใจที่ผิดเกี่ยวกับอาชีพของฉันดังนั้นคำแนะนำใด ๆ ก็ยินดีต้อนรับ

ปรับปรุง

ขอบคุณทุกท่านที่สละเวลาเพื่อช่วยฉันแก้ไขปัญหา คำตอบและความคิดเห็นทั้งหมดมีประโยชน์มาก ฉันตัดสินใจที่จะใช้ PHP แต่เรียนรู้ C # และ Silverlight 4 เราจะเห็นว่าชีวิตจะพาฉันไปที่ใด


เรียนรู้ทั้งสอง เริ่มโครงการในแต่ละ มันใช้เวลาไม่นาน
systemovich

ลองใช้ Code Igniter มันง่ายมากที่จะเรียนรู้และจัดทำเอกสารอย่างดี
B เซเว่น

2
ไม่มีอันตรายใด ๆ ในการเรียนรู้ 2-3 ภาษา
Rudy

ตั้งแต่นี้ถูกกระแทกโดยคนที่ฉันต้องถาม: ฝัง VB.NET? ..
Simon Whitehead

@SimonWhitehead มันไม่ได้ถูกฝังอย่างแน่นอน แต่ฉันไม่สามารถหาคำที่ดีกว่าสำหรับการอธิบายได้ มันเป็นแอปพลิเคชันที่เขียนใน VB.NET สำหรับชิ้นส่วนของฮาร์ดแวร์อุตสาหกรรม (ทำโดยเพื่อนร่วมงานของฉันและฉัน) ที่กำลังสื่อสารกับ DAC สองตัว (การ์ดเก็บข้อมูล)
คริสเตียน P

คำตอบ:


64

ฉันอายุ 51 ปีและใช้ภาษาและ / หรือกรอบงานอย่างน้อย 15 ภาษาเนื่องจากฉันได้รับการจ่ายเงินครั้งแรกหลังจากสำเร็จการศึกษาในปี 2530

อวยพรคุณ

ฉันไม่เคยเข้าสู่การจัดการเพราะฉันไม่ต้องการ แต่ฉันรู้วิธีการเขียนโปรแกรมและฉันรู้วิธีทำให้ทีมมีแรงจูงใจและส่งมอบรหัสที่ดี คุณต้องทำงานกับทักษะผู้คนและมองหางานที่น่าสนใจที่ยืดคุณออกไป ฉันไม่เคยหยุดเรียนรู้หรือสนุกสนาน แต่มีหลายครั้งที่ฉันอยู่บนท้องถนนฉันสามารถหยุดได้ - แต่ไม่เข้ารหัสการเดินทาง

ตราบใดที่คุณสามารถหาเลี้ยงชีพและทำตามคำมั่นสัญญาส่วนตัวของคุณโดยไม่ประนีประนอมกับหลักการของคุณตราบใดที่คุณสนุกกับสิ่งที่คุณทำ (ความหรูหราของพ่อแม่ของฉันไม่ได้มี) เพียงแค่รักษาไว้ต่อไป

.Net และ Java เป็นองค์กรโดยทั่วไป (เพราะแพงในการทำสิ่งที่มีประโยชน์ด้วย แต่ขยายขนาดได้ดีมาก) โดยทั่วไปแล้ว PHP เริ่มต้นทำงานฉันทำ Ruby (โดยปกติแล้ว startups ที่มาจากสตูดิโอออกแบบด้วยเหตุผลบางประการ) สำหรับคนจำนวนมาก ในฐานะอิสระ ถ้าคุณยึดติดกับ PHP เรียนรู้สิ่ง OO เพราะฉันคิดว่ามันจะเริ่มเป็นวิธีที่ผู้คนทำสิ่งต่าง ๆ แม้ว่ามันจะเป็นการปรับใช้ที่ดีขึ้นเล็กน้อยของสิ่งที่คุณมีกับ Java และพวกเขาสามารถทำให้มันมีพลังมากขึ้น ผู้ที่ทำ Python และต้องการเดินทางสามารถลงมือทำสิ่งที่น่าสนใจทางวิทยาศาสตร์และเกมทุกประเภททั่วโลก Perl ยังคงเป็นนักวิ่งด้วยและมีโปรไฟล์ที่คล้ายกัน

ลืมภาษาเลือกภาษาและอุตสาหกรรมที่คุณชอบเลือก บริษัท ที่จัดการโดยมนุษย์และสนุกไปกับการมอบคุณค่าให้กับผู้ที่ชื่นชอบมัน คุณจะไม่เสียใจ


9
PHP อ่อนแอมากใน OO มันเริ่มต้นเป็นภาษาแม่แบบและมันแสดงให้เห็น
Keyo

5
@Keyou ไม่ได้หมายความว่าคุณไม่ควรจะผลักดันการใช้คุณสมบัติ PHP OO เป็นมันต้องใช้ภาษาไปอีกระดับหนึ่ง :)
โจนาธาน

@Keyo ใครบอกว่า PHP อ่อนแอใน OO สำหรับข้อมูลของคุณ PHP OO ตอนนี้อยู่ใกล้กับ Java ดู PHP5.5 มากขึ้นเรื่อย ๆ
Hmmm

120

การเลือกภาษาโปรแกรมบนโลกมีอะไรเกี่ยวข้องกับอาชีพของคุณบ้าง?

คำถามนี้เหมือนกับถามว่า "ฉันมีสองทางเลือกสำหรับสถานที่ทำงานฉันควรทำงานในที่ที่เจ้านายมีสำเนียงของชาวนอร์เวย์หรือที่ที่เจ้านายมีสำเนียงสเปน?"

มีมากขึ้นที่สำคัญการพิจารณาอาชีพ

  1. การเริ่มต้นหรือ บริษัท ที่จัดตั้งขึ้น?
  2. บริษัท ผลิตภัณฑ์หรือ บริษัท ที่มันเป็นหน้าที่สนับสนุน?
  3. คุณจะได้เรียนรู้สิ่งใหม่หรือทำสิ่งเก่า ๆ
  4. 9 ถึง 5 หรือ "ทำงาน 80 ชั่วโมงที่คุณต้องการ?"
  5. เพื่อนร่วมงานดีหรือหมายถึงเพื่อนร่วมงาน?
  6. เพื่อนร่วมงานที่ชาญฉลาดหรือเพื่อนร่วมงานที่โง่?
  7. ชุดสูทและเน็คไทหรือเสื้อยืด?

รายการนี้อาจใช้เวลาหลายชั่วโมง การเลือกภาษาการเขียนโปรแกรมมีความเกี่ยวข้องกับอาชีพของโปรแกรมเมอร์มากพอ ๆ กับการเลือกว่าจะหวีผมไปทางซ้ายหรือทางขวา มันคือการพัฒนาซอฟต์แวร์ทั้งหมดไม่ว่าคุณจะใช้ภาษาโปรแกรมภาษาใด


19
คุณมีประเด็น แต่ชนิดของภาษาการเขียนโปรแกรมส่วนใหญ่แล้วจะผูกติดอยู่กับโปรไฟล์ บริษัท ในความเข้าใจของฉัน PHP ส่วนใหญ่จะใช้ใน บริษัท เริ่มต้นและ บริษัท ที่จัดตั้งขึ้นที่สำคัญใช้. NET สำหรับการพัฒนาของพวกเขา
Christian P

29
คำตอบที่แท้จริง: ใช้เวลาสองสามเดือนเพื่อรับชื่อเสียง Stack Overflow ห้าหลักและคุณจะได้รับข้อเสนองานในช่วง $ 100K + โดยไม่ต้องสัมภาษณ์
Joel Spolsky

37
@ Joel: เท่าที่ฉันรัก StackOverflow (และอยู่ห่างจากการเข้าถึงชื่อเสียงห้าหลักเพียงเพื่อความสนุกสนาน) ถ้าฉันเคยได้รับข้อเสนองาน 100K เพราะสิ่งนั้นฉันจะซื้อเบียร์ให้คุณ :-)
Diego Mijelshon

25
สำหรับบางคนภาษามีทุกอย่างที่เกี่ยวข้องกับอาชีพของคุณ ฉันชอบทำงานกับ บริษัท ใหญ่ ๆ หลายแห่ง แต่ไม่ต้องเสียค่าใช้จ่ายในการเขียนภาษาที่จะทำให้ฉันหงุดหงิด / ลดประสิทธิภาพ ฉันไม่ได้บอกว่าฉันมีความสุขที่ได้เขียนภาษาเดียว แต่มีภาษาที่แน่นอนที่ฉันไม่ต้องการเขียนรหัสแบบเต็มเวลาและมันก็โง่สำหรับฉันที่จะรับงานเช่นด้วยการเขียน flexitime วัตถุประสงค์ - มากกว่า 9-5 งานการเขียน C # คุณไม่สามารถแบ่งปันความคิดเห็นนี้ได้ แต่อย่าคิดว่าโปรแกรมเมอร์ที่เป็นคนโง่ รายชื่อของการพิจารณาที่สำคัญคือคุณ
Danny Tuppeny

39
@Joel ฉันสามารถมีงาน 100K ได้ไหม? ฉันมีตัวแทน 5 หลักและตอนนี้ฉันว่างงาน
aaronasterling

23

เรียนรู้ภาษาให้มากที่สุดอย่างน้อยหนึ่งภาษาจากแต่ละส่วนของการพัฒนาที่สำคัญ

  • ภาษาการเขียนโปรแกรมสคริปต์ (คุณมี PHP อยู่แล้วลอง Ruby, Python หรืออย่างอื่น)
  • คอมไพล์เป็นภาษาเครื่องเสมือนด้วยกรอบที่หลากหลาย: .Net, Mono, Java
  • เรียบเรียงเป็นโลหะเปลือย: C / C ++
  • ภาษาหน้าที่: Lisp, F #, Haskell

สิ่งเหล่านี้แต่ละอย่างจะสอนคุณเกี่ยวกับพื้นฐานของการพัฒนาซอฟต์แวร์ แน่นอนว่าคุณจะต้องพบกับแนวทางการออกแบบที่แตกต่างกัน (OO, ฟังก์ชั่น, ขับเคลื่อนด้วยข้อมูล), วิธีการทำงานเป็นทีมที่แตกต่างกัน (agile, tdd, เมื่อเทียบกับประเภทที่เข้มงวดมากขึ้น), แพลตฟอร์มที่แตกต่างกัน , เฟรมเวิร์ค, เว็บ) รายการดำเนินต่อไป ความคล่องแคล่วทางภาษาเป็นเพียงส่วนเล็ก ๆ ของทั้งหมด

สำหรับทุกสิ่งเหล่านี้คุณต้องสร้างผลิตภัณฑ์จริงอย่างน้อยหนึ่งรายการเพื่อให้มีความเชี่ยวชาญ

บางคนจะบอกคุณว่าคุณต้องมีความเชี่ยวชาญในเทคโนโลยีเดียว (PHP, .Net, Java) และสร้างอาชีพส่วนใหญ่รอบ ๆ สิ่งนั้นเพื่อความก้าวหน้า ฉันไม่เห็นด้วยกับเรื่องนี้เลย ฉันจะนำนักพัฒนาซอฟต์แวร์ที่อยู่รอบ ๆ บล็อกมาสองสามครั้งด้วยแพลตฟอร์มและเทคโนโลยีที่แตกต่างกันในช่วงเวลาหนึ่งซึ่งใช้เวลา 10 ปีในการทำสิ่งใดวันหนึ่งของสัปดาห์ เหตุผลก็คือเทคโนโลยีมีการเปลี่ยนแปลงทุกปีและนักพัฒนาที่สามารถเลือกเทคโนโลยีใหม่อ่าน API และใช้ประสบการณ์ของพวกเขาในรูปแบบทั่วไปมากกว่าแค่รู้ว่าฟังก์ชั่นห้องสมุดเป็นสิ่งสำคัญมาก ระยะยาว. ตกลงดังนั้นทหารผ่านศึก. Net 10 ปีจะถูกปิดการบล็อกเริ่มต้นใน. Net เร็วขึ้น แต่ผู้นำที่หายไปในช่วงต้นประมาณหนึ่งเดือน มัน'


3
ฉันจะเพิ่มไปยังรายการภาษาตรรกะ (Prolog) ภาษาคณิตศาสตร์ (ซึ่งเป็นส่วนย่อยของการทำงานเป็นกฎ) (Mathematica, R), คำนำหน้า / ภาษา postfix (PS, Forth), แอสเซมเบลอร์และฮาร์ดแวร์ (สำหรับ FPGA และสิ่งที่ชอบ)
Orbling

8
ฉันเห็นด้วย ... มันสนุกที่ได้เรียนรู้ภาษาใหม่ แต่เมื่อคุณพยายามพัฒนาความรู้การพัฒนาซอฟต์แวร์ทั่วไปในขณะที่เรียนรู้กรอบ PHP ใหม่และภาษาเพิ่มเติม (C #) ที่คุณต้องการใช้ในอนาคตการเรียนรู้ภาษาใหม่เพื่อความสนุกไม่ใช่ตัวเลือกหรืออย่างน้อยก็ไม่มีตัวเลือกที่ไม่มี การเสียสละครั้งสำคัญในชีวิตส่วนอื่น ๆ ของคุณ
Christian P

4
ฉันเห็นด้วยกับคริสเตียนคำตอบนี้สุดขีด แต่บางทีคำตอบจากคำตอบนี้ไม่ควรจะเป็น "เรียนรู้ภาษาใหม่ที่มีมูลค่าถึงพันล้านในตอนนี้หรือคุณแค่จูบลาความฝันของคุณ" มันควรจะเป็น "ใช่คุณควรพยายามหางานด้วยภาษาที่คุณไม่คุ้นเคยเพราะเป็นการลงทุนในอาชีพที่ดีกว่าในระยะยาว" นอกจากนี้ยังเป็นวิธีที่ดีที่สุดในการใช้ภาษาอย่างเชี่ยวชาญ
Neil Traft

1
@Orbling: ถูกต้องรายการไม่สมบูรณ์ฉันเพิ่งเลือก 'อาชีพ' คนหลักเพื่อหลีกเลี่ยงการกลายเป็นรายการที่น่ากลัวเกินไป)
Steve Streeting

3
สำหรับสุดขีด - ฉันไม่ได้แนะนำให้คุณเรียนรู้ภาษาเหล่านี้ทั้งหมดในหนึ่งปี :) เนื่องจากคำถามนั้นอยู่ในบริบทของอาชีพผมจึงไม่คิดว่ามันจะไม่สมจริงเลย เราทุกคนต้องรับผิดชอบต่อการพัฒนาอาชีพของเราเองและแม้ว่าคุณจะทำโปรเจ็คงานอดิเรกหนึ่งปีในหนึ่งปีโดยใช้เทคโนโลยีที่คุณไม่เคยใช้มาก่อนมันจะช่วยคุณได้มาก โอเพ่นซอร์สเป็นวิธีที่ยอดเยี่ยมในการทำเช่นนี้เพราะหมายความว่าคุณสามารถมีส่วนร่วมในโครงการจริงโดยไม่ต้องเริ่มต้นจากศูนย์และรับความช่วยเหลือจากเพื่อนในชุมชน
Steve Streeting

7

ฉันขอแนะนำให้มองหางาน PHP เพราะนั่นคือสิ่งที่คุณทำได้ดีที่สุด

ฉันขอแนะนำให้คุณเริ่มการศึกษาด้วยตนเองเกี่ยวกับเทคโนโลยีใหม่ที่คุณต้องการเรียนรู้เพื่อให้คุณสามารถเริ่มหางานโดยใช้สิ่งเหล่านั้นได้ แต่อย่าทำในวันครบกำหนดที่สั้นเพราะคุณจะพบว่าสิ่งเหล่านี้มีขนาดใหญ่และนายจ้างคาดหวัง คุณต้องรู้ว่าสิ่งเหล่านี้มีประสิทธิผลเพียงพอ ที่ต้องใช้เวลาและการปฏิบัติ อย่าประมาทจำนวนเวลาและจำนวนการฝึกฝนที่คุณจะต้องทำ

เพื่อให้คุณประมาณการของสิ่งที่ "ฉันสามารถเขียนโปรแกรมภาษาจาวา" พนักงานที่มีศักยภาพที่ควรจะเป็นความสามารถในการที่คุณสามารถมีลักษณะที่เป็นJava สอนอาทิตย์ ผมจะคาดหวังว่าคุณจะคุ้นเคยกับอย่างน้อยครึ่งหนึ่งแนวคิดที่ระบุไว้ซึ่งหมายถึงความคุ้นเคยความสามารถที่จะใช้ในโปรแกรมที่เขียนโดยคุณและใช้งานได้อย่างถูกต้อง ฉันคาดว่าจะใช้เวลานานกว่า 6 เดือนในการเรียนให้ถึงระดับนั้น


7
6 เดือน? จริงๆ? ชนิดของโปรแกรมเมอร์ที่ฉันจ้างเรียนรู้ภาษาและแพลตฟอร์มในสัปดาห์แรกของพวกเขาในงานซึ่งเป็นเหตุผลที่ฉันไม่สนใจภาษาที่ใครบางคนรู้เมื่อพวกเขาสมัครงานที่ Stack Overflow หรือ Fog Creek
Joel Spolsky

4
@Joel โปรดทราบฉันกำลังพูดคุยเกี่ยวกับการเก็บค่าสิ่งที่อยู่ในของคุณเวลาว่าง อยู่คนเดียวโดยไม่มีที่ปรึกษารอบ ๆ นี่อาจจะไม่เป็นวิธีที่มีประสิทธิภาพในการเรียนรู้สิ่งใหม่ ๆ เหมือนอยู่ในออฟฟิศของคุณกับคุณและพนักงานของคุณ ... บางทีคุณอาจต้องการจ้าง christian.p เพื่อพิสูจน์ว่าฉันผิด

3
@Joel เมื่อแอปของคุณเขียนด้วยภาษาที่คุณสร้างขึ้นเองคุณไม่มีทางเลือกมากใช่มั้ย! ;-)
Darrel Miller

3
@Orbling มันไม่ง่ายเลยเหรอ? ทำไมไม่เช่น "โปรดค้นหาและแก้ไขข้อผิดพลาดในรหัสการผลิต BrainF * ck นี้ฉันและเพื่อนร่วมงาน 5 คนของฉันจะคอยดูคุณและเวลาที่คุณต้องใช้เวลานานแค่ไหน"?

5
@Joel - ฉันสงสัยว่าเมื่อคริสเตียนกำลังมองหางานใหม่ในเมืองใหม่ที่เขาจะพบว่าไม่ใช่นายจ้างทุกคนที่ไม่เชื่อเรื่องภาษาเหมือนคุณอยู่ที่ Stack Overflow / Fog Creek แน่นอนฉันจะเสี่ยงต่อการคาดเดาว่าจะไม่สนใจภาษาที่เขารู้ 95% + จะโยนเรซูเม่ของเขาในถังขยะทันทีหากไม่ตรงกับคำหลักภาษาที่ถูกต้อง
Carson63000

6

ฉันเกลียดที่จะดูเหมือนโทรลล์ แต่ภาษาที่คุณควรเรียนรู้คือภาษาอังกฤษ มีข้อผิดพลาดมากมายในโพสต์ของคุณและนั่นก็ดูเลอะเทอะ ถ้าฉันได้รับการว่าจ้างและนั่นคือประวัติย่อของคุณฉันจะไม่สนใจภาษาโปรแกรมที่คุณบอกว่าคุณรู้ฉันจะถือว่าความสะเพร่าของคุณกับภาษาอังกฤษจะนำไปสู่การทำงานของโปรแกรมของคุณ

ไม่ปรากฏว่าคุณกำลังมาที่อังกฤษเป็นภาษาที่สอง (แน่นอนฉันอาจเป็นคนผิด) แต่มีข้อผิดพลาดทางไวยากรณ์และการสะกดคำเพียงพอที่จะให้ผู้จัดการหยุดจ้างงานส่วนใหญ่หยุดทำงานชั่วคราว เนื่องจากพวกเขาเพิ่งจะเห็นคำที่เขียนของคุณในตอนแรกคุณต้องแก้ไขให้ถูกต้อง


6
มันอยู่นอกหัวข้อ แต่ต้องขอบคุณสำหรับหัวขึ้น ภาษาอังกฤษเป็นภาษาที่สองของฉัน เชื่อหรือไม่ (หรืออาจเห็นได้ชัดกับคุณ) แต่ฉันเรียนรู้วิธีการพูด / พูดภาษาอังกฤษด้วยตัวเอง (ไม่มีหลักสูตรภาษา)
Christian P

3
เนื่องจากเป็นภาษาที่สองของคุณคุณก็ทำได้ดี เห็นได้ชัดว่ามีใครบางคนตรวจสอบประวัติส่วนตัวของคุณเพียงเพื่อให้แน่ใจ แต่ฉันรู้ว่าถ้าฉันต้องแสดงความคิดเห็นของฉันในภาษาฝรั่งเศสพูดว่ามันจะไม่เป็นที่ชัดเจนและเป็นประโยคที่ดีในภาษาอังกฤษของคุณ ไม่ได้เป็นคนพูดปด มีคนอเมริกันจำนวนไม่น้อยที่ไม่สนใจเรื่องการสะกดและไวยากรณ์และมันทำให้พวกเขาเจ็บปวดในตลาด
Doug Johnson-Cookloose

1
ฉันรู้ว่าภาษาอังกฤษของฉันต้องการการปรับปรุงและฉันพยายามอย่างเต็มที่เพื่อปรับปรุง แต่ฉันขอบคุณสำหรับความคิดเห็นของคุณเพราะฉันรู้ว่าเมื่อฉันสมัครงานมันเป็นความประทับใจโดยรวมที่สำคัญ ดังนั้นหากงานเขียนของฉันเลอะเทอะก็จะทำให้โอกาสในการได้งานโดยรวมของฉันแย่ลง
Christian P

1
กาลครั้งหนึ่งถ้าคุณสมัครงานผ่านนายหน้ามันจะใช้เวลาในการขัดประวัติส่วนตัวของคุณและทำให้แน่ใจว่าการสะกดไวยากรณ์และสไตล์โดยรวมนั้นถูกต้อง แต่เมื่อเร็ว ๆ นี้ฉันได้สัมภาษณ์ผู้สมัครบางคนและดูเหมือนว่านายหน้าจะไม่ต้องกังวลอีกต่อไปพวกเขาแค่ติดโลโก้ที่มุมบนขวาและส่งประวัติส่วนตัว ดังนั้นฉันขอแนะนำให้พาเพื่อนที่คุณไว้ใจไปอ่านประวัติและจดหมายสมัครงาน / อีเมล
Carson63000

1
@ Carson63000 ประสบการณ์ของฉันในการจ้างงานผ่านนายหน้าคือเมื่อพวกเขาพยายามที่จะ 'ช่วย' พวกเขามักจะทำเรื่องยุ่งเหยิงโดยสมบูรณ์เกี่ยวกับผู้สมัคร เป็นผลให้ฉันต้องให้ผู้สมัครที่มีประวัติย่อเลอะเทอะประโยชน์ของข้อสงสัย ให้ทางเลือกที่ฉันได้ตัดนายหน้าบ้าออกจากสมการทั้งหมด
Daniel Cassidy

5

คำตอบระยะยาวสำหรับคำถามนี้นั้นเป็นสิ่งที่โฮสต์ที่นิยมของเรา (Joel Spolsky) และ Steve Streeting กล่าว การเขียนโปรแกรมที่เป็นแกนหลักไม่ได้เกี่ยวกับภาษาที่เกี่ยวกับการใช้คอมพิวเตอร์เพื่อแก้ไขปัญหาและเป็นงานฝีมือที่ต้องเรียนรู้และทำงานและคิดตลอดเวลา การรู้วิธีโค้ดไม่ได้ทำให้โปรแกรมเมอร์เป็นหนึ่ง

แต่คุณถามหัวข้อในทางปฏิบัติและละเอียดอ่อน .. คุณควรทำอย่างไรตอนนี้?

ฉันขอแนะนำให้คุณขุดเป็น PHP จนกว่าจะย้าย ขุดมันยากหนักจริง ๆ 20 ชั่วโมงต่อสัปดาห์นอกการทำงานหนัก ด้วย PHP มันค่อนข้างง่าย .. รับบัญชีโฮสติ้งและโดเมนและเริ่มสร้างแอป ด้วยความมุ่งมั่น 6 เดือนจึงเป็นนิรันดร์ เมื่อเวลาผ่านไปให้ดีจริงๆ สิ่งนี้จะช่วยคุณหางานที่ดีสักครั้งในนิวยอร์กและน่าจะทำให้คุณเป็นโปรแกรมเมอร์ที่ดีกว่าในการบูต

BTW .. ถ้าคุณยังไม่รู้ก็มีเว็บไซต์จ้างงานไอทีในตระกูล StackExchange

จากนั้นเมื่อการเปลี่ยนแปลงในชีวิตทรุดโทรมลงเล็กน้อยให้เริ่มติดตามเพลย์บุ๊คของ Mr. Streetingและให้ความรู้เกี่ยวกับงานฝีมือของการเขียนโปรแกรมมากกว่าการแลกเปลี่ยนรหัส ใช้เวลานอกที่ทำงานเพื่ออ่านและทำสิ่งต่าง ๆ บนแพลตฟอร์มอื่น ๆ และด้วยเครื่องมืออื่น ๆ


1

ฉันคิดว่าประเด็นหลักคือในที่สุดวิศวกรซอฟต์แวร์ควรเข้าสู่สถานะที่ภาษามีความสำคัญอย่างยิ่งต่องานในมือยกเว้นในข้อ จำกัด

ไม่ว่าคุณจะรู้ภาษาหรือไม่ควรสร้างความแตกต่างให้คุณมีคู่มือเพื่อความรวดเร็วในวันแรกหรือขณะที่คุณหาตลับลูกปืน

ต้องบอกว่าภาษาที่เป็นกรรมสิทธิ์มีแนวโน้มที่จะมีเอกสารน้อยลงและตัวอย่างกระจายไปทั่วเว็บและดังนั้นจึงเป็นเรื่องยากที่จะคุ้นเคยและก่อให้เกิดปัญหาหากคุณต้องการพาคุณไปทำงานที่บ้าน


3
ภาษาไม่ค่อยยาก การเรียนรู้ระบบนิเวศและการปฏิบัติที่ดีที่สุดของฉันใช้เวลาค่อนข้างขณะที่ ...

@ Thorbjørnเป็นความจริงมากมันอาจใช้เวลาสักครู่ในการฝึกฝนที่ดีที่สุดในภาษา แม้ว่าจะขึ้นอยู่กับว่าคุณเรียนรู้มากแค่ไหนบางภาษาก็ยากกว่าคนอื่น ๆ ในการค้นหาข้อมูล
Orbling

1

คำแนะนำของฉันคือการหางานทำในสิ่งที่คุณสนใจและสนุกกับการทำ หากคุณสนุกกับ PHP ทำไมไม่พัฒนาทักษะ PHP ของคุณต่อไป มันง่ายกว่ามากในการเรียนรู้และพัฒนาทักษะการทำสิ่งที่คุณสนใจ

คุณเคยดู. NET หรือ Java มาก่อนหรือไม่ ถ้าไม่เช่นนั้นอาจแนะนำว่าคุณไม่สนใจภาษาเหล่านั้น แต่บางทีคุณอาจใช้เวลาหนึ่งสัปดาห์หรือมากกว่านั้นเพื่อดูแต่ละตัวและดูด้วยตัวคุณเองว่าคุณสนใจหรือไม่


ฉันคุ้นเคยกับ Silverlight 4 และ C # (และฉันมี 2 ปีใน VB.NET 2005) นั่นคือเหตุผลหลักที่ฉันคิดเกี่ยวกับการเปลี่ยน
Christian P

1

ในระยะสั้น; ฉันไม่รู้ว่าการจ้างงานในสหรัฐอเมริกาเป็นอย่างไร แต่การพิจารณาว่าคุณกำลังจะย้ายใน 6 ~ 12 เดือนฉันจะลองติดกับ PHP เนื่องจากคุณมีประสบการณ์สองปี

ประสบการณ์ของฉันที่นี่ (ในเนเธอร์แลนด์) คือ บริษัท ต่างๆมักจะให้ความสำคัญกับเทคโนโลยีและกรอบประสบการณ์ระยะสั้นมาก ภาษานั้นไม่ใช่ -it- แม้ว่าพวกเขาจะถามว่า " 3 ปีของประสบการณ์ C # " พวกเขาหมายถึงการพูดว่า " ประสบการณ์ 3 ปีกับเฟรมเวิร์ก / คลาสไลบรารีและเครื่องมือที่คุณใช้กับ C # "

(ไม่เช่นนั้นทำไมพวกเขาถึงต้องการจ้างใครก็ตามที่ต้องการ 3 ปีเพื่อเรียนรู้ไวยากรณ์ C # และคุณสมบัติด้านภาษานั้นเกินกว่าฉันดูเหมือนคนที่ฉันไม่ต้องการจ้าง)

เรียนรู้ภาษาใหม่ คงที่, ไดนามิก, ฟังก์ชั่นมีค่ามากเมื่อพูดถึงมุมมองที่กว้างขึ้น อย่างไรก็ตามการเรียนรู้ไลบรารีคลาสที่เกี่ยวข้องและวิธีการทำสิ่งต่าง ๆ ในภาษานั้นจะต้องใช้ประสบการณ์

ฉันขอแนะนำให้มาตัดสินใจเลือกเทคโนโลยีหนึ่งกองและเรียนรู้อย่างลึกซึ้ง ใช้สภาพแวดล้อมอื่นเพื่อเป็นแรงบันดาลใจ

แน่นอนว่าความชอบส่วนตัวนั้นเข้ามาในการเล่นด้วย ตัวอย่างเช่นในขณะที่มีตลาดมากมายสำหรับมันฉันจะไม่เคยยอมรับงาน PHP: -PI เลือกสแต็คและฉันตามล่าหางานตามนั้น

สำหรับการประกอบอาชีพในระยะยาวฉันคิดว่าคุณควรจะดูมากกว่าการเขียนโค้ด (ในตอนท้ายมันคือทั้งหมดที่เกี่ยวกับการเรียนรู้และความสามารถในการอ่านและ / หรือการอ่านสกิมเอกสาร) และเทคโนโลยีประจำวัน เทคโนโลยีมาและไปค่อนข้างเร็ว แน่นอนว่ามีหลายสิ่งที่ต้องเรียนรู้เมื่อพูดถึงการปฏิบัติที่ดีและความรู้ทั่วไปที่มากขึ้น แต่น่าเสียดายที่พวกเขาไม่ค่อยได้รับการมองหาในตลาดงานจากประสบการณ์ของฉัน


1

ฉันคิดว่าคนมักจะผสมภาษาการเขียนโปรแกรมและกรอบ / เทคโนโลยีกอง มันค่อนข้างง่ายในการเรียนรู้ภาษาใหม่ แต่ก็ยากขึ้นด้วยเทคโนโลยีขนาดใหญ่ ฉันเห็นด้วยกับคำตอบว่าสิ่งที่สำคัญที่สุดคือประสบการณ์การเขียนโปรแกรม / การแก้ปัญหาโดยรวมของคุณ แต่ฉันไม่เชื่อว่าทุกคนสามารถเข้าใจเทคโนโลยีใหม่ได้อย่างสมบูรณ์ใน 1 สัปดาห์

แน่นอนว่านักพัฒนาส่วนใหญ่ไม่เคยอ่านหนังสือทางเทคนิคเล่มใดเลยและไม่เข้าใจเทคโนโลยีที่เป็นตัวขัดขวางพวกเขาใช้งานอยู่ พวกเขาเพียงแฮกออกจากปัญหาและประสบความสำเร็จอย่างมาก ฉันเริ่มอาชีพใน PHP โดยไม่เข้าใจว่า HTTP ทำงานอย่างไรในตอนแรก แต่นายจ้างบางรายที่ฉันเคารพนับถือส่วนใหญ่คาดว่าจะมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับ "วิธีการทำงานของสิ่งต่าง ๆ " เพียงเพราะสิ่งนี้มีแนวโน้มที่จะเพิ่มโอกาสในการประสบความสำเร็จในโครงการของพวกเขา

อย่างน้อยที่สุดที่คุณต้องทำเพื่อให้ได้ความเข้าใจนี้คือการอ่านหนังสือ GOOD สองสามเล่มพร้อมเวลาเพียงพอในการแก้ไขปัญหาต้นแบบในสภาพแวดล้อมการพัฒนาที่ไม่คุ้นเคยใหม่ เป็นไปได้ไหมที่จะทำในหนึ่งสัปดาห์? ฉันชอบที่จะทำงานกับคนที่มีความสามารถ แต่ฉันไม่หวังที่จะเห็นคนแบบนี้ในเวลาไม่นาน

นายจ้างบางคนพร้อมที่จะให้เวลาพอที่คุณจะได้รับความเข้าใจนี้โดยเคารพประสบการณ์ด้านเทคนิคโดยรวมของคุณในกองเทคโนโลยีอื่น ๆ (ถ้ามี) แต่น่าเสียดายที่ไม่ใช่

นอกจากนี้เมื่อคุณเปลี่ยนแปลงเทคโนโลยีสิ่งที่สำคัญที่สุดคือบุคลิกภาพของคุณ - คนที่เจียมเนื้อเจียมตัวและอยากรู้อยากเห็นคุณต้องใช้เวลามากพอที่จะเข้าใจว่าสิ่งต่าง ๆ ทำงานอย่างไรและสิ่งต่าง ๆ เกิดขึ้นในพื้นที่ใหม่ของคุณอย่างไร

ดังนั้นเพื่อสรุปคำตอบของฉันจะเป็นดังต่อไปนี้ เลือกเทคโนโลยีที่มีศักยภาพเพียงพอและที่สำคัญที่สุดจะทำให้คุณมีความสุขในการทำงาน มีความเชี่ยวชาญในเทคโนโลยีนี้ตลาดงานจะให้ความสำคัญกับสิ่งนี้และไม่กี่ปีที่จะได้รับเงินเดือนเป้าหมายของคุณจะคุ้มค่า แต่ไม่เคย overzealous ใช้เวลากับเทคโนโลยีอื่น ๆ มันจะทำให้คุณเป็นมืออาชีพมากขึ้นโดยรวม


1

ฉันต้องเห็นด้วยกับโจเอล แต่คำตอบของเขาเหนือกว่าทักษะและความชอบด้านเทคนิค

จากประสบการณ์ของฉันมันเป็นงานประจำที่คุณต้องการซึ่งจะนำคุณไปสู่เทคโนโลยีเฉพาะหรือภาษาโปรแกรมไม่ใช่สิ่งที่คุณต้องการใช้ เว้นแต่เป็นการเริ่มต้นที่ยังไม่ได้กำหนดสิ่งที่พวกเขากำลังจะใช้ และไม่มีใครรับประกันได้ว่าคุณจะหางาน / บริษัท ที่ใช้สิ่งที่คุณกำลังมองหา

ดังนั้นคำถามที่แท้จริงคือคุณเก่งเรื่องการหาของใหม่หรือไม่? คุณสามารถแก้ไขปัญหาและแก้ไขได้ทันเวลาโดยไม่คำนึงถึงภาษาการเขียนโปรแกรม?

โปรแกรมเมอร์ที่ดีควรตระหนักถึงการสร้างซอฟต์แวร์และแนวคิดวิศวกรรมซอฟต์แวร์ คำถามของคุณทำให้ฉันเชื่อว่าคุณไม่ได้ใช้เวลามากพอในการเรียนรู้สิ่งเหล่านั้นซึ่งอาจทำให้คุณไม่มั่นใจในทักษะและศักยภาพที่แท้จริงของคุณ และหากคุณไม่ทำอย่างนั้นในเวลาที่คุณทำเพราะถ้าไม่มีคนคุณอาจจะไม่ไปไกล

มีอีกสิ่งหนึ่งที่โปรแกรมเมอร์ส่วนใหญ่ของเรามักจะไม่ให้ความสนใจใด ๆ ก่อนที่เราจะอายุมากกว่า 30: ทักษะการเขียนโปรแกรมเป็นเพียงครึ่งหนึ่งของทักษะที่ทำให้โปรแกรมเมอร์ดี คุณเป็นผู้เล่นทีมที่ดีหรือไม่? คุณยินดีที่จะถ่ายทอดความรู้ให้กับเพื่อนร่วมงานอย่างเต็มใจเหมือนที่คุณได้รับหรือควรได้รับความรู้จากผู้อื่นหรือไม่? ทักษะของผู้คนถูกประเมินโดยพวกเราหลายคนในขณะที่พวกเขามีความสำคัญมาก


1

ฉันไม่เห็นด้วยกับความคิดเห็นส่วนใหญ่ที่ปรากฏในกระดานนี้

นอกเหนือจากการเรียนรู้หลักการและทฤษฎีวิศวกรรมซอฟต์แวร์แล้วภาษาที่คุณเลือกให้เป็นผู้เชี่ยวชาญนั้นเป็นทางเลือกด้านอาชีพ นั่นเป็นเหตุผลที่มีโปรแกรมเมอร์ Java และโปรแกรมเมอร์ PHP โปรแกรมเมอร์ PHP อาจจะไม่ทำงานกับ NASA และโปรแกรมเมอร์ Java อาจจะไม่ทำงานกับเว็บช็อป

หากคุณต้องการงานในองค์กรอเมริกาคุณควรไปที่ Java / .Net รายได้ที่ดีในตัวคุณสามารถเข้าได้ แต่เตรียมที่จะบริจาคชีวิตของคุณให้กับพวกเขา (ฉลาดเวลา)

หากคุณต้องการเป็นอิสระและอยู่ในช่องทางที่รวดเร็วด้วยเทคโนโลยีเว็บคุณจะดีกว่าด้วย PHP งานจำนวนมากที่นี่ แต่ค่าจ้างแตกต่างกันอย่างมากและความเป็นอิสระคือการทำงานกับทอมทุกคนดิ๊กและแฮร์รี่ด้วยความคิดที่พยายามจ้างคุณเพนนี

มีบางอย่างทับซ้อนกับ PHP และ Java แต่เห็นได้เฉพาะในงาน Corporate (บริการ Java REST กับ PHP front-end) แต่คุณจะไม่พบร้านค้าบนเว็บหรือทำงานอิสระได้ทุกที่ใกล้กับ Java

ทั้งคู่ต้องใช้เวลาและความทุ่มเทอย่างมากหากคุณต้องการมีประโยชน์ในทุกสถานการณ์

ในการเป็นนักพัฒนา PHP ที่มีความสามารถและเป็นที่ต้องการคุณจำเป็นต้องมีชุดทักษะที่ครบถ้วน โอกาสที่คุณจะถูกคาดหวังว่าจะรู้ CSS, HTML4 / 5, และแน่นอนที่สุดจาวาสคริปต์ DOM / Ajax / Jquery รวมถึงกรอบการทำงานที่มีประสิทธิภาพเช่น Zend (ตัวเลือกของผู้ชิมอเมริกา), Codeignitor, cakePHP และอื่น ๆ จำเป็นต้องรู้ CMS ของ "big three": Drupal, Wordpress และ Magento รับชุดทักษะเหล่านี้ภายใต้เข็มขัดของคุณและคุณจะเป็นผู้เชี่ยวชาญ PHP ที่มีความสามารถในการทำงานทุกที่ที่คุณไป อย่างที่คุณสามารถบอกได้ว่าการทำทั้งหมดนี้เป็นการอุทิศให้กับภาษาและเป็นเครื่องมือในการเรียนรู้ภาษา Perl ไม่ช่วยให้คุณเป็นนักพัฒนา Drupal หรือ Zend ผู้เชี่ยวชาญ

เช่นเดียวกับ Java: OOP, J2EE, REST / SOAP, Spring / Struts และอื่น ๆ และเป็นเครื่องมือที่ใช้เวลาหลายปีกว่าจะเชี่ยวชาญ

มีใครที่นี่ลองเข้ารหัส Java เป็นเวลาหนึ่งปีแล้วกลับไปที่ PHP (หรือภาษาสคริปต์ใด ๆ ) มันยาก. รู้สึกอึดอัดใจ

ฉันทำงานให้กับ บริษัท ที่ติดอันดับ 500 และนักพัฒนา Java จะไม่สามารถทำสิ่งที่นักพัฒนา PHP ทำและนักพัฒนา PHP จะไม่สามารถทำสิ่งที่นักพัฒนา Java ทำ แต่พวกเขาทั้งสองทำเงินได้ดีเพราะพวกเขาเป็นผู้เชี่ยวชาญในสาขาภาษาที่เลือกและเครื่องมือที่มาพร้อมกับมัน


0

ภาษาและแพลตฟอร์มไม่ใช่สิ่งสำคัญ เรียนรู้คนที่แข็งแกร่งและทักษะวิทย์คอมพ์ ผู้คนจำนวนมากพูดแบบนี้ แต่ไม่ได้ให้ข้อมูลที่เฉพาะเจาะจงดังนั้นให้ฉันทำอย่างนั้น นี่คือสิ่งที่ต้องเรียนรู้

  • อัลกอริธึมและโครงสร้างข้อมูล
  • เห็นพ้องด้วย
  • การเรียนรู้ของเครื่อง
  • การเขียนโปรแกรมระดับระบบ
  • การดึงข้อมูลและเครื่องมือค้นหา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.