มุมมองที่วิศวกรซอฟต์แวร์สามารถทำการจำแนกประเภทเดียวกับผู้เชี่ยวชาญทางการแพทย์หรือนักบัญชีเป็นมุมมองที่ไม่รู้เรื่อง "ปัญหา" ที่พวกเขากำลังพยายามแก้ไข ก่อนที่ฉันจะให้ความเห็นเกี่ยวกับเรื่องนี้ขอให้พิจารณาข้อโต้แย้งของนาย ธ อร์นตันซึ่งเป็นรองประธานหน่วยงานกำกับดูแลที่เสนอกฎหมายนี้
“ เช่นเดียวกับผู้เชี่ยวชาญด้านการฝึกฝนเช่นแพทย์นักบัญชีและพยาบาลได้รับใบอนุญาตดังนั้นวิศวกรซอฟต์แวร์ควรทำเช่นนั้น” Thornton กล่าว “ สาธารณชนจำเป็นต้องพึ่งพาหนังสือรับรองบางประเภทเมื่อเลือกผู้รับเหมาเพื่อเขียนซอฟต์แวร์”
- Mitch Thornton รองประธานของการอนุญาตและการลงทะเบียน IEEE
ฟังดูสมเหตุสมผลมากบนพื้นผิว ท้ายที่สุดก็มีอุตสาหกรรมอื่น ๆ ที่อาจถูกพิจารณาว่าเป็น โดยการควบคุมที่ประสบความสำเร็จฉันหมายความว่าถ้าคุณมองหาหมอในสมุดหน้าเหลืองคุณสามารถมั่นใจได้ว่าเขาหรือเธอมีการศึกษาอย่างละเอียดในมหาวิทยาลัยที่ได้รับการรับรองและผ่านการสอบจำนวนมากและผ่านการอยู่อาศัย นี่คืออุตสาหกรรมที่ "ประสบความสำเร็จในการควบคุม" (ในแง่ของบุคลากรมืออาชีพ)
- ทนายความ
- แพทย์
- บัญชี
- วิศวกรนิวเคลียร์
- ช่างตัดผม ( ไม่ได้ล้อเล่น )
ท้ายที่สุดคุณไม่ต้องการให้ใครเอาก้อนเนื้องอกนั้นออกจากตับอ่อนของคุณหรือทำงานกับเครื่องหมุนเหวี่ยงของโรงไฟฟ้านิวเคลียร์นั้นนอกเมือง เหตุใดจึงไม่ควรมีข้อ จำกัด คล้ายกันสำหรับวิศวกรซอฟต์แวร์
เฉพาะผู้ที่มีโปรแกรม "อาจเป็นอันตรายต่อสุขภาพของประชาชนหรือความปลอดภัยความปลอดภัยทรัพย์สินหรือเศรษฐกิจจะต้องมีการทดสอบ"
นี่เป็นคำแถลงที่คลุมเครือและเปิดให้มีการตีความและการประยุกต์ใช้อย่างเสรี ฉันสามารถโต้แย้งได้ว่า Apple Inc. หรือ Facebook เป็นส่วนหนึ่งของเศรษฐกิจอเมริกัน - ฉันต้องมีใบอนุญาตพิเศษจากรัฐบาลในการเขียนรหัสให้พวกเขาตอนนี้หรือไม่เพราะถ้าฉันทำให้ไซต์ขาดความสามารถฉันอาจทำให้คนอเมริกันเสียหายได้ เศรษฐกิจ? ในงานสุดท้ายของฉันฉันตั้งใจปิดลิฟต์เมล็ดด้วยงาน cron ผิดพลาด - อาจเป็นอันตรายต่อแหล่งอาหาร
ฉันตระหนักว่าฉันกำลังหลีกเลี่ยงเจตนาที่แท้จริงของข้อเสนอนี้ แนวคิดเบื้องหลังคือเพื่อให้แน่ใจว่าบุคคลที่เขียนรหัสสำหรับระบบเบรกป้องกันล้อล็อกบน Jetta ใหม่ของคุณมีความสามารถและได้รับใบอนุญาตอย่างถูกต้องในการเขียนรหัสสำหรับระบบเบรกป้องกันล้อล็อก บน Jetta ของคุณ
นี่คือปัญหา: วิศวกรรมซอฟต์แวร์ในยุคนี้ครอบคลุมทุกสิ่งและคุณไม่สามารถทดสอบได้ทุกวิชา กฎทางธุรกิจมีความเฉพาะเจาะจงมากเกินไปและแตกต่างกันไปจากการมีระเบียบวินัยจนถึงวินัย วิศวกรสมมุติของเราเขียนโค้ดสำหรับระบบ ABS บน Jetta อาจกำลังเขียนสิ่งที่แตกต่างอย่างสิ้นเชิงกับระบบ ABS บน Elantra เขาต้องได้รับการรับรองอีกครั้งหรือไม่?
แล้วถ้าคุณทดสอบสาขาอนุพันธ์เหล่านี้ทั้งหมดล่ะ? สมมติว่าสักครู่ที่โปรแกรมเมอร์ทุกคนที่ทำงานบนเว็บไซต์อีคอมเมิร์ซได้รับการรับรองว่าเป็นโปรแกรมเมอร์ที่มีความสามารถในอีคอมเมิร์ซ ดังนั้น? ทันใดนั้นหมายความว่าโปรแกรมเมอร์และ บริษัท เหล่านี้จะทำการตรวจสอบที่จำเป็นจริง ๆ แล้วสร้างตามมาตรฐาน PCI หรือไม่ แม้ว่าพวกเขาทำ - บกพร่องจะยังคงเกิดขึ้น
การสอบจะทดสอบความรู้พื้นฐานไม่ใช่ผู้เชี่ยวชาญในสาขาวิชาตามที่กล่าวไว้โดย Mitch Thornton รองประธานคณะกรรมการการออกใบอนุญาตและการลงทะเบียน IEEE
นี่คือนักเตะ การขาดความรู้พื้นฐานไม่เคยเป็นปัญหา เบรกป้องกันล้อล็อกของฉันไม่หยุดทำงานเพราะ Chuck กำลังดิ้นรนกับแนวคิดของโครงสร้างการควบคุม พวกเขาล้มเหลวเนื่องจากมีความผิดพลาดที่ ABS ปิดเนื่องจากไฟฟ้าลัดวงจรและไฟไม่ได้เปลี่ยนเส้นทางอย่างเหมาะสม หรือบางสิ่งบางอย่าง.
ซอฟต์แวร์ปั๊มอินซูลินที่ฉันเขียนไม่ได้หยุดทำงานเพราะขาดทักษะพื้นฐาน มันหยุดเพราะมีข้อผิดพลาดในวิธีที่ฉันวัดการกระจายตัวของอินซูลินเมื่อเพื่อนร่วมทีมยุโรปของฉันใช้ระบบเมตริกและฉันไม่ได้ทำ
นั่นคือสิ่งที่คุณสามารถบัญชีสำหรับในการพัฒนาแต่คุณไม่เคยสามารถทดสอบกับการรับรอง
นี่คือสิ่งที่จะเกิดขึ้นหาก "การรับรอง" นี้มีผลบังคับใช้: จำนวนเหตุการณ์จะยังคงเหมือนเดิม ทำไม? เพราะมันไม่ได้ทำอะไรเพื่อกำจัดปัญหาที่แท้จริงของปั๊ม ABS หรืออินซูลินที่ล้มเหลว