सॉफ्टवेयर आर्किटेक्ट, सॉफ्टवेयर इंजीनियर और सॉफ्टवेयर डेवलपर (प्रोग्रामर) के बीच अंतर क्या है? [बन्द है]


24

मैं CNN लेख के माध्यम से अमेरिका में सबसे अधिक वेतन देने वाली नौकरियों के बारे में पढ़ रहा हूं। एक सॉफ्टवेयर आर्किटेक्ट को # 1 के रूप में सूचीबद्ध किया गया है । एक सॉफ्टवेयर इंजीनियर # 9 के रूप में सूचीबद्ध है । और एक सॉफ्टवेयर डेवलपर (प्रोग्रामर) # 35 पर सूचीबद्ध है । मुझे लगता है कि यह प्रोग्रामर के साथ कंप्यूटर वैज्ञानिक को बदलने के लिए वैध है, है ना?

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

किसी भी और सभी प्रतिक्रियाओं के लिए अग्रिम धन्यवाद।


1
वहाँ एक हैं नौकरी के शीर्षक पर संबंधित प्रश्नों के बहुत पहले से ही इस या तो बहुत ही अनूदित हो सकता है या एक नकली।
जोश के

1
ये संभावित डुप्लिकेट के रूप में प्रासंगिक लगते हैं: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… । मैं एक ऐसा नहीं देख रहा हूँ जो इसे एक साथ लाता है, हालाँकि।
एडम लेयर

9
एक सॉफ्टवेयर आर्किटेक्ट अधिक भुगतान करना चाहता है :-)
स्टीफन सी

4
हम्म, एक बाल कटवाने?
पक्का

7
@Rob एस, एक कंप्यूटर वैज्ञानिक है नहीं एक सॉफ्टवेयर डेवलपर (प्रोग्रामर)।
सिस्टमोविच

जवाबों:


24

चेतावनी : उपाख्यानात्मक प्रमाण इस प्रकार है…।

मेरे अनुभव में, कम से कम ऑस्ट्रेलियाई बाजार में - यहां प्रोग्रामर, सॉफ्टवेयर डेवलपर और सॉफ्टवेयर इंजीनियर कमोबेश विनिमेय हैं (मैंने सटीक वास्तविक काम करने के लिए तीनों को रखा है)।

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

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

TL; DR संस्करण :

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

$ 0.02


22
क्या एक अद्भुत उपयोगकर्ता नाम है, "बॉबी टेबल्स।"
जोश के


10
@ सरवुत: "मेरे दो सेंट"। इसका मतलब सिर्फ यह है कि "यह मेरी राय है"। :)
बॉबी टेबल्स

7

मैंने इसे इस तरह सीखा:

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

एक "सॉफ्टवेयर डेवलपर" के बारे में क्या?
एडम लेअर

मैं वास्तव में नहीं जानता कि उस भूमिका को कैसे परिभाषित किया जाए। मुझे लगता है कि यह एक प्रोग्रामर है, लेकिन मुझे यकीन नहीं है। मेरे कहने का मतलब है कि आपको इसकी तुलना कंप्यूटर साइंटिस्ट से नहीं करनी चाहिए। इसके बारे में क्षमा करें: s
Osukaa

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

6

यहाँ ग्रेट टेक्सास राज्य में कई कंपनियाँ 'सॉफ्टवेयर इंजीनियर' शब्द से कतराती हैं, क्योंकि टेक्सास में हम इंजीनियरों को लाइसेंस देते हैं, और वास्तव में 'सील' पेशेवर इंजीनियर, सॉफ्टवेयर ( http: // www) जैसी कोई चीज होती है। .tbpe.state.tx.us / eng_req.htm )।

मैं कभी किसी से नहीं मिला, न ही किसी को पता है। बेशक इंजीनियर का गिल्ड 'हेल्लो वर्ल्ड' लिखने के लिए लाइसेंस की आवश्यकता के द्वारा प्रतियोगिता को प्रतिबंधित करना बहुत पसंद करेगा, लेकिन अभी तक ऐसा नहीं हुआ है।

'सॉफ़्टवेयर डेवलपर' का उपयोग आमतौर पर ऐसे व्यक्ति के लिए किया जाता है जिसका मुख्य काम सॉफ्टवेयर लिखना है।

कंपनियों के पास 'सॉफ्टवेयर डेवलपर्स' के बजाय 'सॉफ्टवेयर डेवलपर्स' के लिए वीजा मुद्दों से निपटने में थोड़ा आसान समय है।

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

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