क्या "सॉफ्टवेयर डेवलपर" भूमिका को परिभाषित करता है


10

मैं एक जूनियर सॉफ्टवेयर डेवलपर हूं और मैं एक साल से भी कम समय से कंपनी के लिए काम कर रहा हूं।

जबकि मैंने हमेशा सोचा था कि एक सॉफ्टवेयर डेवलपर का मतलब सॉफ्टवेयर और CODE को विकसित करना है, मेरे कार्य प्रशासन प्रकार के कार्यों में अधिक हैं, जैसे जेनकिंस, एसक्यूएल प्रतिकृति और आदि।

क्या इस प्रकार की नौकरियां डेवलपर भूमिका में शामिल हैं, या एक डेवलपर केवल सॉफ्टवेयर विकसित करता है? क्या मुझे इस बारे में अपने प्रबंधक से बात करनी चाहिए? क्या यह कंपनियों के लिए "विकासशील" कौशल का मूल्यांकन करने का एक सामान्य तरीका है?


9
निर्भर करता है कि आपका नुकीला बालों वाला बॉस कौन है।
नील

प्रत्येक कंपनी भूमिकाओं को थोड़ा अलग तरीके से परिभाषित करेगी। अपने प्रबंधक से पूछें कि भूमिका क्या जिम्मेदारियों और अपेक्षाओं को पूरा करती है।
बर्नार्ड

4
ऐसे समय की अवधि होती है जब बढ़ई को लंबर लोड करना होता है, व्हीलचेयर को धक्का देना पड़ता है, आदि यह सब नौकरी का हिस्सा है। यदि आप एक अनुभवहीन बढ़ई हैं, तो आप शायद एक वरिष्ठ बढ़ई की तुलना में बहुत अधिक कर रहे हैं।
ब्रायन ओकले

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

जवाबों:


11

मुझे लगता है जैसे उन्होंने एक जूनियर को काम पर रखा था क्योंकि वे एक वरिष्ठ को बर्दाश्त नहीं कर सकते थे, बजाय इसके कि वे वास्तव में एक जूनियर चाहते थे (किसी को वे तब तक निवेश कर सकते हैं और जब तक वे वरिष्ठ नहीं हो जाते हैं)। मैंने एक टीम का प्रबंधन किया है जिसके पास यह निर्णय उन प्रबंधकों द्वारा मजबूर किया गया था जो बेहतर नहीं जानते थे।

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

यह दुर्भाग्यपूर्ण है, क्योंकि यह आपको और आपके बॉस को मुश्किल स्थिति में डालता है।

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

लेकिन इससे कुछ समस्याएं पैदा होती हैं।

सबसे पहले, जिस तरह के डेवोप्स जॉब्स वह आपको दे रहे हैं वास्तव में एक वरिष्ठ डेवलपर की आवश्यकता होती है। विशेष रूप से, एक बिल्ड सर्वर किसी ऐसे व्यक्ति द्वारा स्थापित किया जाना चाहिए जो सॉफ़्टवेयर का निर्माण कर रहा है और जानता है कि दर्द-बिंदु कहाँ हैं।

दूसरा, जूनियर अधिक उपयोगी नहीं हो रहा है। इसके पाँच साल बाद, आप अभी भी वही कार्य कर रहे हैं, क्योंकि आपको अभी भी वास्तविक विकास कार्यों पर भरोसा नहीं किया जा सकता है।

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

तो, हाँ, अपने मालिक के साथ बैठो। लेकिन उसके द्वारा बताई गई भविष्यवाणी को देखें। देखें कि क्या आप किसी ऐसी व्यवस्था में आ सकते हैं जो हर किसी की समस्याओं को हल करती है। आपको एक वरिष्ठ संरक्षक की आवश्यकता है और आपके कुछ वर्तमान कार्यों को किसी वरिष्ठ को पारित करने की आवश्यकता है। यह परियोजना को धीमा कर देगा, लेकिन लंबे समय में, यह भुगतान करेगा। यह वह बिंदु है जो आपको अपने बॉस के माध्यम से प्राप्त करने की आवश्यकता है, और संभवतः उनके मालिकों को। इसके अलावा, देखें कि क्या आप लागत को कम करने के बदले में कुछ ऐसी चीजें पा सकते हैं जो आप दे सकते हैं।

यदि आप नहीं कर सकते हैं तो आप कहीं और देखना चाहते हैं।


ये "वरिष्ठ डेवलपर" कार्य नहीं हैं। यह (जेनकिंस) केवल निर्देशों का पालन कर रहा है। वरिष्ठ देव का रास्ता (अनुभव से) तय करें, कनिष्ठ देव का मार्ग अनुसरण करें। यदि किसी जूनियर डेवलपर ने जेनकींस स्थापित करने के बारे में शिकायत की है, तो मैं एक और जूनियर डेवलपर की तलाश करूंगा; इसे सेट करने में लगने वाला समय इस प्रश्न को पोस्ट करने और प्रतिक्रियाओं को पढ़ने के लिए समय से कम है। (मुझे पता है, क्योंकि मैंने कई बार हडसन / जेनकींस की स्थापना की है। और डेटाबेस प्रतिकृति। Sooo कई बार।) "बस करो," तो आपको पता चल जाएगा कि कैसे। यदि आप कभी भी कुछ करना नहीं सीखते हैं, और नेतृत्व करने की अपेक्षा करते हैं, तो आप प्रशिक्षण में PHB के अलावा कुछ नहीं हैं।
माइकल

@michael_n: पूरी तरह से असहमत। जेनकिंस की स्थापना और पूरे बिल्ड पर्यावरण को इस तरह से स्थापित करने के बीच एक अंतर है कि यह सभी डेवलपर्स के हिस्से पर प्रयास को कम करता है, जबकि सुरक्षित, एक-क्लिक की तैनाती आदि की अनुमति देता है, और यही अंतर है कि एक जूनियर आपको क्या देगा। और एक सीनियर आपको क्या देगा, जब आपको बिल्ड सर्वर सेट करने के लिए कहा जाता है।
पीडीआर

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

@michael_n: देखें कि आपका क्या मतलब है। मुझे लगता है कि प्रबंधक की उम्मीदें कम हैं। विशेष रूप से वह जो भविष्य के नियोजन के बजाय वित्तीय कारणों से एक कनिष्ठ को काम पर रखता है।
पीडीआर

7

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

लेकिन एक विकास टीम को कुशलता से काम करने के लिए, आपके पास ये चीजें होनी चाहिए, CI सर्वर, SQL प्रतिकृति, परीक्षण सर्वरों की तैनाती, परीक्षण सर्वरों की निगरानी, ​​बिल्डरों का संग्रह आदि (शायद ये सभी किसी भी स्थिति में लागू नहीं होते) ।

इन कार्यों को परियोजना के प्रारंभिक चरण में बड़ी मात्रा में समय लगेगा, लेकिन एक अच्छा सेटअप चलने के बाद आपको कुछ समय लगेगा।

दुर्भाग्य से, डेवलपर्स बिल्ड सर्वर को प्रबंधित करने के बजाय कोड करेंगे। इसलिए अक्सर, ये उबाऊ कार्य जूनियर डेवलपर्स के हाथों में आते हैं, क्योंकि वरिष्ठ डेवलपर्स के पास अधिक महत्वपूर्ण कार्य हैं।

मैंने किसी भी कंपनी का अनुभव नहीं किया है जो इन कार्यों को कौशल का मूल्यांकन करने के लिए उपयोग करता है।

यदि आप अपनी वर्तमान जिम्मेदारियों से असंतुष्ट हैं, तो मैं आपके लाइन मैनेजर के साथ इस मुद्दे को उठाने का सुझाव दूंगा।


1
वहाँ के अनुसार शर्तों के बीच कोई अंतर नहीं है यह
बर्नार्ड

1
भी के अनुसार इस
smp7d

2

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

सैद्धांतिक उत्तर यह है कि एक डेवलपर (कोडर / प्रोग्रामर के साथ तुलना) एक ऐसा व्यक्ति है जो "समस्याओं को हल करता है" भले ही उन्हें "कोडिंग कुछ" के साथ नहीं करना पड़े।

आप अधिक कोड करना चाहते हैं, इसलिए हो सकता है कि आप अपने प्रबंधक से अधिक कोडिंग कार्यों के लिए कहें या कुछ ऐसे काम करें जिन्हें आप कोडिंग द्वारा करते हैं? आपने परिचालन सामग्री का उल्लेख किया है, इसलिए शायद उनमें से कुछ DevOps चौखटे (चेक शेफ और कठपुतली ) द्वारा किए जा सकते हैं , जो कार्यों को अधिक कुशल बनाएंगे और विकास के करीब होंगे।


2

एक डेवलपर के लिए यह असामान्य नहीं है कि उससे कुछ सिस्टम प्रशासन कौशल की अपेक्षा की जाए । एक वरिष्ठ डेवलपर के रूप में, मेरा अनुमान है कि मेरा लगभग 5% समय ऐसे कार्यों पर खर्च होता है।

हालाँकि, यदि आप कोई कोडिंग नहीं कर रहे हैं , तो आपको कोडिंग कार्य करने के बारे में अपने प्रबंधक से बात करनी चाहिए। आखिरकार, आप कोडिंग अनुभव का निर्माण करना चाहते हैं। आप सिस्टम प्रशासक के रूप में प्रोग्रामर के रूप में अधिक मूल्यवान हैं।


1

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

यह बहुत अच्छा है यदि आपकी कंपनी के पास ऐसे विशेषज्ञ हैं जो आपके लिए यह सामान कर सकते हैं, लेकिन यदि नहीं, तो सॉफ़्टवेयर डेवलपर्स उत्पादन में एक एप्लिकेशन को तैनात करने और इसे समर्थन देने के लिए (और संभवतः सहित) सब कुछ के लिए जिम्मेदार हैं।


0

एक छोटे से मध्यम आकार की कंपनी में डेवलपर के लिए कुछ सर्वर प्रशासक / डीबीए / सामान्य कॉन्फ़िगरेशन कार्यों को लेना काफी आम है।

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

दूसरी ओर, विभिन्न कौशल वाले डेवलपर्स की तलाश में कंपनियां हो सकती हैं। लेकिन साक्षात्कार में कोड लिखने की वर्तमान प्रवृत्ति के साथ, आपको शीर्ष पायदान कोडिंग कौशल भी रखना होगा, भले ही नौकरी में एक बार कोड प्राप्त करने की आवश्यकता हो।

यदि आप अपनी वर्तमान स्थिति में नहीं फंसना चाहते हैं, तो मैं निश्चित रूप से जल्द ही स्थिति को सुधारने की कोशिश करूंगा।

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