क्या सूचना प्रौद्योगिकी वास्तव में इंजीनियरिंग है? [बन्द है]


13

यात्रा के दौरान मैं एक गणितज्ञ से मिला जो मेरे पास बैठा था। एक चर्चा में उन्होंने कहा: "... आईटी में इंजीनियरिंग जैसा कुछ नहीं है या प्रोग्रामिंग नहीं है "। एक सच्ची इंजीनियरिंग वह है जो आर्किटेक्चर है, इलेक्ट्रिकल और मैकेनिकल क्या है।

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

आपके विचार क्या हैं?


5
मेरा विचार: वह बस ईर्ष्या करता है कि आपको अधिक भुगतान किया जाता है: पी
साइमन

4
मेरी राय में आर्किटेक्चर इंजीनियरिंग नहीं है
hiena

@ हेना - वास्तव में, कानूनी रूप से बोलना, वे अलग-अलग पेशे हैं, और कानून (आपके अधिकार क्षेत्र के आधार पर) यह दर्शाता है कि आर्किटेक्चर क्या है और इंजीनियरिंग क्या है।
स्कॉट व्हिटलॉक

जवाबों:


17

यदि हम इस विवरण का अनुसरण करते हैं, तो हम 75% इंजीनियर हैं, या हम में से 75% इंजीनियर हैं :)

अन्य इंजीनियरिंग विषयों के विपरीत:

  • सॉफ्टवेयर डेवलपर्स को औपचारिक शिक्षा और / या लाइसेंस की आवश्यकता नहीं है
  • अपेक्षाकृत युवा अनुशासन है और सर्वोत्तम प्रथाओं को सिद्ध नहीं किया है (जैसे निर्माण, उदाहरण के लिए)

मुझे लगता है कि यह भविष्य में बदलने वाला है। किसी दिन हम 100% इंजीनियर होंगे।


इंजीनियर

स्रोत: http://en.wikipedia.org/wiki/Engineer

एक इंजीनियर इंजीनियरिंग का एक पेशेवर व्यवसायी है, जो तकनीकी समस्याओं के समाधान विकसित करने के लिए वैज्ञानिक ज्ञान, गणित और सरलता को लागू करने से संबंधित है।

इंजीनियर शब्द लैटिन मूल इंजीनियम से लिया गया है, जिसका अर्थ है "चतुरता"।

व्यवसाय

  • नाम इंजीनियर
  • प्रोफेशन टाइप करें
  • गतिविधि क्षेत्र अनुप्रयुक्त विज्ञान

विवरण

  • दक्षताओं गणित, वैज्ञानिक ज्ञान, प्रबंधन कौशल
  • शिक्षा के लिए आवश्यक इंजीनियरिंग शिक्षा
  • रोजगार के क्षेत्र अनुसंधान और विकास, उद्योग, व्यापार
  • संबंधित नौकरियों वैज्ञानिक, वास्तुकार, परियोजना प्रबंधक

15

सॉफ्टवेयर इंजीनियरिंग इंजीनियरिंग है, लेकिन आईटी या प्रोग्रामिंग नहीं हैं। यह मैकेनिकल इंजीनियरिंग की तरह बहुत कुछ है और भौतिकी या वेल्डिंग नहीं हैं।

सॉफ्टवेयर इंजीनियरिंग एक अविश्वसनीय रूप से युवा क्षेत्र है (अन्य इंजीनियरिंग शाखाओं की तुलना में), जिसे वास्तव में लोगों को पढ़ाना कठिन है, क्योंकि वहां से पढ़ाने का ज्यादा अनुभव नहीं है। केवल पिछले 20-25 वर्षों में सॉफ्टवेयर इतना बड़ा और जटिल हो गया है कि मात्र प्रोग्रामिंग ही काम नहीं करेगी।

स्थापित ज्ञान की इस कमी के कारण, वास्तविक सॉफ्टवेयर इंजीनियरिंग शायद ही कभी पढ़ाया जाता है। एकमात्र तरीका है कि आप एक सभ्य सॉफ्टवेयर इंजीनियर बन सकते हैं एक शिल्पकार के तरीके का अनुसरण कर रहा है: क्षेत्र में सलाह दी जा रही है। इसलिए जब सॉफ्टवेयर इंजीनियरिंग एक अस्तित्व अनुशासन है, बहुत कम वास्तव में इस क्षेत्र में हैं। ज्यादातर लोग सॉफ्टवेयर टिंकरिंग या सॉफ्टवेयर ओवर इंजीनियरिंग कर रहे हैं।


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

1
@RPK: यह बताना कठिन है, क्योंकि मैं एक सॉफ्टवेयर टिंकर का अधिक हूं :) लेकिन मूल रूप से मुझे लगता है कि प्रोग्रामिंग सॉफ्टवेयर इंजीनियरिंग के लिए है कि सिविल इंजीनियरिंग के लिए क्या इमारत है। पूर्व में अराजकता बाद के बिना समाप्त होती है और बाद में पूर्व के बिना कोई मतलब नहीं है, लेकिन दोनों अपेक्षाकृत अलग हैं।
back2dos

@ back2dos: मैं सहमत होना चाहूंगा। हालाँकि, मुझे लगता है कि सॉफ्टवेयर इंजीनियरों को लगभग यह जानना है कि कोड कैसे बनाए जाते हैं, जबकि सिविल इंजीनियरों को यह जानना जरूरी नहीं है कि वेल्ड कैसे किया जाता है।
माइकल के

1
किसी ऐसे मैटेरियल या मेटलर्जिकल इंजीनियर से कहिए कि वेल्डिंग इंजीनियरिंग नहीं है और वह आपका मुंह बंद कर देगा :)
Vitor Py

@ वीटा ब्रागा: आपकी बात क्या है? मैं वास्तव में इंजीनियरिंग और एक शिल्प के बीच अंतर को समझने के लिए एक अच्छे इंजीनियर से उम्मीद करूंगा। और मुझे यह भी आश्चर्य है कि कितने धातुकर्म इंजीनियर वास्तव में अपनी नौकरी में वेल्ड करते हैं।
back2dos

14

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


1
100% सहमत हुए। मैं एक क्रिटिकल-इन्फ्रास्ट्रक्चर कंपनी में काम करता हूँ। हम यहां इंजीनियर हैं।
पॉल नाथन

8

एक वास्तविक P.Eng के रूप में, मैं कहूंगा, सामान्य तौर पर, नहीं। हालांकि, मुझे लगता है कि प्रोग्रामर और इंजीनियर दोनों महत्वपूर्ण डिजाइन करते हैं । यदि सवाल था, "क्या प्रोग्रामर डिजाइनर हैं?" मैं हां जरूर कहूंगा।

हालांकि, प्रोफेशनल इंजीनियरिंग को अपनी गलतियों के लिए कानूनी रूप से उत्तरदायी होने के साथ या कम से कम अपने पेशे का अभ्यास करने के कानूनी अधिकार को खतरे में डालने के साथ करना पड़ता है। इससे कोई फर्क नहीं पड़ता कि आप एक प्रोग्रामर के कितने बुरे हैं, आप कल और कानूनी तौर पर अपने रिज्यूम पर "प्रोग्रामर" डाल सकते हैं। P.Eng के साथ। यदि आप अपना लाइसेंस खो देते हैं, तो आप खुद को P.Eng नहीं कह सकते।

प्रोफेशनल इंजीनियरिंग एक स्व-नियमन पेशा बनाया जाता है, जहाँ पेशे और सरकार कुछ ऐसे कार्यों पर सहमत होते हैं जो केवल लाइसेंस प्राप्त व्यक्तियों द्वारा किए जा सकते हैं। वे ऐसा आपसी समझ के कारण करते हैं कि यह कार्य जनता की सुरक्षा के लिए एक महत्वपूर्ण जोखिम है।

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


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

@aubreyrhodes - मुझे लगता है कि इस मामले में चिकित्सा उपकरणों के लिए एक अलग नियामक निकाय है, इसलिए वे इंजीनियरिंग के दायरे से बाहर हो सकते हैं। उदाहरण के लिए, इंजीनियरिंग क्या है और आर्किटेक्चर क्या है, इसके बीच एक बहुत सख्त रेखा खींची गई है। जबकि प्रोग्रामिंग बहुत सारे कार्यों में शामिल है, इसका मतलब यह नहीं है कि आपको इंजीनियरिंग की भी आवश्यकता नहीं है। इंजीनियरिंग डिजाइन नहीं है; इंजीनियरिंग कह रही है "मैं यह प्रमाणित करता हूं कि यह डिजाइन विनियामक दिशानिर्देशों को पूरा करता है, उद्योग के सबसे अद्यतित ज्ञान का उपयोग करता है, जनता के लिए अत्यधिक जोखिम पैदा नहीं करता है, और मैं उस पर अपना करियर बनाऊंगा।"
स्कॉट व्हिटलॉक

2

मैं कहूंगा कि अधिकांश प्रोग्रामर वास्तव में हैं software mechanics। मेरा मतलब है, सॉफ़्टवेयर उद्योग में अधिकांश प्रोग्रामर सॉफ़्टवेयर रखरखाव और बगफिक्सिंग से अधिक नहीं हैं।


मुझे लगता है कि आप मैकेनिक्स को भ्रमित कर रहे हैं।
रूक

@Rook: लेकिन एक ऑटो मैकेनिक ज्यादातर क्या करता है?
माइकल के

@ मिचेल - मुझे और अधिक मैचेस करने की अनुमति थी। engs। जो मुख्यता की तुलना में विकास करते हैं।
Rook

3
@mhitza आपका निहितार्थ यह है कि सॉफ्टवेयर मैकेनिक मूल सॉफ्टवेयर घटकों का निर्माण नहीं करते हैं, लेकिन केवल विरासत प्रणालियों को बनाए रखते हैं। मुझे संदेह है कि MOST प्रोग्रामर केवल इस तरह का काम करते हैं। मैं कहूंगा कि MOST प्रोग्रामर नियमित आधार पर नए घटकों और प्रणालियों का निर्माण करते हैं।
Morgan Herlocker

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

2

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

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

पृष्ठभूमि: मैं दक्षिण अफ्रीका में हूं, जहां सॉफ्टवेयर इंजीनियर शब्द को सौभाग्य से बड़े पैमाने पर पकड़ा नहीं गया है। अगर दुनिया के अन्य हिस्सों में इंजीनियरिंग काउंसिल दूर हो गए हैं, तो शायद भेद प्रासंगिक नहीं है। यदि ऐसा है, तो यह शर्म की बात है - मैं एक पेशेवर सॉफ्टवेयर इंजीनियरिंग बोर्ड के साथ किसी भी व्यवसायों के लिए निकायों के बिना एक दुनिया में रहूंगा।


सहमत होना! मैं भी एक शैक्षणिक माहौल में एक कंप्यूटर वैज्ञानिक के रूप में काम करता हूं, लेकिन मैंने अपने वर्तमान संगठन में शामिल होने से पहले बीस साल से अधिक समय औद्योगिक सॉफ्टवेयर अनुसंधान और विकास में काम करने में बिताया। मुझे प्रोग्रामर कहे जाने से बिल्कुल नफरत है। एक प्रोग्रामर एक शिल्पकार होता है जैसे एक मशीनर एक शिल्पकार होता है। एकमात्र अंतर यह है कि मशीनिस्ट ओवरटाइम के लिए भुगतान करने के लिए पर्याप्त स्मार्ट हैं।
बिट-टिडलर

एक बिना लाइसेंस वाला इंजीनियर अभी भी इंजीनियरिंग कर रहा है, जैसे एक बिना लाइसेंस वाला डॉक्टर अभी भी दवा का अभ्यास कर रहा है।
डग्म

1

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

यह सब इस बात पर निर्भर करता है कि आप इसे कैसे देखते हैं।

लेकिन यह क्यों मायने रखता है आखिर एक नाम में क्या है?


3
दुर्भाग्य से, बहुत कुछ। एक पहचानकर्ता के रूप में एक नाम का मतलब ज्यादा नहीं है, लेकिन अगर मैं अपने पिता को 'geek' कहता हूं, तो वह 'सकल' सोचता है, जबकि अगर मैं कहता हूं कि मेरे दोस्तों के लिए, वे 'कंप्यूटर प्रतिभा' सोचते हैं। एक नाम श्रोता के दिमाग में एक छवि को जोड़ता है, और आप चाहते हैं कि छवि सटीक हो।
माइकल के

@ मिचेल - उहम, यह बिल्कुल मेरी बात नहीं थी।
रूक

1

अगली बार जब कोई आपसे इस विषय पर बात करने की कोशिश करता है, तो उनसे निम्नलिखित नौकरियों के बारे में पूछें:

  • लोकोमोटिव इंजीनियर
  • विमान अभियंता
  • ऑडियो इंजीनियर

उन पदों में से किसी का भी इलेक्ट्रिकल / मैकेनिकल / सिविल इंजीनियरिंग से कोई लेना-देना नहीं है।


1
लेकिन वास्तव में वे लोग पेशेवर इंजीनियर (पीई) नहीं हैं और इसलिए वे वास्तव में इंजीनियर नहीं हैं।
विटोर पाय

@Vitor बिल्कुल बिंदु है, क्योंकि केवल कुछ प्रोग्रामर वास्तविक (प्रमाणित) इंजीनियर हैं।
ब्रायन नोब्लुक

1

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

मेरे लिए वैसे भी यह सिर्फ एक नाम है, मुझे अपनी नौकरी पर एक इंजीनियर कहा जाता है और मुझे सिर्फ एक कोडर कहा जाता है, लेकिन या तो यह मूल रूप से एक ही बात है।


1

सॉफ्टवेयर इंजीनियरिंग है इंजीनियरिंग।

हालांकि, ज्यादातर लोग जो खुद को सॉफ्टवेयर इंजीनियर कहते हैं, इंजीनियर नहीं हैं। उनमें से कई प्रोग्रामर और कोडर नहीं हैं जो जरूरी नहीं कि एक इंजीनियरिंग प्रक्रिया का पालन करें। इसके साथ कुछ भी गलत नहीं है क्योंकि एक) कोडिंग सॉफ्टवेयर इंजीनियरिंग के लिए मौलिक है, और 2) अपने आप में एक विज्ञान है। लेकिन इंजीनियरिंग प्रक्रिया होना इंजीनियरिंग के रूप में होने और काम करने के लिए मौलिक है। वह एक समूह है।

दूसरे समूह, दुर्भाग्य से एक बहुत बड़े एक, प्रोग्रामर / कोडर नहीं हैं। वे सिर्फ हैक हैं, कोड बंदर जो अपने मॉनिटर पर गंदगी फेंकते हैं और जो भी लाठी बेचते हैं (कहीं से उद्धृत करते हैं, वह याद नहीं कर सकते हैं।) गूंगे का एक सामूहिक दिमाग।

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

संक्षेप में: अन्य, पुराने स्थापित विषयों में से कई में सॉफ्टवेयर इंजीनियरिंग की नकारात्मक धारणा है। यह एक गलत धारणा है।

लेकिन यह गलत धारणा वास्तविक अवलोकन से आती है कि कई लोग जो खुद को सॉफ्टवेयर इंजीनियर कहते हैं, लॉबोटॉमाइज्ड बंदरों के उदास कारिकों से कम नहीं हैं, जो इस उम्मीद में कीबोर्ड पर धमाका करते हैं कि, कुछ यादृच्छिक मौका से, वे नूथ की TAOCP टाइपिंग करते हैं।

ps ... मेरा अनुमान है कि आपकी कहानी में गणितज्ञ सिर्फ बट-चोट है। वह भगवान के लिए अपनी छाती में गहरी बकवास जानता था कि वह कितनी देर तक रहता है, और आप खुले में बाहर जाने के लिए बस पहला आउटलेट थे।


-1

चूंकि सॉफ्टवेयर विकास अपेक्षाकृत बहुत युवा है और बहुत तेजी से विकसित हो रहा है, सॉफ्टवेयर- तकनीशियन , इंजीनियर और वैज्ञानिक के बीच की सीमाएं अच्छी तरह से निर्धारित नहीं हैं / बहुत धुंधली हैं।


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

निश्चित, मेरी गलती।
जिप्सी किंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.