स्क्रैच से एप्लिकेशन डिजाइन करने में जूनियर डेवलपर को कैसे शामिल किया जाए? [बन्द है]


9

हम 3 डेवलपर्स (2 अनुभवी देवों और एक जूनियर) की एक टीम हैं।

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

यह कोई आसान अनुप्रयोग भी नहीं है। हार्ड प्रदर्शन आवश्यकताओं, बड़े पैमाने पर वितरित, जटिल इकाई मॉडल आदि।

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

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

हम कुछ दृष्टिकोणों पर सोच रहे थे:

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

हम उसे डिजाइन में कैसे शामिल कर सकते हैं ताकि वह किसी भी तरह से बाहर नहीं महसूस करे और ताकि वह अनुभव से बहुत कुछ सीख सके और अपने दम पर इसे आजमाने के लिए पर्याप्त आत्मविश्वास प्राप्त कर सके।


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

जवाबों:


12

मैं निम्नलिखित दिशानिर्देशों की सिफारिश करता हूं:

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

2
बिल्कुल सुनिश्चित करें कि वे डिजाइन पर बैठते हैं। तब वह समझेगा कि उसका योगदान कुल मिलाकर कहाँ बैठता है और वह किस मूल्य को जोड़ रहा है। वह जटिलता में डूब सकता है लेकिन कम से कम वह जानता होगा कि वह किस महासागर में है!
माइकल ग्रीन

1

मुझे लगता है कि यह निर्भर करता है कि आप किस क्षेत्र में सुधार करना चाहते हैं। जब मैं (बहुत) कनिष्ठ था तो वे मुझे एपीआई देते थे कि मुझे एक विशेष रूप से सीमित चीज़ बनाने की आवश्यकता है, जैसे:

  • यह फ़ंक्शन कार्मिक तालिका से एन संख्याओं को देता है
  • यह फ़ंक्शन कर्मियों के आईडी दिए गए कर्मियों के आंकड़े प्रदान करता है

->

कार्य: कर्मियों के रिकॉर्ड पर क्लिक करने पर उनके आँकड़ों की सूची के साथ एक पृष्ठ बनाएँ। यहाँ परियोजना में पहले बनाया गया एक सरल नमूना पृष्ठ है।

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


0

सभी 3 तरीके मुझे अच्छे लगते हैं। वास्तव में एक ही समय में 10 अलग-अलग चुस्त तरीके से कोशिश करने से आपको जल्द ही अच्छे परिणाम मिल सकते हैं, कम से कम आपको पता होगा कि कौन सा तरीका काम करता है और कौन सा नहीं (जो सबसे अच्छा काम करेगा वह खिलाड़ियों के व्यक्तित्व पर बहुत कुछ निर्भर करता है)।

जोड़ी प्रोग्रामिंग समस्या तब नहीं होगी जब आप टाइपिंग / थिंकिंग हैट्स के साथ हर 10-मिनट (या तो), कोई अपवाद के साथ प्रक्रिया से चिपके रहते हैं, कोई अपवाद नहीं है, मूल रूप से केंट बेक द्वारा वर्णित प्रक्रिया के बाद (मुझे याद नहीं है कि कहाँ है)

डिज़ाइन में अन्य लोगों को शामिल करने के लिए - हमने जो पाया है वह मदद करता है यदि डिज़ाइन चरण के दौरान कुछ डिज़ाइन दस्तावेज़ (कुछ यूएमएल मॉडल के साथ) बनाए जाते हैं। दूसरे लोग (आपके कनिष्ठ) तब उन्हें पढ़ सकते हैं, उनकी समीक्षा कर सकते हैं, शैतान के वकील की भूमिका निभा सकते हैं। एक स्वतंत्र अनिर्धारित तीसरी पार्टी की यह भूमिका वास्तव में बहुत फायदेमंद हो सकती है, उदाहरणार्थ परीक्षण के लिए - http://www.softwaretestinghelp.com/exploratory-testing-beyond-traditional-testing-boundaries

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