नौकरी की भूमिका: सॉफ्टवेयर इंजीनियर

लेखक: Laura McKinney
निर्माण की तारीख: 2 अप्रैल 2021
डेट अपडेट करें: 1 जुलाई 2024
Anonim
मैं एक सॉफ्टवेयर इंजीनियर के रूप में क्या करूँ?
वीडियो: मैं एक सॉफ्टवेयर इंजीनियर के रूप में क्या करूँ?

विषय


स्रोत: ड्रैगनिमेज / ड्रीमस्टाइम डॉट कॉम

ले जाओ:

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

एक सॉफ्टवेयर इंजीनियर क्या करता है? सरल उत्तर यह है कि वह सॉफ्टवेयर उत्पादों में इंजीनियरिंग सिद्धांतों को लागू करने की प्रक्रिया में सॉफ्टवेयर इंजीनियरिंग में शामिल है।

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

सॉफ्टवेयर विकास जीवन चक्र

सॉफ्टवेयर इंजीनियर की भूमिका को समझने के लिए, सॉफ्टवेयर विकास जीवन चक्र (SDLC) के बारे में जानना उपयोगी है।


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

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

आवश्यकताओं के चरण में, वे कहते हैं, इंजीनियरों ने उत्पाद के विशिष्ट तकनीकी विवरण को निर्धारित किया है, दोनों हार्डवेयर (यदि ऐसा है) और सॉफ्टवेयर।

तब कोडिंग कहते हैं: "सॉफ्टवेयर इंजीनियर कोड में विशिष्ट विवरण लिखेंगे जो विशिष्ट आवश्यकताओं को पूरा करने वाले वांछित उत्पाद का उत्पादन करेंगे," क्विगली कोडिंग चरण के बारे में कहते हैं।


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

नो बग्स, नो स्ट्रेस - योर स्टेप बाय स्टेप गाइड बाय स्टेप गाइड टू लाइफ-चेंजिंग सॉफ्टवेर विदाउट योर लाइफ

जब कोई भी सॉफ़्टवेयर गुणवत्ता की परवाह नहीं करता है तो आप अपने प्रोग्रामिंग कौशल में सुधार कर सकते हैं।

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

सॉफ्टवेयर इंजीनियर की विभिन्न भूमिका

चूंकि सॉफ्टवेयर विकास जीवन चक्र में विविध चरण और संचालन होते हैं, इसलिए यह समझ में आता है कि सॉफ्टवेयर इंजीनियर का काम भी भिन्न होता है।

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

यहाँ एक और दिलचस्प बात यह है कि मैलाकोव्स्की ने आईटी और सॉफ्टवेयर इंजीनियरिंग के बीच अंतर के बारे में बताया है, जो बताता है कि औसत सॉफ्टवेयर इंजीनियर की नौकरी क्या है:

"आईटी परिचालन और दोहराव है, जबकि इंजीनियरिंग अद्वितीय परियोजनाओं के रूप में हल करने के लिए नई समस्याओं के चारों ओर घूमती है," वे कहते हैं। “आईटी कर्मियों को इस पुनरावृत्ति के कारण व्यक्तिगत टूल-आधारित प्रमाणपत्र प्राप्त करने की अधिक संभावना है। कंप्यूटर इंजीनियरिंग की तरह कुछ के साथ विरोधाभासी दिखता है जहां आवश्यकताओं को पूरा किया जाता है - सीईएस हार्डवेयर के साथ समस्या को हल करने पर ध्यान केंद्रित करते हैं, जिसमें सॉफ्टवेयर इसका समर्थन करता है। एसई सॉफ्टवेयर के साथ समस्या को हल करते हैं, हार्डवेयर समर्थन प्रदान करते हैं। ”

सॉफ्टवेयर इंजीनियर और प्रोजेक्ट टीम

कई कंपनियों में, सॉफ्टवेयर इंजीनियरों को जटिल प्रक्रिया में उनके हिस्से के अनुसार समूहबद्ध और प्रत्यायोजित भूमिकाएँ दी जाती हैं।

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

"TeleTracking में, सॉफ्टवेयर इंजीनियर सभी मॉड्यूल और अनुप्रयोगों के कोडिंग और परीक्षण के लिए ज़िम्मेदार हैं, जो TeleTracking प्लेटफ़ॉर्म का हिस्सा हैं," मेघेर कहते हैं। “वे सॉफ्टवेयर समाधान और प्रस्तुतियों के विकास में भी सहायता करते हैं। इसमें नए सॉफ्टवेयर पर शोध करना, डिजाइन करना, दस्तावेज बनाना और विकसित करना शामिल है। संक्षेप में, हमारे सॉफ्टवेयर इंजीनियर सॉफ्टवेयर समाधान बनाते हैं जो मरीजों तक पहुंच में सुधार के लिए टेलीट्रैकिंग तकनीकी दृष्टि के साथ संरेखित करते हैं। ”

आप इन पेशेवरों को एक कॉरपोरेट कैंपस में देख सकते हैं, पहले प्रारूपण कर सकते हैं, फिर मॉडल को ट्विक कर सकते हैं, फिर परीक्षण कर सकते हैं, टीमों में, ध्यान से किसी प्रोजेक्ट को पूरा करने के लिए तैयार कर सकते हैं।

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

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

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

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