สิ่งที่จำเป็นต้องเปลี่ยนเพื่อให้วิศวกรรมซอฟต์แวร์กลายเป็นอาชีพที่เป็นทางการ


11

แตกต่างจากอาชีพอื่น ๆ (เช่นการบัญชี, กฎหมาย, การแพทย์, ฯลฯ ) ไม่มีการรับรองทั่วทั้งอาชีพสำหรับวิศวกรรมซอฟต์แวร์

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

ฉันเข้าใจว่าซอฟต์แวร์นั้นเป็นสัตว์เดรัจฉาน - เป็นส่วนศิลปะศาสตร์ - แต่ฉันสงสัยว่าวิศวกรรมซอฟต์แวร์มีศักยภาพที่จะเป็นอาชีพที่เป็นทางการหรือไม่

อะไรคือสิ่งที่ต้องเปลี่ยนแปลงเพื่อให้เกิดสิ่งนี้และมันจะเป็นสิ่งที่ดีหรือไม่?

(ถ้าใครรู้การวิจัยอย่างเป็นทางการในหัวข้อนี้ฉันจะขอบคุณอ้างอิงอย่างมาก)



ปรับปรุง

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

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

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

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

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


3
อะไรคือข้อดีของการเป็นอาชีพที่เป็นทางการ?
Pieter B

1
ภาษาท้องถิ่นมาก ในควิเบกคุณต้องเป็นส่วนหนึ่งของคำสั่งวิศวกรเพื่อให้สามารถเรียกว่าวิศวกรได้ ใช้กฎเดียวกันสำหรับวิศวกรซอฟต์แวร์ มาพร้อมกับรหัสของจริยธรรมกฎการประกันความรับผิดชอบ ฯลฯ
Jean-FrançoisCôté

5
เสื้อแล็บเห็นได้ชัด ด้วยความผูกพัน
Ben Brocka

2
@Pieter B: คุณรู้สึกอย่างไรเกี่ยวกับการพบแพทย์หากไม่มีอาชีพทางการที่รับประกันมาตรฐานบางอย่างที่แพทย์ทุกคนต้องปฏิบัติตาม?
Giorgio

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

คำตอบ:


15

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

จากบทความของ Wikipedia เกี่ยวกับอาชีพ :

มีข้อตกลงอย่างมากเกี่ยวกับการกำหนดคุณสมบัติลักษณะของอาชีพ พวกเขามี "สมาคมวิชาชีพฐานความรู้การฝึกอบรมเชิงสถาบันการออกใบอนุญาตการทำงานเป็นเอกเทศการควบคุมเพื่อนร่วมงาน ... (และ) รหัสของจริยธรรม" [18] ซึ่ง Larson ยังเพิ่ม "มาตรฐานวิชาชีพและความเป็นเลิศทางปัญญาระดับสูง "(Larson, p. 221) ว่า" อาชีพเป็นอาชีพที่มีพลังพิเศษและศักดิ์ศรี "(Larson, px) และพวกเขาประกอบด้วย" กลุ่มชนชั้นสูงพิเศษ "(Larson, p. 20) ในทุกสังคม

คำพูดนี้ Magali Sarfatti Larson การเพิ่มขึ้นของความเป็นมืออาชีพ: การวิเคราะห์ทางสังคมวิทยาอย่างกว้างขวาง การค้นหา "ลักษณะของอาชีพ" มักจะนำไปสู่ผลลัพธ์ที่คล้ายกัน

วิศวกรรมซอฟต์แวร์แตกต่างจากคุณลักษณะเหล่านี้อย่างไร

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

  • ฐานความรู้องค์ความรู้ด้านวิศวกรรมซอฟต์แวร์ได้รับการสนับสนุนโดย IEEE, Boeing, สภาวิจัยแห่งชาติแคนาดา, Raytheon, ซอฟต์แวร์ Construx, สภาวิศวกรมืออาชีพของแคนาดา, MITER Corporation, NIST, Rational, SAP (สำหรับรุ่น 2004) มันเริ่มต้นโดยเฉพาะเป็นขั้นตอนที่มีต่อ "การทำวิศวกรรมซอฟต์แวร์วินัยวิศวกรรมที่ถูกต้องและเป็นอาชีพที่ได้รับการยอมรับ"

  • เป็นสถาบันการฝึกอบรมในประเทศสหรัฐอเมริกา, เทคโนโลยีสารสนเทศ, วิทยาศาสตร์คอมพิวเตอร์และโปรแกรมวิศวกรรมซอฟต์แวร์สามารถรับการรับรองโดยกำลังใจ ในแคนาดาวิทยาการคอมพิวเตอร์และวิศวกรรมซอฟแวร์โปรแกรมได้รับการรับรองโดยCIPS องค์กรเหล่านี้กำหนดมาตรฐานขั้นต่ำและผลลัพธ์ที่คาดหวังสำหรับนักเรียนที่สำเร็จการศึกษาจากโปรแกรมที่ได้รับการรับรองเพื่อให้พวกเขาสามารถทำงานในสภาพแวดล้อมแบบมืออาชีพ นอกจากนี้ IEEE ยังมีการสอบอีกสองชุดตามฐานความรู้ด้านวิศวกรรมซอฟต์แวร์ - การรับรองการพัฒนาซอฟท์แวร์รองสำหรับนักศึกษาระดับปริญญาตรี (หรือปริญญาตรีที่เพิ่งสำเร็จการศึกษาเมื่อเร็ว ๆ นี้) และการสอบรับรองการพัฒนาซอฟต์แวร์ระดับมืออาชีพ

  • การออกใบอนุญาตเมื่อวันที่เมษายน 2013 NCEES มีการสอบวิชาชีพวิศวกรรมวิศวกรรมซอฟต์แวร์ ให้บริการแบบรายรัฐในสหรัฐอเมริกา อย่างไรก็ตามการสอบ PE วิศวกรรมซอฟต์แวร์ไม่ได้มีให้บริการในทุกรัฐในปัจจุบันและแม้แต่น้อยกว่านั้นจำเป็นต้องมีใบอนุญาต บทความนี้ตีพิมพ์ในซอฟต์แวร์ IEEE ฉบับเดือนพฤศจิกายน / ธันวาคม 2542พูดคุยเกี่ยวกับข้อกำหนดการออกใบอนุญาตในรัฐเท็กซัสและการอภิปรายสั้น ๆ เกี่ยวกับการออกใบอนุญาตในออนแทรีโอและบริติชโคลัมเบียแคนาดาและสหราชอาณาจักร ในเท็กซัสจำเป็นต้องมีใบอนุญาตสำหรับการทำงานในการออกแบบการทดสอบหรือการใช้งานของระบบฝังตัวหรือเรียลไทม์ที่ "ต้องมีความเข้าใจรายละเอียดของส่วนประกอบไฟฟ้าหรือเครื่องกลวิศวกรรม" และสำหรับระบบซอฟต์แวร์สำหรับ "อุปกรณ์เครื่องกลอุปกรณ์ไฟฟ้า และระบบไฟฟ้า "- งานพัฒนาซอฟต์แวร์จำนวนเล็กน้อย ในรัฐที่เสนอใบอนุญาตสถานการณ์กรณีที่เลวร้ายที่สุดคือการลงโทษทางวินัยการลงโทษหรือการสูญเสียใบอนุญาตของคุณหากลูกค้าหรือนายจ้างยื่นเรื่องร้องเรียน อย่างไรก็ตามอันตรายที่แท้จริงเท่านั้นที่เกิดขึ้นในรัฐที่ต้องมีใบอนุญาตยกเว้นว่าจำเป็นต้องมีใบอนุญาตในการทำงานการสูญเสียมันไม่ได้มีความหมายอะไรเลย

  • จรรยาบรรณ ACM และ IEEE Computer Society ได้สร้างจรรยาบรรณวิชาชีพวิศวกรรมซอฟต์แวร์ขึ้นมา ในสหรัฐอเมริกาผู้สำเร็จการศึกษาจากโปรแกรมวิศวกรรมของ ABET ที่ได้รับการรับรองรวมถึงโปรแกรมวิศวกรรมซอฟต์แวร์สามารถเข้าร่วมOrder of the Engineerซึ่งยังคงรักษาจรรยาบรรณที่ใช้กับวิศวกรมืออาชีพโดยทั่วไป

  • งานอิสระ, การควบคุมเพื่อนร่วมงาน, มาตรฐานระดับสูงของความเป็นมืออาชีพและความเป็นเลิศทางปัญญาเหล่านี้มักจะปรากฏในสภาพแวดล้อมที่วิศวกรรมซอฟต์แวร์ถือว่าเป็นวินัยทางวิศวกรรม กล่าวได้ว่าไม่ใช่ว่านายจ้างทุกคน (หรืออิสระ) ปฏิบัติต่อการพัฒนาซอฟต์แวร์ในฐานะวิศวกรรม


6
90% หรือว่าฉันจะบอกว่าถึง 99% ของโปรแกรมเมอร์อาจไม่รู้ด้วยซ้ำว่า IEEE CS มีอยู่จริง หากแพทย์ 99% ไม่ได้เป็นของ AMA ฉันจะมีความเชื่อมั่นในวิชาชีพน้อยลง
Jonathan Rich

3
@JonathanRich - ทุกคนที่ฉันรู้จักในวิทยาลัยเข้าร่วมอย่างน้อยที่สุด IEEE คุณคิดเลขที่ไหนมา คุณเชื่อมต่อกับ IEEE เพื่อให้คุณมีหมายเลขสมาชิกจริงหรือไม่?
Ramhound

2
@ แรมฮาวด์: เมื่อฉันอยู่ในมหาวิทยาลัยผู้คนต่างก็รับรู้ถึง IEEE แต่ดูเหมือนจะมีบางคนที่เคยเข้าร่วม จากนั้นอีกครั้งโรงเรียนของฉันมีโปรแกรมวิทยาการคอมพิวเตอร์ไม่ใช่โปรแกรมวิศวกรรมซอฟต์แวร์โรงเรียนอื่น ๆ มีหลักสูตรการเขียนโปรแกรมคอมพิวเตอร์ มีน้อยมากที่มีวิศวกรรมซอฟต์แวร์แม้ว่ามันจะเริ่มเปลี่ยนไปเมื่อโรงเรียนได้รับการรับรองหลักสูตรของพวกเขา นอกจากนี้เราไม่ได้อยู่ในสหรัฐอเมริกาไม่แน่ใจว่าจะมีผลกระทบต่อการเข้าร่วม IEEE หรือไม่
FrustratedWithFormsDesigner

11
@ JonathanRich 90% ของโปรแกรมเมอร์ไม่ใช่วิศวกรซอฟต์แวร์
ฟิลิป

6
@ ฟิลิปและในนั้นมีปัญหาอยู่ คุณเป็นโปรแกรมเมอร์หรือไม่? นักพัฒนา นักพัฒนาซอฟต์แวร์หรือไม่ วิศวกรซอฟต์แวร์หรือไม่? นักวิเคราะห์ระบบ? คนไหนที่เป็นมืออาชีพและคนที่ไม่ได้? คุณต้องการวิศวกรซอฟต์แวร์เพื่อตั้งค่าเว็บไซต์ WordPress ของคุณหรือไม่? คุณควรปล่อยให้นักพัฒนาเข้ามาใกล้แพลตฟอร์มคลังข้อมูลของคุณหรือไม่? ฉันหวังเป็นอย่างยิ่งว่าวิศวกรรมซอฟต์แวร์ได้รับการติดต่ออย่างมืออาชีพมากกว่า 90% ของคนที่ฉันเคยทำงานด้วย แต่เมื่อคุณมีคนที่ต้องการจ่าย DBA น้อยกว่าคนที่แต่งตัวประหลาดสนามหญ้าของคุณคุณไม่ใช่ จะได้คนที่ดีที่สุด
Jonathan Rich

4

องค์กรวิชาชีพที่ยอมรับและยอมรับกันอย่างกว้างขวางสำหรับนักพัฒนาซอฟต์แวร์ / วิศวกร / สถาปนิก / ฯลฯ จะไม่เป็นสิ่งที่ดี

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

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


2
ความคล้ายคลึงกันกับการค้าประเวณีเป็นเรื่องที่ทำให้ไม่สบาย ....
mattnz

@mattnz เรียกว่าการค้าประเวณีทางปัญญาและอัตรารายชั่วโมงของฉันอาจต่ำกว่าแบบดั้งเดิม
MrFox

ขอบคุณสำหรับคำตอบที่เฉียบแหลม @MrFox ฉันต้องการที่จะรับสมองของคุณอีกเล็กน้อยถ้าฉันอาจ หากแพทย์ / นักบัญชี / นักกฎหมายให้ข้อผิดพลาดที่สำคัญ / มีค่าใช้จ่ายพวกเขาเสี่ยงต่อการสูญเสียการรับรองและถูกกันออกไปจากการค้าขายเพิ่มเติม ในทางกลับกันวิศวกรซอฟต์แวร์ไม่ต้องเผชิญกับความเสี่ยงดังกล่าวเนื่องจากพวกเขามักจะสูญเสียเงิน (เนื่องจากความรับผิดที่ จำกัด ที่พวกเขาได้รับจาก บริษัท ที่พวกเขาว่าจ้าง) สิ่งที่พวกเขาสูญเสียคืองานและชื่อเสียงในปัจจุบัน ในแง่นี้คุณคิดว่าการเข้าสังคมอย่างเป็นทางการเพื่อควบคุมการปฏิบัติที่ดีที่สุดของวิศวกรรมซอฟต์แวร์เป็นเรื่องที่สมเหตุสมผลหรือไม่?
Kosta Kontos

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

0

ไม่มีอะไรจำเป็นต้องเปลี่ยนแปลง

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

ฉันคิดว่าคำถามของคุณเกี่ยวกับใบอนุญาต

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

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

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

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

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

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


2
"โปรแกรมเมอร์ที่มี 'หนังสือรับรอง' ดูดีบนกระดาษ" ไม่มีเลย
ฟิลิป

0

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

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

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


ขอบคุณสำหรับคำตอบที่ลึกซึ้ง คุณคิดว่าควรมีประสบการณ์การทำงานขั้นต่ำที่จำเป็นหรือไม่ก่อนที่นักพัฒนาซอฟต์แวร์จะสามารถทำการทดสอบบาร์ได้ คล้ายกับวิธีที่นักกฎหมาย / นักบัญชีต้องทำบทความสองถึงสามปีให้สมบูรณ์ และถ้ามีข้อกำหนดขั้นต่ำนี้คุณคิดว่างานของตัวเองควรจะได้มาตรฐานในระดับหนึ่งเพื่อให้มั่นใจในความสม่ำเสมอของประสบการณ์ที่ได้รับจากอาชีพนี้หรือไม่?
Kosta Kontos

-2

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

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


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

@ThomasOwens ที่เป็นจริง แต่ด้วยซอฟต์แวร์ที่เราไม่ได้มีอย่างเป็นทางการ 'ทุกคนไม่สามารถซื้อสะพานทางหลวง' ส่วนที่จะมาแม้ว่า
เจเค

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

1
@ThomasOwens ในฐานะวิศวกรซอฟต์แวร์ที่ทำงานเกี่ยวกับซอฟต์แวร์ avionics สำหรับเครื่องบินโดยสารเชิงพาณิชย์ (OBIGGS) ใช่แล้วจริงๆใคร ๆ ก็สามารถสร้างสิ่งนี้ได้ ซอฟต์แวร์ไม่ใช่สิ่งที่ซับซ้อนทั้งหมด แต่ลูกค้ามักจู้จี้จุกจิกเกี่ยวกับความแข็งแกร่งและความมั่นใจว่าจะไม่เกิดการระเบิด เหมือนทุกคนสามารถสร้างสะพานได้ไม่ดีใคร ๆ ก็สามารถเขียนรหัสหน่วย OBIGGS ได้ไม่ดี มุมมองระดับมืออาชีพมาพร้อมกับการทดสอบกระบวนการจัดการ DO-178b และความสามารถในการแสดงด้วยความมั่นใจว่าจะไม่ตกจากท้องฟ้าเมื่อข้ามเส้นวันที่สากล
ฟิลิป

3
"ไม่มีอะนาล็อกของฟิสิกส์ในซอฟต์แวร์": มีนั่นคือมันเรียกว่าคณิตศาสตร์หรือวิธีการทางการอื่น ๆ และในความเป็นจริงสำหรับซอฟต์แวร์ที่มีความสำคัญต่อภารกิจงานส่วนใหญ่มีข้อกำหนดการตรวจสอบและทดสอบและมีเพียง 10% ของงานที่ทำโค้ดจริง เฉพาะซอฟต์แวร์ที่ไม่ได้เป็นภารกิจสำคัญเท่านั้นที่สามารถพัฒนาได้ในรูปแบบที่ว่องไวและมีข้อผิดพลาด (วิธีหนึ่งที่จะสร้างสะพานในสนามหญ้าด้านหลัง) แต่ลองใช้วิธีเดียวกันในการสร้างซอฟต์แวร์ avionic!
Giorgio

-2

ซอฟต์แวร์ไม่ใช่อาชีพและจะไม่เป็นหนึ่งเดียว

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

คำอธิบายนั้นไม่ตรงกับซอฟต์แวร์เลย

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

ซอฟต์แวร์ไม่สามารถกลายเป็นอาชีพได้เพราะสมาชิกที่ "ได้รับอนุญาต" จะต้องรับผิดชอบต่อความเสียหายที่เกิดขึ้นและการกระทำผิดของตน นักพัฒนา 80-90% จะสูญเสียงานของพวกเขาภายในสองสามปีสำหรับคนเดียว

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

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

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

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

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


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