पांच नए जूनियर डेवलपर्स और बहुत सारे जटिल कार्य। अब क्या?


10

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

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

तो, अब क्या है? मुझे उनके और मेरे समय का प्रभावी ढंग से उपयोग करने के लिए क्या करना चाहिए?


1
सभी 5 जूनियर लोगों को आपके प्रोजेक्ट पर लगाया गया है? क्या आप केवल सीनियर देव उनकी देखरेख कर रहे हैं?
तियाना

@ त्यन्ना: हाँ, मैं इस प्रोजेक्ट पर एकमात्र वरिष्ठ हूँ। कुछ समय पहले अन्य वरिष्ठ नागरिकों को अन्य परियोजनाओं में ले जाया गया था।
mxe

2
पहली बात यह है कि आप प्रबंधन को यह समझाते हैं कि आप थोड़ा कम उत्पादक होंगे क्योंकि आप newbies
jk

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

+1। मेरा एकमात्र खेद यह है कि मैं आपको अधिक नहीं बढ़ा सकता।
शिवन ड्रैगन

जवाबों:


2

हां, आप चीजों को उनकी तुलना में अधिक तेजी से हल कर सकते हैं, यही कारण है कि आप वरिष्ठ हैं और वे नहीं हैं। हालाँकि, एक अच्छा वरिष्ठ अपने जूनियर्स को वरिष्ठ स्तर पर भी ले जाना चाहता है और ऐसा करने का एकमात्र तरीका यह है कि आप उन्हें चीजों को करना सीखें।

Mentoring आपके समय का सबसे प्रभावी उपयोग है, कोडिंग नहीं।

इसे इस तरह से देखें, यदि आप अगले छह महीने प्रभावी रूप से खर्च करते हैं और जूनियर्स इंटरमीडिएट डेवलपर्स बनने के लिए पर्याप्त सीखते हैं - तो आपके पास 5 इंटरमेडिएट डेवेलपर्स और एक वरिष्ठ हैं। अगर आप पूरी मेहनत खुद करते हैं क्योंकि यह तेज़ है, तो छह महीने में आप 5 जूनियर को अपने अंगूठे को घुमाएंगे। कम या नए जूनियर डेवेलपर्स हो सकते हैं) और एक ओवरवर्क और क्रंकी सीनियर।

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

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

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

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

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


20

जोड़ी प्रोग्रामिंग यहाँ एक महान संभावना की तरह लगता है।

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

काम कर रहे इस सुझाव के एक किस्से / उदाहरण के लिए: यह था कि मुझे किस तरह से काम करने वाले कोडबेस के सबसे छोटे हिस्से से मिलवाया गया था - दूसरे अपेक्षाकृत नए डेवलपर के साथ जिसे मैंने जोड़ा था, हमने कुछ इस तरह से काम किया:

  • हमें एक बग दिया गया था, और लगभग 10 मिनट के परिचय के बाद कहा गया कि कोशिश करें और पता करें कि क्या चल रहा है।
  • लगभग एक घंटे में, हम अलग हो गए और विचार की दो अलग-अलग गाड़ियों में खोदा।
  • उसके लगभग दो घंटे बाद, मुझे पता चला कि कोड कैसे काम करता है, लेकिन यह बिल्कुल नहीं जानता कि खराब आउटपुट कहाँ उत्पन्न हो रहा है। उन्होंने यह पता लगाया कि कच्चे और अपसामान्य डेटा में खुदाई करके यह कैसे उत्पन्न हो रहा था, लेकिन कोड का पता नहीं लगा सका।
  • हमने एक साथ कोड पाथ का अनुसरण किया, और एक सटीक उत्तर मिला। इससे, हमने अपने प्रबंधक के साथ कुछ संभावित समाधानों पर विचार-मंथन किया और बाद में इसे लागू करना समाप्त कर दिया।

मुझे कोडबेस के उस पूरे हिस्से का रखरखाव विरासत में मिला है, क्योंकि मैं वास्तव में केवल एक ही हूं जो समझता है कि यह कैसे काम करता है (मूल डेवलपर्स जो अभी भी लगभग पूरी तरह से याद नहीं हैं)।


+1। केवल समस्या 5 लोगों को 2 के जोड़े में विभाजित करने के लिए हो सकती है ;-)
डॉक्टर ब्राउन

@DocBrown खैर, 5 अनुभवहीन डेवलपर्स + 1 अनुभवी डेवलपर का मतलब है कि आप 2 के 3 समूह बना सकते हैं (दूसरा मुख्य बुलेट बिंदु देखें)। यह किस प्रकार के कोड (UI, व्यावसायिक तर्क, आदि) के बारे में एक ट्यूटोरियल बन सकता है, जहां वह जाता है, लेकिन वह दूसरे से अलग चीजें सीखेंगे। 4. फिर कार्यों के अगले सेट पर, घुमाएं।
इज़काता

7

उनको सिखाओ। उन्हें ऐसे कार्य सौंपें जिन्हें वे आसानी से हल कर सकें।

सीधे शब्दों में कहें, मुद्दा यह है कि उक्त कार्यबल पर्याप्त कुशल नहीं है कि उनके पास जो कार्य है, उसके साथ बहुत उत्पादक हो। जैसे, आप कार्य 1 को आसानी से कर सकते हैं 2) कार्यबल के कौशल को बढ़ाने की कोशिश करते हैं।

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

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


3

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

संपादित करें: इस स्थिति में ब्रुक कानून का उल्लेख करना उचित हो सकता है।


2

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

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

प्रोग्रामिंग पेशे में जो लोग अपने दम पर ज्यादातर नहीं सीख सकते हैं वे वास्तव में इस प्रयास के लायक नहीं हैं जो उन्हें सिखाने के लिए होगा। लेकिन मुझे लगता है कि वे शायद आपको आश्चर्यचकित कर देंगे कि जब आप मदद पर वापस आते हैं, तो वे कितने अच्छे होते हैं।


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