तकनीकी विशेषज्ञता के बिना विकास परियोजना का नेतृत्व कैसे करें


17

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

अब मैं अपने आप को दूसरी ओर देख रही कांच की ओर देखता हूं। मैं C # में लागू किए जाने वाले वसा ग्राहक का मुख्य विकासकर्ता हूं, हालांकि मेरी विशेषज्ञता जावा वेब अनुप्रयोगों के निर्माण में है। जबकि मुझे पता है कि मैं किसी भी भाषा में डिजाइन पैटर्न और OO प्रतिमानों का लाभ उठा सकता हूं, मैं मानकों, परियोजना जीवन चक्र उपकरण और रिलीज / वितरण प्रक्रियाओं को कोड करने के लिए खो जाता हूं। मुझे कोई संदेह नहीं है कि मैं एक या दो महीने के भीतर मूल बातें उठा सकता हूं, लेकिन कुछ अनुभव हैं जो केवल समय के साथ इकट्ठा हो सकते हैं।

मुझे क्या करना चाहिए, और जब मैं विकसित हो रहा था, तो मुझे उस प्रोजेक्ट लीड बनने से कैसे बचा जाए?


12
इस तरह से नफरत करने से बचने के लिए , बस अपने टीम के सदस्यों से बात करें। नियमित रूप से बात करें, अक्सर बात करें, 1: 1 "पर
gnat

1
इस पोरजेक्ट के लिए आपका शीर्षक और आपकी जिम्मेदारी क्या है? क्या आप पीएम हैं, सीनियर डेवलपर हैं, ...?
NoChance

सर्वश्रेष्ठ से सीखें ... youtube.com/watch?v=GjJCdCXFslY
jfrankcarr

1
लेकिन गंभीरता से, मैंने कुछ समय पहले लेखों की यह श्रृंखला लिखी थी, जो आपको उपयोगी लग सकती है: vbnotebookfor.net/2007/07/25/…
jfrankcarr

जवाबों:


19

ईमानदारी से, इससे कोई फर्क नहीं पड़ता है कि आपके पास तकनीक के साथ कितना अनुभव है, मेरी सलाह एक ही है: उन लोगों पर प्रौद्योगिकी के फैसले को लागू न करें जिन्हें आप व्यस्त रहते हुए उनके साथ रहना होगा।

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

यह लागू होता है कि क्या आपने पहले कभी भी .NET को नहीं छुआ है या आप टीम के सबसे विशेषज्ञ डेवलपर हैं। आपका काम अब प्रबंधन करना है, न कि तकनीकी निर्णय लेना।

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

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

साथ ही टीम के भीतर काफी बातचीत को प्रोत्साहित करें। साप्ताहिक तकनीकी चर्चा बैठकों की व्यवस्था करें। आपको कभी भी जानकारी की आवश्यकता होती है, अंत में; आपको यह जानना होगा कि उन्होंने क्या निर्णय लिए और क्यों किए। आपको टीम के लिए निर्णय लेने की आवश्यकता नहीं है।


2
सही। मुख्य बात यह है कि अपने तकनीकी "सितारों" को निर्णय लेने के लिए तैयार होना चाहिए जो आपके द्वारा किए गए कार्यों से अलग हैं। यदि आप ऐसा कर सकते हैं तो हर कोई (निश्चित रूप से, ऊपरी प्रबंधन को छोड़कर) खुश और उत्पादक होगा।
डैनियल आर हिक्स

'तो आपको यह कहने की ज़रूरत नहीं है कि "यहाँ उपयोग करने के लिए सबसे अच्छी बात है," आप कह सकते हैं "मैंने इसे जावा में उपयोग किया है, क्या आप एक .NET समकक्ष के बारे में जानते हैं?' ज्यादातर मामलों में अगर एक समतुल्य उपकरण मौजूद है, तो इसे 'N' के साथ उपसर्ग किया जाएगा, इसलिए आप आम तौर पर ये स्वयं देख सकते हैं।
Dan Fiddling by Firelight

ध्यान रखें, वह खुद को "लीड डेवलपर" नहीं "प्रोजेक्ट मैनेजर" के रूप में टैग कर रहा है। मेरे अनुभव में, ये दो बहुत अलग चीजें हैं।
साने

@WonkotheSane: यह सच है कि ओपी प्रोजेक्ट लीड, टीम लीड और लीड डेवलपर को संदर्भित करता है जैसे कि वे सभी एक ही चीज हैं, और यह भ्रामक है। लेकिन मैंने अपना संदर्भ उस संदर्भ से लिया जिसमें वे उपयोग किए जाते हैं।
पीडीआर

@pdr - सहमत, लगभग। "मैं डिजाइन पैटर्न और OO प्रतिमानों का लाभ उठा सकता हूं" के बारे में मुझे थोड़ा आश्चर्यचकित करता है।
साने

6

मेरे पास कुछ बहुत अच्छे प्रबंधक / टीम लीडर हैं जो तकनीक के बारे में बहुत कम जानते थे, और मेरे कुछ सबसे खराब प्रबंधक वे हैं जिन्होंने सोचा कि वे सब कुछ जानते हैं।

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

आपकी बड़ी चुनौती ऊपरी प्रबंधन को बे पर रखने की संभावना है। वे रिपोर्ट और शेड्यूल और चेकमार्क चाहते हैं, और आपको यह पता लगाने की आवश्यकता है कि वे क्या चाहते हैं और उन्हें यथोचित रूप से कैसे नकली करें। (ठीक है, बिल्कुल "नकली" नहीं है, लेकिन प्रलेखन का उत्पादन करें जो आपके समय या आपकी टीम के खाने के बिना उन्हें संतुष्ट करता है।)


4

आपको अपने C # कोडिंग कौशल के लिए नहीं चुना गया था, और जब तक आप शुरू से ही कोड लिखने वाले नहीं होते, तब तक कोई फर्क नहीं पड़ता कि आप C # जानते हैं या नहीं। आपको उच्च स्तर पर सोचना शुरू करना होगा:

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

इनमें से कुछ चीजें परियोजना प्रबंधन क्षेत्र में पार कर सकती हैं, लेकिन प्रमुख डेवलपर के रूप में आप इन और अन्य मुद्दों पर परियोजना प्रबंधक के साथ मिलकर काम करेंगे।

हर तरह से, आप जितनी जल्दी हो सके C # में काम करना सीख लें। बस याद रखें कि आपकी भूमिका सिंटैक्स और फ्रेमवर्क विवरणों को देखने और बड़ी तस्वीर को देखने के लिए है।


2

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

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

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

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


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

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

आप सही हे। मैं इस तथ्य से प्रबंधक मान रहा था कि यह एक ऐसी तकनीक के लिए था जिसमें उसे कोई अनुभव नहीं था। एक संपादन करें और मैं अपने पतन को पूर्ववत कर दूंगा :)
माइकल ब्राउन

@MikeBrown मुझे यकीन नहीं है कि आपको लगता है कि मुझे संपादित करने की आवश्यकता है। मैंने अपने स्वयं के बयान के आधार पर ओपी के प्रश्न का उत्तर दिया है कि वह प्रोजेक्ट लीड बनने के लिए था ... हालांकि, मैं उत्तर का थोड़ा विस्तार करूंगा। :)
रॉबिन्स

ओह ऐसा नहीं था कि मुझे लगा कि आपको संपादित करने की आवश्यकता है ... बस इतना है कि एसओ मुझे अपना वोट बिना किसी एडिट के बदलने नहीं देगा :(
माइकल ब्राउन

1

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


1

ऐसा लगता है कि यहाँ खेलने में कुछ मुद्दे हैं।

आप जिस प्रोजेक्ट का नेतृत्व कर रहे हैं, उसमें इस्तेमाल होने वाली तकनीक और उस प्रोजेक्ट के विकास को नियंत्रित करने वाली प्रक्रिया।

क्या आप टीम लीडर हैं, या लीड डेवलपर हैं? एक लीड डेवलपर डिजाइन और विकास कार्य के बारे में भी बहुत कुछ करता है। तो इसके चारों ओर एक ही तरीका है कि आप नई तकनीक सीखें

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

परियोजना के विकास को नियंत्रित करने वाली प्रक्रियाएं ज्यादातर जगह होनी चाहिए । यह केवल उन पर पढ़ने, उन्हें समझने और निष्पादित करने की बात है।

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

सौभाग्य!


0

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

सकारात्मक सोचें, कड़ी मेहनत करने की कोशिश करें, अपना कोड डीबग करें और सुनिश्चित करें कि आप इसमें मास्टर होंगे।

अपने अवसर को ढीला मत करो।


0

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

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


-1

जब मैं मानकों, परियोजना जीवन चक्र उपकरणों और रिलीज / वितरण प्रक्रियाओं को कोड करने की बात करता हूं तो मैं खो जाता हूं।

एक खुला स्रोत उत्पाद खोजें जो उसी तकनीक का उपयोग करता है जिसका आप उपयोग करने जा रहे हैं।

यदि संभव हो, तो समस्या डोमेन के समान किसी एक को खोजें। यह उतना ही महत्वपूर्ण नहीं है जितना कि एक ही तकनीक और सक्रिय अपडेट के साथ एक परियोजना खोजना।

उनका कार्य कोड डाउनलोड करें। इसे पढ़ें।

पता लगाएँ कि वे किन उपकरणों का उपयोग करते हैं। उन्हें इस्तेमाल करें।

ओपन सोर्स प्रोजेक्ट बनाने और जारी करने का तरीका जानें। इसे बनाएँ और इसे जारी करें।

एक ओपन सोर्स प्रोजेक्ट (कई योगदानकर्ताओं के साथ) सर्वोत्तम प्रथाओं का वर्णन करेगा।

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

सच।

ओपन सोर्स समुदाय से सीखें।


2
कभी-कभी खुले स्रोत परियोजनाओं पर काम करने वाले लोग सर्वोत्तम उपलब्ध साधनों का उपयोग नहीं करते हैं या यहां तक ​​कि मानकों (अच्छी प्रथाओं) का भी पालन करते हैं। मैं कुछ ओपन सोर्स प्रोजेक्ट्स जानता हूं (मैं उन्हें नाम नहीं देना चाहता) जो सही उपकरण का उपयोग करने या यहां तक ​​कि उद्योग सम्मेलनों के बाद वास्तव में बहुत खराब हैं।
क्रिश्चियन पी

@ChristianP: जबकि कुछ कम-से-तारकीय खुले स्रोत परियोजनाएं हैं, बड़े लोगों को ढूंढना आसान है जो काफी अच्छे हैं। और किसी भी ओपन सोर्स प्रोजेक्ट को एक उदाहरण के रूप में खोजना किसी भी उदाहरण से बेहतर नहीं है।
S.Lott

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