औपचारिक पेशे बनने के लिए सॉफ्टवेयर इंजीनियरिंग के लिए क्या बदलने की आवश्यकता है?


11

अन्य व्यवसायों (जैसे लेखांकन, कानून, चिकित्सा, आदि) के विपरीत, सॉफ्टवेयर इंजीनियरिंग के लिए कोई पेशा-व्यापी प्रमाणन नहीं है।

मुझे प्रौद्योगिकी और कार्यप्रणाली के विशिष्ट प्रमाणपत्रों की विविधता के बारे में अच्छी तरह से पता है जिसका उद्देश्य विशेषज्ञता और अनुभव के प्रमाण के रूप में सेवा करना है, लेकिन कोई सार्वजनिक सॉफ्टवेयर इंजीनियरिंग सोसायटी / शासी निकाय नहीं है जो आम तौर पर स्वीकार किए गए पेशेवर मानकों को निर्धारित करता है (और कानूनी रूप से आकलन करने की शक्ति रखता है) ।

मैं समझता हूं कि सॉफ्टवेयर एक गतिशील जानवर है - जो कि कला, भाग विज्ञान है - लेकिन मैं सोच रहा हूं कि क्या सॉफ्टवेयर इंजीनियरिंग में औपचारिक पेशा बनने की क्षमता है।

ऐसा होने के लिए क्या बदलने की जरूरत है, और क्या यह एक अच्छी बात भी होगी?

(यदि किसी को इस विषय में औपचारिक शोध का पता है तो मैं संदर्भों की बहुत प्रशंसा करूंगा)



अपडेट करें

मैं सॉफ्टवेयर इंजीनियरिंग में वर्तमान स्तर के प्रमाणन के संबंध में नीचे दिए गए कई अच्छे बिंदुओं से सहमत हूं। मुझे यह भी बहुत दिलचस्प लगता है कि कुछ देश सॉफ्टवेयर इंजीनियरिंग को एक पेशे के रूप में मानते हैं जबकि अन्य नहीं।

हालाँकि "औपचारिक पेशे" शब्द के इर्द-गिर्द कुछ कफ़न सा लगता है, और यह सॉफ्टवेयर इंजीनियरिंग पर कैसे लागू होगा। मुझे लगता है कि सॉफ्टवेयर इंजीनियरिंग के साथ प्रमुख मुद्दा - और प्राथमिक कारण यह एक पूर्ण विकसित पेशा नहीं है - यह है कि यदि आप एक प्रमाणित सॉफ्टवेयर इंजीनियर हैं, और - उदाहरण के लिए - कुछ सॉफ्टवेयर जो आपने एक एलिवेटर की खराबी के लिए लिखा है और लोगों को मारता है, आपके प्रमाणीकरण और / या एक औपचारिक पेशेवर निकाय की सदस्यता निरस्त नहीं होगी।

निश्चित रूप से, आपकी कंपनी पर लाखों का मुकदमा हो सकता है, और आप व्यक्तिगत रूप से अपनी नौकरी खो सकते हैं और एक बुरा संदर्भ अर्जित कर सकते हैं, लेकिन आम तौर पर कहा जाता है, आप व्यक्तिगत रूप से सीमित देयता के कवच द्वारा संरक्षित हैं, क्योंकि उक्त कंपनी द्वारा नियोजित किया जा रहा है। दूसरे शब्दों में, और जहाँ तक मुझे पता है, कोई कानूनी मूल्यांकन / प्रवर्तन नहीं है (अन्य औपचारिक व्यवसायों और उनके शासी समाजों के विपरीत) जो एक बार आपको एक भारी सामान बनाने के बाद आधिकारिक रूप से व्यापार करने से रोकते हैं। ।

सॉफ्टवेयर इंजीनियरिंग - जैसा कि यह खड़ा है - इस तथ्य पर छुआ जवाब मुझे काफी पसंद आया, जो एक योग्यता है, जिसे औपचारिक पेशा होने की आवश्यकता नहीं है, और यह एक अच्छी बात है जिसे बदलना नहीं चाहिए। उसी समय, मुझे लगता है कि हमें मिशन-क्रिटिकल सॉफ़्टवेयर के सॉफ़्टवेयर इंजीनियरों के बीच स्पष्ट अंतर बनाने की आवश्यकता है जो कि विविध / गैर-महत्वपूर्ण सॉफ़्टवेयर के डेवलपर्स बनाम।

आपमें से जो मिशन-क्रिटिकल सॉफ्टवेयर पर काम करते हैं / करते हैं - क्या कोई व्यक्तिगत दायित्व है? निश्चित रूप से सॉफ्टवेयर इंजीनियर को महंगी गलती करने की स्थिति में औपचारिक नतीजों की आवश्यकता है?


3
औपचारिक पेशे बनने के क्या फायदे हैं?
पीटर बी

1
बहुत स्थानीयकृत। यहाँ क्यूबेक में, आपको इंजीनियर कहलाने में सक्षम होने के लिए इंजीनियर के आदेश का हिस्सा होना चाहिए। सॉफ्टवेयर इंजीनियर के लिए समान नियम लागू होते हैं। आचार संहिता, नियम, उत्तरदायित्व बीमा, आदि के साथ आता है ..
जीन-फ्रांस्वा कोटे

5
लैब कोट, जाहिर है। संबंधों के साथ।
बेन ब्रोका

2
@ पीटर बी: एक डॉक्टर को देखने के बारे में कैसा महसूस होगा अगर कोई औपचारिक पेशा नहीं था जो कुछ मानक की गारंटी देता है जिसे हर डॉक्टर को पूरा करना चाहिए?
जियोर्जियो

1
मैंने इस प्रश्न को फिर से खोलने के लिए मतदान किया है। यह "कैन सॉफ्टवेयर इंजीनियर्स प्रमाणित पेशेवर इंजीनियर बन सकता है" की नकल नहीं है: यह सवाल पेशे की वर्तमान स्थिति को देखते हुए कैरियर विकल्पों के बारे में पूछता है । यह सवाल उस स्थिति और एक कथित वांछित स्थिति के बीच अंतर के बारे में पूछता है , और उस अंतर को बंद करने के लिए कैसे कार्य करना है। ये अलग-अलग विषय हैं।

जवाबों:


15

उपलब्ध जानकारी के आधार पर, मेरा मानना ​​है कि सॉफ्टवेयर इंजीनियरिंग पहले से ही एक औपचारिक पेशा है। इसे व्यापक रूप से स्वीकार नहीं किया जा सकता है, लेकिन यह किसी पेशे की विशेषताओं के लिए आम तौर पर स्वीकृत मानदंडों को पूरा कर रहा है।

से पेशे पर विकिपीडिया के लेख :

किसी पेशे की विशिष्ट विशेषताओं को परिभाषित करने के बारे में काफी सहमति है। उनके पास "पेशेवर एसोसिएशन, संज्ञानात्मक आधार, संस्थागत प्रशिक्षण, लाइसेंसिंग, कार्य स्वायत्तता, सहकर्मी नियंत्रण ... (और) आचार संहिता," [18] है, जिसके बाद लार्सन भी कहते हैं, "पेशेवर और बौद्धिक उत्कृष्टता के उच्च मानक।" "(लार्सन, पी। 221) कि" पेशे विशेष शक्ति और प्रतिष्ठा के साथ पेशे हैं, "(लार्सन, पीएक्स) और जिसमें वे शामिल हैं" सभी समुदायों में "एक विशिष्ट कुलीन समूह," (लार्सन, पृष्ठ 20)।

इस उद्धरण में मगली सरफत्ती लार्सन की द राइज़ ऑफ़ प्रोफेशनलिज्म: ए सोशियोलॉजिकल एनालिसिस बड़े पैमाने पर है। "किसी पेशे की विशेषताओं" की खोज करने से समान परिणाम प्राप्त होते हैं।

सॉफ्टवेयर इंजीनियरिंग इन विशेषताओं के खिलाफ कैसे खड़ी होती है?

  • प्रोफेशनल एसोसिएशन सॉफ्टवेयर इंजीनियरों के लिए कई पेशेवर एसोसिएशन हैं। आईईईई और अधिक विशेष रूप IEEE कम्प्यूटर सोसायटी दुनिया भर में इंजीनियरिंग में काम करने वाले पेशेवरों की सेवा, IEEE कम्प्यूटर सोसायटी कंप्यूटर और सॉफ्टवेयर इंजीनियरों पर विशेष रूप से ध्यान केंद्रित के साथ। एसीएम , कंप्यूटिंग में काम कर रहे अमेरिका में आम तौर पर पेशेवरों के लिए एक और पेशेवर संगठन है। वहाँ भी है ब्रिटिश कम्प्यूटर सोसायटी है, जो सूचना और संचार प्रौद्योगिकी, आम तौर पर ब्रिटेन में में व्यवसायों के विभिन्न पहलुओं को पूरा करता है।

  • संज्ञानात्मक आधार सॉफ्टवेयर इंजीनियरिंग बॉडी ऑफ नॉलेज IEEE, बोइंग, नेशनल रिसर्च काउंसिल कनाडा, रेथियॉन, कॉन्स्ट्रेक्स सॉफ्टवेयर, कनाडाई काउंसिल ऑफ प्रोफेशनल इंजीनियर्स, MITER कॉर्पोरेशन, NIST, तर्कसंगत, SAP (2004 संस्करण के लिए) द्वारा प्रायोजित है। इसे विशेष रूप से "सॉफ्टवेयर इंजीनियरिंग को एक वैध इंजीनियरिंग अनुशासन और एक मान्यता प्राप्त पेशा बनाने" की दिशा में एक कदम के रूप में शुरू किया गया था ।

  • संस्थागत प्रशिक्षण संयुक्त राज्य अमेरिका में, सूचना प्रौद्योगिकी, कंप्यूटर विज्ञान और सॉफ्टवेयर इंजीनियरिंग कार्यक्रमों को एबीईटी द्वारा मान्यता प्राप्त किया जा सकता है । कनाडा में, कंप्यूटर विज्ञान और सॉफ्टवेयर इंजीनियरिंग प्रोग्राम CIPS द्वारा मान्यता प्राप्त हैं । ये संगठन एक मान्यता प्राप्त कार्यक्रम से स्नातक होने वाले छात्रों के लिए न्यूनतम मानकों और अपेक्षित परिणामों को परिभाषित करते हैं, ताकि वे पेशेवर वातावरण में कार्य कर सकें। आईईईई सॉफ्टवेयर इंजीनियरिंग बॉडी ऑफ नॉलेज के आधार पर दो परीक्षाएं भी प्रदान करता है - अंडरग्रेजुएट्स के लिए प्रमाणित सॉफ्टवेयर डेवलपमेंट एसोसिएट परीक्षा (या हाल ही में स्नातक से स्नातक) और मध्य-कैरियर पेशेवरों के लिए प्रमाणित सॉफ्टवेयर डेवलपमेंट प्रोफेशनल परीक्षा।

  • लाइसेंसिंग अप्रैल 2013 तक, एनसीईईएस सॉफ्टवेयर इंजीनियरिंग में एक पेशेवर इंजीनियरिंग परीक्षा प्रदान करता है । यह संयुक्त राज्य अमेरिका में राज्य-दर-राज्य आधार पर पेश किया जाता है। हालाँकि, सॉफ़्टवेयर इंजीनियरिंग PE परीक्षा वर्तमान में हर राज्य द्वारा पेश नहीं की जाती है, और यहां तक ​​कि लाइसेंस की भी कम आवश्यकता होती है। यह लेख IEEE सॉफ्टवेयर के नवंबर / दिसंबर 1999 अंक में प्रकाशित हुआटेक्सास राज्य में लाइसेंसिंग आवश्यकताओं और ओंटारियो और ब्रिटिश कोलंबिया, कनाडा और यूके में लाइसेंसिंग की एक संक्षिप्त चर्चा पर चर्चा करता है। टेक्सास में, एम्बेडेड या रियल-टाइम सिस्टम के डिजाइन, परीक्षण, या कार्यान्वयन पर काम करने के लिए एक लाइसेंस की आवश्यकता होती है, जिसे "यांत्रिक उपकरणों, विद्युत उपकरणों के लिए" और सॉफ्टवेयर सिस्टम के लिए विस्तृत समझ की आवश्यकता होती है। , और पावर सिस्टम "- सॉफ्टवेयर विकास कार्य की अपेक्षाकृत कम मात्रा। लाइसेंस देने की पेशकश करने वाले राज्यों में, सबसे खराब स्थिति अनुशासनात्मक कार्रवाई, प्रतिबंध, या आपके लाइसेंस का नुकसान ग्राहक या नियोक्ता को शिकायत दर्ज करना चाहिए। हालांकि, केवल वास्तविक नुकसान राज्यों में आता है जिन्हें लाइसेंस की आवश्यकता होती है - जब तक कि लाइसेंस को काम करने की आवश्यकता नहीं होती है, तब तक इसे खोने का कोई मतलब नहीं है।

  • आचार संहिता कोड ACM और IEEE कंप्यूटर सोसायटी ने एक सॉफ्टवेयर इंजीनियरिंग आचार संहिता और व्यावसायिक अभ्यास बनाया । संयुक्त राज्य अमेरिका में, सॉफ्टवेयर इंजीनियरिंग कार्यक्रमों सहित एबीईटी मान्यता प्राप्त इंजीनियरिंग कार्यक्रमों के स्नातक भी ऑर्डर ऑफ इंजीनियर में शामिल हो सकते हैं , जो नैतिकता का एक कोड रखता है जो आमतौर पर पेशेवर इंजीनियरों पर लागू होता है।

  • कार्य स्वायत्तता, सहकर्मी नियंत्रण, व्यावसायिक और बौद्धिक उत्कृष्टता के उच्च मानक ये अक्सर ऐसे वातावरण में दिखाई देते हैं जहां सॉफ्टवेयर इंजीनियरिंग को इंजीनियरिंग अनुशासन के रूप में माना जाता है। यह कहना है कि सभी नियोक्ता (या फ्रीलांसर) इंजीनियरिंग के रूप में सॉफ्टवेयर विकास का इलाज नहीं करते हैं।


6
90%, या मैं यहाँ तक कहूँगा कि 99% प्रोग्रामर शायद यह भी नहीं जानते कि IEEE CS मौजूद है। अगर 99% डॉक्टर एएमए के नहीं थे, तो मुझे पेशे पर बहुत कम विश्वास होगा।
जोनाथन रिच

3
@JonathanRich - मुझे पता है कि कॉलेज में हर कोई बहुत कम IEEE में शामिल हुआ था। आप अपने नंबर के साथ कहां आए? आप IEEE से जुड़े हैं, तो वास्तव में आपके पास कुछ वास्तविक सदस्यता संख्याएँ हैं?
रामहाउंड

2
@ रामहाउंड: जब मैं विश्वविद्यालय में था, तो लोगों को आईईईई के बारे में पता था लेकिन कुछ लोग कभी इसमें शामिल हुए। फिर, मेरे स्कूल में कंप्यूटर साइंस प्रोग्राम था, सॉफ्टवेयर इंजीनियरिंग प्रोग्राम नहीं, अन्य स्कूलों में कंप्यूटर प्रोग्रामिंग कोर्स थे। बहुत कम लोगों के पास सॉफ्टवेयर इंजीनियरिंग थी , हालांकि यह बदलना शुरू हो गया है क्योंकि स्कूलों को अपने पाठ्यक्रमों के लिए मान्यता प्राप्त है। इसके अलावा, हम अमेरिका में नहीं थे, सुनिश्चित नहीं हैं कि IEEE भागीदारी पर कोई प्रभाव पड़े।
FrustratedWithFormsDesigner

11
@JonathanRich, 90% प्रोग्रामर सॉफ्टवेयर इंजीनियर नहीं हैं।
फिलिप

6
@Philip और उसमें समस्या निहित है। क्या आप एक प्रोग्रामर हैं? एक डेवलपर? एक सॉफ्टवेयर डेवलपर? एक सॉफ्टवेयर इंजीनियर? एक सिस्टम विश्लेषक? कौन से पेशेवर हैं और कौन से नहीं हैं? क्या आपको अपना वर्डप्रेस साइट सेट करने के लिए एक सॉफ्टवेयर इंजीनियर की आवश्यकता है? क्या आपको किसी डेवलपर को अपने इन-हाउस डेटा वेयरहाउसिंग प्लेटफ़ॉर्म के करीब आने देना चाहिए? मैं बहुत कामना करता हूं कि सॉफ्टवेयर इंजीनियरिंग को उन लोगों की तुलना में अधिक पेशेवर रूप से संपर्क किया गया है, जिन लोगों के साथ मैंने काम किया है, उनमें से ९ ०% लोग हैं, लेकिन जब आपके पास ऐसे लोग हैं जो आपके लॉन को कम करने वाले लड़के से कम डीबीए का भुगतान करना चाहते हैं, तो आप नहीं हैं सबसे अच्छे लोगों को पाने के लिए।
जोनाथन रिच

4

सॉफ्टवेयर डेवलपर्स / इंजीनियर / आर्किटेक्ट / आदि के लिए एक व्यापक रूप से स्थापित और स्वीकृत पेशेवर निकाय अच्छी बात नहीं होगी।

वर्तमान में, यह उन कुछ क्षेत्रों में से एक है जो योग्यता के रूप में कार्य कर सकता है। जैसा कि, मुझे परवाह नहीं है कि आपके पास कौन सी डिग्री है (या यदि आपके पास एक है), आपके पास कितनी वरिष्ठता है, आपको कौन सी भाषाएं पता हैं, आदि। यह पता लगाना अपेक्षाकृत आसान है कि क्या आप एक अच्छे डेवलपर हैं या नहीं। , और दिन के अंत में केवल वही चीज है जो मायने रखती है। यानी क्या आप चीजों को प्राप्त कर सकते हैं?

वर्तमान में आप अपनी क्षमता से पहचाने जाते हैं, किसी मान्यता से नहीं जो आपको किसी ने प्रदान किया है। और यह एक निष्पक्ष, गुड थिंग (टीएम) है।


2
वेश्यावृत्ति की समानता हल्के ढंग से
विघटित हो रही है

@mattnz इसे बौद्धिक वेश्यावृत्ति कहा जाता है, और मेरी प्रति घंटा की दर शायद पारंपरिक प्रकार से कम है।
MrFox

इस आनंददायक उत्तर के लिए धन्यवाद @MrFox। अगर मैं हो सकता है मैं आपके दिमाग को थोड़ा और आगे बढ़ाना चाहूंगा। यदि डॉक्टर / एकाउंटेंट / वकील एक महत्वपूर्ण / महंगी गलती करते हैं, तो वे अपने प्रमाणीकरण को खोने और आगे के व्यापार से रोक दिए जाने का जोखिम उठाते हैं। दूसरी ओर, सॉफ्टवेयर इंजीनियर, इस तरह के जोखिम का सामना नहीं करते हैं, क्योंकि वे शायद ही कभी पैसा खोने के लिए खड़े होते हैं (उन कंपनियों द्वारा सीमित देयता के कारण जिनके द्वारा वे कार्यरत हैं)। वे हारने के लिए खड़े हैं उनकी वर्तमान नौकरी और प्रतिष्ठा है। इसके प्रकाश में, क्या आपको लगता है कि सॉफ्टवेयर इंजीनियरिंग के सर्वोत्तम अभ्यास को संचालित करने के लिए एक औपचारिक समाज का होना समझ में आता है?
कोस्टा कोंटोस

2
@KostaKontos इस बात पर विचार करें कि वास्तविक दुनिया में इसका क्या अर्थ होगा - यदि आपको इकाई परीक्षण नहीं लिखा या पर्याप्त दस्तावेज नहीं मिले तो आपको उल्लंघन मिलेगा? या यदि आप एक सुरक्षा दोष के साथ उत्पादन परिवेश में कोड को धक्का देते हैं तो क्या आप लाइसेंस खो देंगे? क्या यह मैदान के लिए अच्छी बात होगी? मेरा तर्क यह है कि यह बहुत सारे लाल टेप को जोड़ देगा, राजनीति, दोषारोपण, और बस बीमा कंपनियों के मुनाफे को हर डेवलपर को इंश्योरेंस इंश्योरेंस खरीदने के लिए प्रेरित करेगा। हालांकि यह एक दिलचस्प विचार है। मुझे यकीन है कि यह अभी तक नहीं हुआ है क्योंकि आपके अपने इंजीनियरों पर मुकदमा करना एक बुरा विचार है।
MrFox

0

कुछ भी बदलने की जरूरत नहीं है।

जैसा कि थॉमस ने कहा है , सॉफ्टवेयर इंजीनियरिंग पहले से ही एक पेशा है। यह इंजीनियरिंग बुलाया जा सकता है,, प्रोग्रामिंग हैकिंग, और / या क्राफ्टिंग, लेकिन यह है पेशे के रूप में और बहुत से लोग उस पर पैसा बना रहे हैं।

मुझे लगता है कि आपका सवाल लाइसेंस के आसपास है।

अभी सॉफ्टवेयर इंजीनियरिंग के लिए कोई औपचारिक लाइसेंस नहीं है। पर्याप्त स्मार्ट और प्रोग्रामिंग क्षमता वाला कोई भी व्यक्ति मशीन या डिवाइस पर रन बनाने की बजाय कोड बनाने के लिए किराए पर दे सकता है।

यह अन्य उद्योगों (कानून और दवा उदाहरण के रूप में प्रश्न में उद्धृत किया गया है) के विपरीत है। उन व्यवसायों के लिए एक लाइसेंस आवश्यक है। कोई भी कार ड्राइव कर सकता है, लेकिन कानूनी रूप से ड्राइव करने के लिए आपके पास एक dirvers लाइसेंस होना एक और उदाहरण है। कोई भी कार्यक्रम, कोई लाइसेंस या प्रमाणीकरण (ओं) की आवश्यकता नहीं कर सकता है।

अब, मुझे लगता है कि लाइसेंस देना अच्छा है, यह साबित करता है कि किसी के पास कुछ करने की क्षमता है (जैसे कार चलाना) और नियमों (सड़क के) को जानता है।

सॉफ़्टवेयर इंजीनियरिंग के लिए एक अनुज्ञेय लाइसेंस की आवश्यकता हो सकती है, लेकिन मुझे नहीं लगता कि यह बहुत अच्छा होगा। वास्तव में कई लाइसेंस प्राप्त ड्राइवर हैं जो भयानक ड्राइवर हैं, इसलिए बस आपके पास एक लाइसेंस है इसका मतलब यह नहीं है कि आपका अच्छा ड्राइवर या प्रोग्रामर है।

एक लाइसेंस प्रविष्टि के लिए एक बाधा बनाता है, जो इस उद्योग में एक अच्छी बात नहीं होगी, इसलिए मुझे ऐसे लाइसेंस का कोई कथित लाभ नहीं दिखता है।

सॉफ़्टवेयर इंजीनियरों को किराए पर लेने वाली कंपनियों को निश्चित रूप से उस संभावित प्रोग्रामर की क्षमता को "प्रोग्रामिंग टेस्ट" (और मैं फ़िज़ बज़ प्रकार के बारे में कोई बात नहीं कर रहा हूं) के लिए आवश्यक कौशल सेट के आधार पर परीक्षण करना चाहिए। "प्रमाणपत्र" वाले प्रोग्रामर कागज पर अच्छे लगते हैं, लेकिन उन्हें वास्तव में परीक्षण के लिए एक वास्तविक दुनिया के परीक्षण के साथ अनुभव और योग्यता के लिए रखा जाना चाहिए।


2
"सर्टिफिकेट वाले प्रोग्रामर 'कागज पर अच्छे लगते हैं", नहीं।
फिलिप

0

मुझे लगता है कि एक वकील द्वारा बार परीक्षा पास करने के तरीके को एक परीक्षा पास करके एक प्रमाणित सॉफ्टवेयर डेवलपर बनना संभव होना चाहिए। मुझे यह भी लगता है कि गैर-प्रमाणित प्रोग्रामर अभी भी प्रोग्रामर के रूप में काम करने में सक्षम होना चाहिए। अंतर यह है कि नियोक्ता विशेष रूप से प्रमाणित प्रोग्रामर के लिए विज्ञापन करने में सक्षम होंगे यदि वे चाहते हैं, और एक प्रमाणित प्रोग्रामर जवाबदेही की कुछ गारंटी के साथ, साथ ही एक उच्च मूल्य टैग के साथ आएगा।

मैं उस पोस्टर से सहमत हूं जो कहता है कि सॉफ्टवेयर विकास एक छोटी सी गड़बड़ी है जिसमें कोई जवाबदेही नहीं है। मुझे नहीं लगता कि यह इस तरह से होना चाहिए। ऐसे डेवलपर हैं जो अच्छा सॉफ्टवेयर बनाना चाहते हैं और इसके लिए जवाबदेह होने को तैयार हैं। हमें बस खुद को अलग करने का एक तरीका चाहिए।

मैं 20 से अधिक वर्षों से सॉफ्टवेयर विकसित कर रहा हूं। मैं यह दावा नहीं करता कि यह मेरे द्वारा खुद को एक महान डेवलपर बनाता है, लेकिन मुझे लगता है कि मैं बहुत अच्छा डेवलपर हूं। समस्या यह है कि मुझे लगातार यह प्रदर्शित करना है कि मैं हर उस बच्चे की तुलना में बेहतर डेवलपर क्यों हूं जिसने अपने खाली समय में प्रोग्रामिंग सीखी और मेरे जैसा ही काम चाहता है। "ऑफशोर" डेवलपर्स की किंवदंतियों का उल्लेख नहीं करना जो पैसे के एक अंश के लिए एक ही काम करने का वादा करते हैं। अभी इसमें काफी मेहनत लगती है। मुझे काम के नमूने, संदर्भ, परीक्षण लेना, साक्षात्कार देना है। मैं आसानी से एक बुरा दिन हो सकता है, एक परीक्षण पर गलती कर सकता हूं, और अयोग्य हो सकता हूं। मैं सिर्फ इतना कहूँगा, "हाँ, मैं एक प्रमाणित डेवलपर हूँ और यहाँ मेरा प्रमाणपत्र है"। मुझे अभी भी साक्षात्कार करना होगा, लेकिन कम से कम मैं केवल अन्य प्रमाणित डेवलपर्स के खिलाफ प्रतिस्पर्धा करना चाहूंगा।


इस व्यावहारिक उत्तर के लिए धन्यवाद। क्या आपको लगता है कि डेवलपर्स को "बार परीक्षा" लेने में सक्षम होने से पहले न्यूनतम कार्य अनुभव होना चाहिए? वकीलों / एकाउंटेंट को दो से तीन साल के लेख पूरे करने होते हैं। और अगर यह न्यूनतम आवश्यकता होती है, तो क्या आपको लगता है कि कार्य को कुछ हद तक मानकीकृत किया जाना चाहिए, ताकि पेशे में प्राप्त अनुभव में निरंतरता सुनिश्चित हो सके?
कोस्टा कांटोस

-2

यह कभी नहीं होगा, कम से कम पूरी तरह से नहीं। सॉफ्टवेयर एक माध्यम है, जैसे पेंट। ऐसे लोग हैं जो बड़ी संरचनाओं के औद्योगिक पैमाने पर पेंटिंग करते हैं, ऐसे लोग हैं जो उच्च मानकों को पूरा करने के लिए नए पेंट डिजाइन करते हैं, लेकिन ऐसे लोग भी हैं जो छोटे पैमाने पर नौकरी करने के लिए पेंट खरीदते हैं जैसे कि अपने शेड को पेंट करते हैं, और अभी भी अन्य जो मिश्रण कर सकते हैं अपने स्वयं के पेंट लेकिन सिर्फ बिल्लियों के चित्रों को पेंट करने के लिए इसका इस्तेमाल करते हैं।

इसी तरह जब मैं एक ऐसा भविष्य देख सकता था, जहाँ सुरक्षा महत्वपूर्ण और / या वित्तीय सॉफ्टवेयर को उस पर काम करने वाले मान्यता प्राप्त इंजीनियरों की जरूरत है, तो कला या मनोरंजन सॉफ्टवेयर बनाने वाले लोगों की कभी आवश्यकता नहीं होगी। मान्यता प्राप्त इंजीनियरों के लिए आवश्यक सुरक्षा या वित्तीय सॉफ़्टवेयर प्राप्त करने के लिए क्या बदलने की आवश्यकता है? खैर उन अन्य व्यवसायों की तरह इसे जनादेश के लिए एक कानून की आवश्यकता होगी।


4
अन्य इंजीनियरिंग विषयों की तुलना में यह कैसे भिन्न है? चलिए सिविल इंजीनियरिंग लेते हैं। कोई भी एक नाले के ऊपर अपनी पीठ लॉन में एक पुल का निर्माण कर सकता है। लेकिन हर कोई एक झील के ऊपर एक राजमार्ग पुल का निर्माण नहीं कर सकता है। मुझे लगता है कि कई अन्य इंजीनियरिंग विषयों पर भी लागू किया जा सकता है, और यह आमतौर पर स्वीकार किया जाता है कि इंजीनियरिंग एक पेशा है।
थॉमस ओवेन्स

@ThomasOwens जो सॉफ्टवेयर के साथ सच है, लेकिन हम वास्तविक नहीं है एक औपचारिक 'हर कोई एक राजमार्ग पुल' भाग को बुदबुदा सकता है, हालांकि वह आएगा
jk।

2
यह सच नहीं है। हर कोई एक वाणिज्यिक जेटलाइनर के लिए एवियोनिक्स सॉफ़्टवेयर का निर्माण नहीं कर सकता है। या एक विकिरण चिकित्सा मशीन के लिए नियंत्रण सॉफ्टवेयर। बहुत सारे सॉफ़्टवेयर हैं जो नियंत्रित, विनियमित हैं, और कुछ मानक होने की आवश्यकता है। हालाँकि, हाल ही में, अन्य इंजीनियरिंग विषयों के साथ जाने वाले समान लाइसेंस नहीं थे।
थॉमस ओवेन्स

1
@ThomasOwens एक सॉफ्टवेयर इंजीनियर के रूप में, जो एक वाणिज्यिक जेटलाइनर (OBIGGS) के लिए एवियोनिक्स सॉफ्टवेयर पर काम कर रहा है, हाँ, वास्तव में कोई भी शायद इसका निर्माण कर सकता है। सॉफ्टवेयर वह सब जटिल नहीं है। लेकिन ग्राहक इसके बारे में पूरी तरह से तैयार हैं कि यह मज़बूत है और विश्वास है कि यह विस्फोट नहीं करेगा। जैसे कोई भी एक पुल का निर्माण कर सकता है, बुरी तरह से, कोई भी ओबीजीजीएस इकाई को कोड कर सकता है, बुरी तरह से। पेशेवर पहलू परीक्षण, प्रक्रिया, डीओ -17 बी से निपटने के साथ आता है, और इस विश्वास के साथ दिखाने में सक्षम है कि यह अंतरराष्ट्रीय तिथि रेखा को पार करने पर आसमान से गिरने वाला नहीं है।
फिलिप

3
"सॉफ्टवेयर में भौतिकी का कोई एनालॉग नहीं है": वहाँ है, इसे गणित या कुछ अन्य औपचारिक विधि कहा जाता है। और वास्तव में, मिशन-क्रिटिकल सॉफ़्टवेयर के लिए अधिकांश कार्य विनिर्देश, सत्यापन और परीक्षण में जाते हैं और केवल 10% कार्य वास्तविक कोडिंग में जाते हैं। केवल नॉन-मिशन क्रिटिकल सॉफ्टवेयर को फुर्तीले, ट्रायल-एंड-एरर तरीके (जिस तरह से एक उनके बैक लॉन में एक पुल का निर्माण होगा) में विकसित किया जा सकता है, लेकिन एवियोनिक सॉफ्टवेयर के निर्माण के लिए उसी तरीके का उपयोग करने की कोशिश करें!
जियोर्जियो

-2

सॉफ्टवेयर एक पेशा नहीं है और न ही यह कभी एक होगा।

"एक पेशा तब उत्पन्न होता है जब कोई भी व्यापार या व्यवसाय शिक्षा, शिक्षुता और परीक्षाओं के आधार पर औपचारिक योग्यता के विकास के माध्यम से बदल जाता है, सदस्यों को स्वीकार करने और अनुशासन के लिए विनियामक निकायों का उदय, और कुछ हद तक एकाधिकार अधिकार।"

वह विवरण सॉफ्टवेयर से बिल्कुल भी मेल नहीं खाता है।

सबसे पहले, सॉफ़्टवेयर में रुचि रखने वाला कोई भी व्यक्ति बाहर जा सकता है और एक नौकरी विकसित करने वाले सॉफ़्टवेयर को खोजने का प्रयास कर सकता है। उन लोगों में से कई के पास कंप्यूटर प्रोग्रामिंग के लिए कॉलेज की डिग्री पूरी तरह से असंबंधित है और कई के पास कोई डिग्री नहीं है। सॉफ्टवेयर प्रोग्रामर बनने से उन समूहों में से कुछ भी नहीं रोक रहा है।

सॉफ्टवेयर एक पेशा नहीं बन सकता क्योंकि "लाइसेंस प्राप्त" सदस्य नुकसान के कारण और उनके कदाचार के लिए जिम्मेदार बन जाते हैं। 80-90% डेवलपर्स अकेले एक साल के लिए अपनी नौकरी खो देंगे।

सामान्य तौर पर, सॉफ्टवेयर की गुणवत्ता अत्याचारी, बग प्रवण और बस सादा नहीं बहुत अच्छी तरह से किया जाता है। क्या वह पेशा होने के लायक है? क्या आप उसे रोकते हैं क्योंकि लोग लाइसेंस प्राप्त करते हैं? यदि कोई पेशेवर संगठन उच्च मानकों और पेशेवर गुणवत्ता के लिए खड़ा नहीं होने जा रहा है, तो इसका कोई मतलब नहीं है। यह सीधे उद्योग अभ्यास के खिलाफ जाता है। लेखन गुणवत्ता, मजबूत और काम करने वाले सॉफ़्टवेयर वहाँ से बाहर की अधिकांश कंपनियों के सिद्धांतों के खिलाफ हैं, क्योंकि समय-समय पर बाजार, लागत, यह काफी अच्छा है, टूटे हुए सॉफ़्टवेयर को ठीक करने की कोशिश करने वाले किसी और चीज़ को तोड़ना नहीं चाहते हैं जितना अधिक देखा जाता है पेशेवर ग्रेड सॉफ्टवेयर की तुलना में महत्वपूर्ण है।

इसके अलावा, कदाचार के बारे में। आप कैसे साबित करने जा रहे हैं कि एक के बाद एक दूसरे को दोष देना है। सॉफ्टवेयर में यह उंगलियों को इंगित करने के लिए आसान है और दोनों डेवलपर्स "सही हैं"। उस डेवलपर को दोष देने के लिए कौन है जब वह डेवलपर OS के आंत्र में छिपे अनिर्दिष्ट एपीआई का उपयोग करता है और फिर OS विक्रेता अपना कार्य बदलता है या उसे हटाता है?

उस नियामक निकाय चीज के साथ शुभकामनाएँ। आइए देखें कि कांग्रेस ने Microsoft से कोई बात नहीं की जब Microsoft ने उनसे उस बिल को मारने के लिए कहा क्योंकि यह उन्हें केवल "लाइसेंस प्राप्त" डेवलपर्स को रखने की अनुमति देगा। उस नियामक निकाय के बिना, फिर कौन ऐसे संगठन में शामिल होने जा रहा है जिसके पास आपको अनुशासित करने का अधिकार है और आपसे विशेष रूप से बकाया राशि प्राप्त करने का कोई शुल्क नहीं है, जैसे कि नियामक निकाय के बिना एकाधिकार अधिकार प्राप्त करना।

के रूप में, यह लाइसेंस की आवश्यकता के लिए एक अच्छी बात होगी? बिल्कुल, उन लोगों के लिए जो मान्यता प्राप्त हो सकते हैं। आपका भुगतान आपके नए पाए गए एकाधिकार के साथ नाटकीय रूप से बढ़ेगा।

हालांकि, बाकी सभी के लिए ... व्यवसायों में कंप्यूटर प्रौद्योगिकी का उपयोग संभवतः तेजी से प्रगति के साथ घट जाएगा, जो हम आजकल देखते हैं। निश्चित रूप से नए सॉफ्टवेयर अग्रिमों के लिए बाधाएं होंगी, जैसे कि भाषा और डिजाइन पद्धति। आखिरकार, जो आपके लाइसेंस को बनाए रखने के लिए उन चीजों को करने के नए तरीकों पर जोर देना चाहता है, जिनके लिए वर्षों तक पुन: प्रयास करना होगा। अधिकांश लाइसेंस प्राप्त डेवलपर चीजों को उसी तरह रखना पसंद करेंगे जिस तरह से वे उस संबंध में हैं।


अपने कथनों का समर्थन करने के लिए कुछ संदर्भ जोड़ें (जो मेरे लिए कुछ मायने रखते हैं लेकिन इससे कोई फर्क नहीं पड़ता), और मैं नीचे हटा दूंगा
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.