ทักษะใดที่จำเป็นสำหรับการเขียนโปรแกรมมืออาชีพที่ไม่ได้สอนกันทั่วไปในโรงเรียน [ปิด]


14

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

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

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

คำแนะนำใด ๆ ที่ชื่นชมอย่างมาก แต่ถ้าคุณมีหนังสืออยู่ในใจโปรดบอก ขอบคุณ!


8
คำถามนี้ถูกถามหลายครั้งในเว็บไซต์นี้ในรูปแบบที่แตกต่างกัน โปรดค้นหาก่อนแล้วจึงถาม ดูที่คำถามที่พบบ่อย; programmers.stackexchange.com/questions/149970/… ; programmers.stackexchange.com/questions/46716/…
tgkprog

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

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

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

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

คำตอบ:


21

ในโรงเรียนคุณเรียนรู้เกี่ยวกับการเขียนรหัส สิ่งที่คุณไม่ได้เรียนรู้คือส่วนที่เหลือของการพัฒนาซอฟต์แวร์ สิ่งสำคัญที่ฉันไม่เคยเรียนรู้ในโรงเรียนคือ:

  • ทำงานเป็นส่วนหนึ่งของทีมพัฒนา
  • ใช้การควบคุมเวอร์ชัน
  • ใช้ตัวติดตามบั๊ก

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


4
การทำงานเป็นส่วนหนึ่งของทีมพัฒนาเป็นศิลปะที่ซับซ้อนและซับซ้อนอย่างแน่นอน ฉันไม่เข้าใจว่าทำไมการควบคุมเวอร์ชันและการติดตามข้อผิดพลาดจึงมีกรอบเป็นอุปสรรคสำคัญสำหรับนักพัฒนาใหม่ แน่นอนว่ามันเป็นเครื่องมือสำคัญ แต่คุณชี้คนใหม่ไปที่หน้าคนหนังสือ O'Reilly หรือบทช่วยสอนออนไลน์และพวกเขาสามารถรับขนมปังและเนยได้ในเวลาไม่กี่ชั่วโมง ทำไมคุณต้องเสียเวลาเรียนกับเรื่องแบบนี้?
Charles E. Grant

1
การควบคุมเวอร์ชัน @ CharlesE.Grant นั้นคล้ายคลึงกับการเขียนโปรแกรมซึ่งคุณสามารถลดความรู้พื้นฐานลงได้ในเวลาอันสั้น แต่ก็ต้องใช้ประสบการณ์ในการใช้งานอย่างมีประสิทธิภาพ และ DVCS เช่น git และ Mercurial นั้นเข้าใจมากกว่า CVCS อย่าง svn
Izkata

8
ฉันไม่เคยมีชั้นเรียนเกี่ยวกับการบำรุงรักษารหัสที่กำหนดไว้ (ซึ่งเป็นส่วนสำคัญของการทำงานเป็นส่วนหนึ่งของทีมพัฒนา) และประสบการณ์การเรียนในห้องเรียนของฉันเกี่ยวกับวิธีการทดสอบรหัสมีน้อยที่สุด
Velociraptors

1
@ CharlesE.Grant: ฉันสอนหลักสูตรระดับบัณฑิตศึกษาด้านการเขียนโปรแกรมและหัวข้อที่เกี่ยวข้องเป็นเวลาหลายปี แม้แต่นักศึกษาระดับบัณฑิตศึกษาก็ยังมีความเข้าใจอย่างถ่องแท้ว่าทำไมพวกเขาจึงควรใช้ระบบควบคุมการแก้ไขใด ๆ และเมื่อพวกเขาเริ่มใช้มันอย่างไม่เต็มใจพวกเขาดูเหมือนจะสับสนอย่างรวดเร็ว +1 ถึง Mason สำหรับการยกเป็นหัวข้อที่ไม่มีการเรียนรู้ที่สำคัญ
ปีเตอร์เค

1
+1 +1 +1 โดยหนึ่งคะแนนสำหรับแต่ละจุด มันช่างโง่เหลือเกินที่พวกเขาไม่ได้สอนคุณในสิ่งเหล่านี้ ... หรืออย่างน้อยก็ลองสอนคุณ
Radu Murzea

20

ฉันหวังว่าฉันรู้ว่าก่อนหน้านี้ในอาชีพของผมที่เป็นนักพัฒนาผมมีบทบาทสำคัญมากในการทำธุรกิจ ฉันไม่ใช่แค่รหัสลิง

ในฐานะนักพัฒนาคุณมีมือสำคัญในส่วนของธุรกิจที่เกี่ยวข้องกับซอฟต์แวร์ที่คุณกำลังทำงานอยู่

หาก บริษัท ของคุณไม่ได้เขียนการทดสอบสำหรับรหัสของพวกเขาเริ่มเขียนการทดสอบทันที

หากพวกเขาไม่ติดตามข้อบกพร่องค้นหาตัวติดตามข้อผิดพลาดที่เหมาะสมในขณะนี้

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

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


9

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

พวกเขายังไม่ได้สอนเกี่ยวกับการทำงานเป็นทีมเกี่ยวกับการควบคุมเวอร์ชันและเกี่ยวกับความสำคัญของการเขียนโค้ดที่ง่ายต่อการบำรุงรักษา พวกเขายังไม่ได้สอนเกี่ยวกับวิธีทดสอบซอฟต์แวร์มากนัก พวกเขาอาจได้สัมผัสกับการทดสอบหน่วย แต่พวกเขาไม่ได้เจาะลึกแนวคิดการทดสอบการยอมรับการทดสอบการถดถอย ฯลฯ

ข้อจำกัดความรับผิดชอบ: ฉันไปเรียนที่วิทยาลัยใน 80 อย่างไรก็ตามฉันเห็นหลักฐานของสิ่งนี้กับคนที่ฉันจ้างในวันนี้ - ผู้สำเร็จการศึกษาใหม่ที่มีความรู้น้อยมากเกี่ยวกับโลกแห่งความเป็นจริงของการเขียนโปรแกรม: การควบคุมเวอร์ชันการทดสอบการเขียนโค้ดที่สะอาดทักษะการแก้จุดบกพร่อง ฯลฯ


+1 สำหรับส่วนการทดสอบ ที่มหาวิทยาลัยของฉันพวกเขาไม่ได้สอนด้วย ฉันมี 1 คลาส (ใช่: หนึ่ง) ที่ครูพูดถึงการทดสอบหน่วย ... ประมาณ 3 นาที แค่นั้นแหละ.
Radu Murzea

ฉันรู้ว่านี่เป็นการตอบสนองที่ล่าช้า แต่นั่นเป็นหนึ่งในสิ่งที่ทำให้ปริญญาคณิตศาสตร์ของฉันดึงดูดนายจ้างของฉัน มุมมองนี้มีการแบ่งปันให้กับนายจ้างเช่นกัน
Eric

เห็นด้วยในหลายโรงเรียนอัลกอริทึม (aka "การแก้ปัญหา") ไม่ได้รับการสอนอย่างถูกต้องหรือไม่ได้รับการสอนเลยหรือไม่สอนวิธีใช้งานด้วยภาษาโปรแกรมแม้ว่าฉันจะต้องเป็นผู้ไม่เชื่อเรื่องพระเจ้า
umlcat

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

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

7

ในความคิดของฉันบางสิ่งที่สำคัญที่สุดที่ไม่ได้เรียนรู้ (หรือเรียนรู้อย่างถูกต้อง) ในโรงเรียนคือ:

  • วิธีใช้และ IDE อย่างถูกต้อง การใช้พลังเต็มรูปแบบของ IDE ที่ทันสมัยให้การเพิ่มขึ้นอย่างมากในการผลิต: การเปลี่ยนโครงสร้างอัตโนมัติการนำทางโค้ดการรวม VCS การวิเคราะห์รหัส
  • วิธีการใช้ดีบักเกอร์อย่างถูกต้อง: การดีบักแบบรีโมท, การดีบักแอพพลิเคชันแบบมัลติเธรด, การประเมินแบบด่วน ฯลฯ
  • แก้ไขข้อผิดพลาดและการบำรุงรักษา; ในมหาวิทยาลัยพวกเขาไม่ได้สอนอะไรคุณเกือบทุกอย่างเกี่ยวกับเรื่องนี้
  • วิธีการทำงานเป็นทีมขนาดใหญ่และในโครงการขนาดใหญ่ โดยทั่วไปในมหาวิทยาลัยโครงการขนาดเล็กเมื่อเทียบกับโครงการอุตสาหกรรมขนาดใหญ่
  • วิธีเขียนโค้ดที่ดีและวิธีการเน้นที่ความสามารถในการอ่าน สิ่งนี้มาพร้อมกับประสบการณ์ แต่มีหนังสือบางเล่มที่สอนคุณเบื้องต้นเกี่ยวกับ (รหัสสมบูรณ์, รหัสสะอาด ฯลฯ )
  • วิธีใช้เฟรมเวิร์กที่เต็มกำลังโดยใช้การกำหนดเอง ในมหาวิทยาลัยคุณอาจเรียนรู้วิธีใช้กรอบการทำงานในสถานการณ์พื้นฐานบางอย่าง ในอุตสาหกรรมคุณจะเข้าถึงมุมกรณี
  • วิธีทำความเข้าใจและเขียนรหัสหลังจากสเปค; คุณอาจจะเรียนรู้วิธีเขียนข้อกำหนด แต่ตอนนี้วิธีอ่านและวิธีตีความ

VCS ระบบติดตามบั๊กเครื่องมือสร้าง ฯลฯ เป็นเครื่องมือที่คุณจำเป็นต้องเรียนรู้เพื่อให้สามารถทำงานกับทีมได้ พวกเขาไม่ต้องใช้เวลามากในการเรียนรู้ในระดับพื้นฐานและค่อนข้างตรงไปตรงมาหลังจากนั้น (อย่างน้อยตอนต้น) รายการด้านบนมีรายละเอียดปลีกย่อยซึ่งหากทราบเพิ่มประสิทธิภาพของคุณ


อาคา "การเขียนโปรแกรม" ไม่เพียงรู้ภาษาการเขียนโปรแกรมมี "สภาพแวดล้อม", "ระบบนิเวศ", "กรอบ" ...
umlcat

4

สิ่งที่ใหญ่ที่สุดที่ฉันเห็นว่าหายไปจากผู้สำเร็จการศึกษาใหม่คือความเข้าใจที่ดีเกี่ยวกับการควบคุมเวอร์ชัน

หากคุณมีประสบการณ์ในการพัฒนาซอฟต์แวร์โอเพนซอร์ซโดยใช้ที่เก็บซอร์สโค้ด (เช่นGitHub ) คุณเป็นหนึ่งในmostเพื่อนร่วมชั้นของคุณ

สิ่งที่สองคือความเข้าใจในความซับซ้อน ( big O) คนส่วนใหญ่นอกวิทยาลัยเคยได้ยินเกี่ยวกับเรื่องนี้ แต่ยังไม่ได้พัฒนาซอฟแวร์ตัวจริงที่มันเข้ามาเล่นและไม่เข้าใจความสำคัญที่แท้จริงของมัน

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


1
ฉันคิดว่าการขาดการศึกษาเรื่องการควบคุมเวอร์ชันกำลังเริ่มเปลี่ยนไป การควบคุมเวอร์ชันถูกเน้นหนักที่โรงเรียนของฉัน
Southpaw Hare

@ SouthpawHare: ฉันไม่ได้บอกว่ามันไม่มีอยู่จริงพวกเขายังสอนในสมัยของฉันด้วยซ้ำ เพียงแค่ว่าผู้คนที่ออกมาจากมหาวิทยาลัยด้วยประสบการณ์นี้ยังคงเป็นชนกลุ่มน้อย และเป็นเช่นคนที่มีมันมีคุณค่ามากขึ้น ฉันไม่เห็นด้วยที่มันเปลี่ยนแปลงไปมากในช่วง 20 ปีที่ผ่านมา
Martin York

3

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

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

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


2

อะไรคือทักษะหนึ่งที่คุณหวังว่าคุณจะได้เรียนรู้ก่อนที่คุณจะเป็นโปรแกรมเมอร์ตัวจริง?

จากประสบการณ์ของฉันโรงเรียนของฉันไม่เคยสอนวิธีแก้ปัญหาให้ฉัน

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

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


2

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

หาก บริษัท ใช้วิธีการแบบ Agile สำหรับการพัฒนาซอฟต์แวร์มันจะมีค่าที่จะเข้าใจมัน


2

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

พวกเขาสามารถมาจากประสบการณ์ทำงานโดยตรงในสาขา

  • เรียนรู้วิธีการทำงานร่วมกันและสื่อสารกับผู้คนภายนอก "อาชีพ" ของคุณเช่นนักออกแบบกราฟิกนักออกแบบผลิตภัณฑ์ผู้จัดการ ฯลฯ

  • การเข้าใจว่างานของคุณไม่ได้เป็นการเขียนโค้ด แต่เพื่อทำให้ผลิตภัณฑ์มีชีวิตชีวา พูดง่ายกว่าทำ.

  • รู้วิธีสร้างความสมดุลของการเข้ารหัสที่ดีกับการพิจารณาในทางปฏิบัติ การรับความสามารถในการตัดสินเมื่อรหัสคือ "ดีพอ", "เหนือการออกแบบ" หรือ "ต้องการการปรับโครงสร้างใหม่"

  • เรียนรู้ที่จะเอาชนะจุดอ่อนและความไม่มั่นคงของคุณเอง การรับความสามารถในการทนต่อการวิจารณ์ ปล่อยอัตตาของคุณ เรียนรู้ความหมายของการมีความรับผิดชอบส่วนบุคคลแล้วนำไปใช้

ง่ายต่อการอ่านทั้งหมดนี้ มันแตกต่างอย่างสิ้นเชิงกับการฝึกฝน วิธีเดียวคือการทำมัน คุณจะถูกกัดหลายครั้งและมันอาจจะเจ็บ แต่คุณจะออกมาจากมันแรงขึ้นและดีขึ้น

การอ่านที่เกี่ยวข้อง: รูปแบบการฝึกงาน


1

ทุกอย่างขึ้นอยู่กับโรงเรียน ในวิทยาลัยของฉันเรามีโครงการปฏิบัติมากมาย ค่อนข้างบ่อยในทีมและใช้ตัวควบคุมแหล่งต่าง ๆ ดังนั้นฉันคิดว่าโรงเรียนบางแห่งให้ความสำคัญกับสิ่งเหล่านั้น

แต่โรงเรียนแห่งหนึ่งสอนไม่ได้: รายละเอียด บ่อยครั้งที่โรงเรียนสอนเทคโนโลยีหรือการฝึกฝน (เช่นการพัฒนาเว็บ, การพัฒนา JAVA UI, ฐานข้อมูลขั้นสูง) พวกเขาจะเกาพื้นผิวและไม่ลงลึกในรายละเอียดซึ่งจำเป็นต้องใช้เทคโนโลยีหรือการปฏิบัติในธุรกิจจริง คุณจะได้รับภาพรวมทั่วไปของวิธีที่เป็นไปได้วิธีแก้ปัญหาของคุณ แต่คุณจะต้องเรียนรู้รายละเอียดที่จำเป็น

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


1
  • ข้อกำหนด - ทำให้พวกเขาผิดและส่วนที่เหลือเป็นของเสียส่วนใหญ่
  • ลำดับความสำคัญ (ซึ่งคุณสมบัติที่จะปล่อย)
  • ทำหรือใช้นอกกรอบ (ซื้อ / ฟรีแวร์)
  • การทำงานเป็นทีม
  • การจัดการโครงการ - ข้อกำหนด, คุณภาพ (ตัวอย่างข้อมูลใน Prod, กรณีทดสอบ, วิธีทดสอบ, ครอบคลุมก่อนรหัสคุณ, มีค่าใช้จ่ายเหมือนกัน แต่ไม่เกี่ยวข้องเลยอ่านหนังสือ PMI
  • เครื่องมือสื่อสาร (เมล, การประชุม: ผู้วางแผนปฏิทิน)
  • การจัดการรหัสที่มา

0

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

[สะท้อนกลับไปสู่และหลังการเรียนรู้เช่น 'กรอบงาน' จาวาสคริปต์ที่แตกต่างกัน 4 หรือ 5 ตัวก่อนที่ JQuery จะออกมาแข็งแกร่งการได้รับการรับรองใน JAVA และไม่เคยได้ตำแหน่งจาวาและหลังจากทำงานในหลายแพลตฟอร์ม AS400- rpg,>. สุทธิ - c #, และ PHP, ก่อนที่ฉันต้องการฉันเพียงแค่เชี่ยวชาญ Photoshop และสร้างรายได้ที่เท่าเทียมกันโดยไม่ต้องแก้ไขข้อบกพร่องหรือเขียนซอฟต์แวร์ ]

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


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