เหตุใดนักพัฒนาซอฟต์แวร์จึงต้องติดตามเทคโนโลยีและระเบียบวิธีต่างๆอยู่เสมอ [ปิด]


28

ฉันได้รับคำแนะนำเสมอว่านักพัฒนาจำเป็นต้องอัพเดทเทคโนโลยีล่าสุดอยู่เสมอ - สิ่งต่างๆเช่น webrtc, อัปเดตใน html5 และ css3 และ js ไลบรารีใหม่, วิธีการซอฟต์แวร์เช่น TDD, DDD, และ BDD

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


16
ในการพัฒนาซอฟต์แวร์มีสิ่งที่ต้องทำทั้งสองอย่างทำความรู้จักกับเทคโนโลยีบางอย่างในเชิงลึกและติดตามเทคโนโลยีใหม่ที่เปลี่ยนแปลงตลอดเวลา นี่เป็นเพียงบางส่วนว่าทำไมมันถึงยากนักที่จะหานักพัฒนาที่ดี
joshin4colours

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

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

1
@bmike: ฉันเห็นด้วยกับคุณ: แน่นอนจิตใจที่อยากรู้อยากเห็นจะต้องการเรียนรู้สิ่งใหม่ตลอดเวลา ในกรณีนี้สิ่งใหม่หมายถึงสิ่งที่คุณไม่รู้จักซึ่งอาจเป็นภาษาการเขียนโปรแกรมที่น่าสนใจที่มีมานานกว่า 40 ปีหรือนานกว่านั้น (เช่น Lisp) อุตสาหกรรมผลักดันให้เราอัปเดตและพิจารณาสิ่งล่าสุดที่น่าสนใจมีประสิทธิภาพมากกว่าโดยค่าเริ่มต้น ประเด็นหลักของฉัน: การเรียนรู้เทคโนโลยีที่คุณไม่ต้องการเพียงเพราะมันเป็นเรื่องใหม่คือเสียเวลา
Giorgio

1
@RobertHarvey ไม่เหมือนกับคำถามที่ถามว่า "เป็นอย่างไร" หรืออะไร?" ตามที่จะเป็น NC มันถามว่าทำไมและฉันเองรู้สึกว่าเกี่ยวข้องและตอบได้
maple_shaft

คำตอบ:


42

พื้นผิวเทคโนโลยีใหม่ด้วยเหตุผล โดยทั่วไปเหตุผลนั้นเป็นเพราะพวกเขามีประสิทธิภาพมากขึ้นหรือมีประสิทธิภาพในการบรรลุภารกิจเฉพาะ

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

ด้วยเหตุผลทางธุรกิจนอกเหนือจากการเรียนรู้เทคโนโลยีใหม่ ๆ อย่างต่อเนื่องจะช่วยให้คุณรู้สึกดีและจะเปิดตาของคุณสู่วิธีการต่าง ๆ ในการเข้าถึงงานแม้ในเทคโนโลยีเก่าและอื่น ๆ


3
+1: การเรียนรู้เทคโนโลยีใหม่ ๆมักจะมีประโยชน์แม้ว่าคุณจะไม่เคยใช้เทคโนโลยีนั้นโดยตรง : มุมมองและมุมมองใหม่ ๆ ที่มีให้นั้นสามารถนำไปใช้ได้อย่างแน่นอนโดยใช้เทคโนโลยี "เก่า"
โจอาคิมซาวเออร์

7
ในทางกลับกันการกระโดดไปที่เทคโนโลยีใหม่ทุกครั้งสามารถตอบโต้ได้เพราะหลายคนหายไปอย่างรวดเร็วตามที่ปรากฏ
Gordon Bell

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

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

@dbracey: ขวายี่สิบปีต่อมาบาง บริษัท ขนาดใหญ่สามารถค้นหาวิทยานิพนธ์ฉบับนี้ว่านักวิจัยในขณะเดียวกันได้พัฒนาเป็นเทคโนโลยีผู้ใหญ่บางและเริ่มขายเป็นเทคโนโลยีใหม่
Giorgio

27

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

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

ในที่สุดคุณค่าของความบันเทิงที่บริสุทธิ์ในการเรียนรู้สิ่งใหม่ ๆ ไม่ควรประมาท: สำหรับฉันแล้วมันคือการดูทีวีทางลง


1ตัวอย่างเช่นเลือก COBOL ให้มากกว่า PL / I เมื่อเริ่มอาชีพของคุณในปี 1965

2ใช้ได้กับภาษาธรรมชาติและการเขียนโปรแกรมเหมือนกัน


1
+1 @dasblinkenlight ฉันชอบข้อความนี้: "... การเรียนรู้สิ่งใหม่ล่วงหน้าจะช่วยให้คุณลดการเรียนรู้เมื่อการเปลี่ยนแปลงเทคโนโลยีครั้งต่อไปมาถึงมุมของอุตสาหกรรม" นี่คือเหตุผลที่ฉันกำลังเรียนรู้Opaตอนนี้
Anthony

12

เราไม่สามารถยึดติดกับสิ่งที่เรารู้และพัฒนาให้ดีขึ้นได้หรือไม่?

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

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


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

2
"เฟรมเวิร์กมีการพัฒนาเครื่องมือมีการพัฒนาคุณไม่ต้องการทำให้งานของคุณง่ายขึ้นหรือไม่": มีวิธีมากมายในการแก้ปัญหาบางอย่างและบางครั้งเครื่องมือหรือภาษาใหม่ ๆ ก็ไม่ดีขึ้น แต่คุณมีประสบการณ์มากกว่าเดิมเพื่อให้คุณสามารถทำงานได้มากขึ้น เราถือว่าบ่อยครั้งใหม่ว่า == ดีกว่า เราควรท้าทายข้อความนี้เสมอ
Giorgio

2
@Giorgio - มันเป็นสิ่งหนึ่งที่จะมีความสงสัยต่อสุขภาพของ 'เรื่องใหญ่ต่อไป' อีกอย่างคือเอาหัวของคุณไปไว้ในทรายเมื่อความคืบหน้าผ่านไปจริง ในภายหลังเป็นวิธีธรรมดาเกินไป
Telastyn

4
@Telastyn: ฉันจะกำหนด 50% ให้กับทัศนคติทั้งสอง: บางครั้งฉันก็รู้สึกว่าเทคโนโลยีใหม่ถูกผลักเพียงเพราะมันเป็นของใหม่ และเป็นเพียงทางเลือก (ไม่ใช่วิธีที่ดีกว่า) ในการทำสิ่งต่าง ๆ ดังนั้นเราจึงต้องใช้เวลาเป็นเดือน ๆ ในการพัฒนาเทคโนโลยีใหม่และหลังจากนั้นเราก็กลับมามีประสิทธิภาพอีกครั้งเหมือนเดิม แต่แน่นอนว่าคุณคิดถูกที่เอาหัวลงไปในทรายก็ผิดและควรระวังสิ่งใหม่ ๆ อยู่เสมอ
Giorgio

@Giorgio คุณจะรู้ได้อย่างไรว่าวิธีการใหม่นั้นดีกว่าหรือไม่ถ้าคุณไม่ได้เรียนรู้หรือลองทำดู?
CaffGeek

7

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

โดยส่วนตัวแล้วฉันทำงานกับอุปกรณ์ฝังตัวเรียนรู้ C และนั่นก็ใช้ได้ดีสำหรับฉัน

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

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


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

สิ่งนี้ชี้ให้เห็นว่าเทคโนโลยีใหม่มักจะมีเลเยอร์มากกว่าบนเทคโนโลยีเก่าที่มีอยู่ VM ของคุณใช้งานอะไร C หรือ C ++
dbracey

การฉีดพึ่งพาเป็นเพียงชื่อใหม่สำหรับแนวคิดเก่า ๆ
MarkJ

6

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

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

เทคโนโลยีซอฟต์แวร์และความสับสนที่ทวีคูณทวีคูณการเปลี่ยนแปลงที่เราต้องรับมือในแต่ละวัน แต่เทคโนโลยีอิเล็กทรอนิกส์จริงเป็นความก้าวหน้าอย่างรวดเร็วและผลักดันซอฟต์แวร์พร้อมกับมัน มีการเปลี่ยนแปลงที่แท้จริงมากมาย เรายังคงขับรถขับเครื่องบินและเข้าสู่อวกาศด้วยยานพาหนะเดียวกับที่เราใช้ในปี 1965 แต่ฮาร์ดแวร์อิเล็กทรอนิกส์จากปี 1995 ล้าสมัยอย่างสิ้นหวัง

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

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


+1: ฉันเห็นด้วยกับคุณเกี่ยวกับการโฆษณา นวัตกรรมมากมายคือ (น่าเสียดาย) hype และเราควรเลือกเทคโนโลยีใหม่ที่เราใช้เวลาอย่างระมัดระวัง หนึ่งใน hypes ของช่วงเวลานี้คือ lambdas (ซึ่ง, BTW, ฉันพิจารณาแนวคิดที่มีประโยชน์มาก): ทุกภาษาสมัยใหม่จะต้องมีพวกเขา (C #, C ++, Java?) มิฉะนั้นมันจะไม่เย็นอีกต่อไป! แต่ลูกแกะนั้นมีมานานกว่า 50 ปีแล้วและไม่มีใครใส่ใจเมื่อภาษาเหล่านี้ได้รับการออกแบบมาตั้งแต่แรก ตอนนี้พวกเขากำลังถูกเพิ่มเข้ามาในภายหลังเพื่อติดตามโฆษณาล่าสุด ;-)
Giorgio

@Giorgio: ฉันหวังว่าจะไม่ Java แลมบ์ดาเป็นตัวอย่างที่ดี (แม้ว่าจะง่ายกว่าและยุ่งยากน้อยกว่าบางอย่าง) ฉันใช้พวกเขาใน C # และฉันรักพวกเขา แต่คนเดียวที่เคยเสียใจที่ไม่รู้ว่าพวกเขาคือใครคือคนที่เพิ่งได้รับคำสั่งให้แก้ไขรหัสที่เต็มไปด้วยพวกเขา
RalphChapin

"ฉันหวังว่าไม่ใช่ Java" คุณหมายถึงอะไร ว่าพวกเขาจะไม่ได้รับการแนะนำ? ฉันชอบและใช้ lambdas (ใน Scheme, Haskell): มันเป็นแนวคิดที่ง่ายมาก แต่ใน C #, C ++ และ Java พวกเขาดูเหมือนจะให้ฉันเพิ่มในภายหลังว่าอย่างใดไม่เหมาะกับส่วนที่เหลือของภาษา ฉันสงสัยว่านักประดิษฐ์ไม่รู้จัก Lisp ใด ๆ แต่พวกเขาตัดสินใจว่า lambdas ไม่ได้อยู่ในภาษาเหล่านี้ ตอนนี้พวกเขากลายเป็นสิ่งจำเป็น ดังนั้นฉันชอบ lambdas มาก แต่ใน C #, C ++ และ Java พวกเขาดูเหมือนว่าเป็นโฆษณาที่ใช้ในการขายคอมไพเลอร์หนังสือและอื่น ๆ
Giorgio

1
@Giorgio: Java เป็น (หรือเคย) ค่อนข้างภาษา minimalist คุณไม่จำเป็นต้องรู้อะไรมากมาย (เช่น lambdas) เพื่อทำความเข้าใจกับสิ่งที่คนอื่นเขียน ฉันชอบมัน. C # เป็นภาษา maximalist บรรทัดใหม่ทุกคนสามารถแนะนำเทคโนโลยีที่คุณไม่เคยเห็นมาก่อน มันเป็นระเบิดที่เขียนน้อยกว่าที่จะอ่าน ไม่ต้องการแลมบ์ดาแม้ว่าพวกเขาจะช่วยเหลือเพิ่มเติมใน C # มากกว่าที่จะใช้ใน Java ด้วยเหตุผลทางไวยากรณ์ แต่พวกเขาเจ๋งและพวกเขาบันทึกรหัสสองบรรทัด กล่าวอีกนัยหนึ่งคุณพูดถูก แต่นั่นคือ C # ไม่ใช่ Java ยัง
RalphChapin

1
@iconoclast: ด้วยประสบการณ์ 20 ปีในฐานะโปรแกรมเมอร์ฉันไม่คิดว่าตัวเองเป็นมือใหม่ แต่ความจริงที่ว่า Java เป็น (ค่อนข้าง) ภาษาที่ค่อนข้างเรียบง่ายและสะอาดทำให้ฉันมีประสิทธิผลมากขึ้น (ฉันสามารถพัฒนาซอฟต์แวร์ที่ซับซ้อนมากขึ้นด้วยความพยายามน้อยลง) ฉันคิดว่ามันเป็นความเข้าใจผิดที่ภาษาง่าย ๆ สำหรับผู้เริ่มต้น: ภาษาที่เรียบง่ายจะช่วยให้โปรแกรมเมอร์ที่มีประสบการณ์ในระดับใด ๆ ให้ความสำคัญกับลักษณะของการพัฒนา (เช่นการจัดการสถาปัตยกรรมที่ซับซ้อนการปรับโครงสร้างใหม่) เพราะพวกเขาใช้เวลาน้อย ด้านอื่น ๆ (เช่นการจัดการหน่วยความจำไวยากรณ์ที่เข้ารหัส ฯลฯ )
จอร์โจ

3

IMHO คุณต้องหายอดเงิน นั่นต้องใช้ทักษะและประสบการณ์

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

แต่คุณต้องดูด้วยว่าภาษานี้วิวัฒนาการและเข้าใจการเปลี่ยนแปลงของการพัฒนาซอฟต์แวร์โดยรวมอย่างไร Java จะอยู่ที่ประมาณ 10 ปี Phyton อยู่ที่นั่นหรือไม่ PHP จะถูกแทนที่ด้วย. NET และ Mono หรือไม่?

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

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


2

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

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

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

บรรทัดล่าง: ฉันคิดว่าคุณควรพยายามเรียนรู้สิ่งที่คุณพบว่ามีประโยชน์จริง ๆ ไม่ว่ามันจะเก่าหรือใหม่


2

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


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

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

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