2009-05-07 11 views
23

जब आप एक चल रहे प्रोजेक्ट में हों, तो आप शुरू करने के लिए नवागंतुक कैसे प्राप्त करते हैं? आपकी राय में, उन्हें पाने और चलाने का सबसे तेज़ तरीका क्या है? आप कोड और प्रोजेक्ट संस्कृति को जल्दी से कैसे जानते हैं ताकि वे तेजी से पकड़ सकें?मौजूदा प्रोजेक्ट पर शुरू करने के लिए आप नए आने वाले कैसे प्राप्त करते हैं?

आप क्या करते हैं? उन्हें हल करने के लिए दोष दें ताकि कोड में डुबोना पड़े? क्या आप उन्हें पढ़ने के लिए प्रलेखन देते हैं (इसलिए वे ऊब जाते हैं)?

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

कैसे, चोटी के रूप में, क्या आप एक परियोजना पर शुरू करते हैं? इसे और अधिक प्रभावी बनाने के लिए आप क्या कर सकते हैं?

+0

मुझे लगता है कि यह बहुत प्रोग्रामिंग से संबंधित है, अगर आप असहमत हैं तो वापस रोल करने के लिए स्वतंत्र महसूस करें :) –

+0

अच्छा, यह वास्तव में है :) इसमें कोई कोड नहीं है, लेकिन यह प्रोग्रामिंग से संबंधित है। – Philippe

+1

इस सवाल का अच्छा जवाब है, लेकिन मुझे आमतौर पर कुछ अस्पष्ट इच्छा और आधा रास्ते कॉन्फ़िगर मशीन के साथ कागज का एक टुकड़ा मिलता है। आम तौर पर कॉफी सुविधाओं के लिए एक सूचक मदद करता है। :) –

उत्तर

9

मौजूदा डेवलपर्स में से एक के साथ एक त्वरित बैठक, अधिमानतः एक "वरिष्ठ" जितना संभव हो, सहायक है। किसी को वास्तव में इस परियोजना के बारे में बात करना सुनना अच्छा होता है, क्योंकि इससे आपको बहुत सारे संकेत मिलते हैं कि कौन से हिस्से दिलचस्प हैं, वे क्या कर रहे हैं, क्या इंटरफेस करता है, और इसी तरह।

एक नई प्रणाली की "बड़ी तस्वीर" प्राप्त करना बहुत लंबा समय ले सकता है, और मुझे लगता है कि मुझे लगता है कि धोखा देना संभव है और इसे तुरंत प्राप्त करें, प्रक्रिया को तेज करने के लिए कम से कम संभव है।

ऐसी बैठक बहुत लंबी (एक घंटा, शायद?) की आवश्यकता नहीं है, और मुझे यह भी लगता है कि मौजूदा डेवलपर के लिए यह काफी मजेदार/दिलचस्प हो सकता है, क्योंकि आप जो चीजें जानते हैं, उनके बारे में बात करना आम तौर पर होता है।

3

मुझे लगता है कि सबसे अच्छी बात यह है कि उन्हें ठीक करने के लिए नए लोगों को बग सौंपना है।

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

मैं कोड के क्षेत्रों के परीक्षण रिफैक्टरिंग करने के लिए रीशेपर का भी उपयोग करूंगा। यह कोड पढ़ने के लिए मेरे लिए आसान बनाने के लिए आक्रामक रिफैक्टरिंग और सुधार होगा; मैं इन्हें स्रोत नियंत्रण में वापस नहीं देखता हूं!

6

उन्हें जितनी जल्दी हो सके कूदने में सहायता करें। आप केवल कुछ करके ही सीखते हैं :-)।

सीमित गुंजाइश वाली छोटी बग/नई सुविधाओं की पहचान करें, और उन्हें उस पर जाएं। संभवतः उन्हें एक सलाहकार असाइन करें, वे हमेशा प्रश्न पूछ सकते हैं।

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

2

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

यह मदद करता है अगर कोई ऐसा व्यक्ति है जिसके बारे में आप प्रश्न पूछ सकते हैं।

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

मुझे पता चला है कि, जब अन्य लोगों को एक परियोजना के साथ गति मिलती है जो मेरे समय के एक या दो घंटे खर्च करते हैं तो उन्हें रस्सी दिखाते हैं और उन्हें बताते हैं कि विभिन्न घटक क्या करते हैं और हम किस बाहरी उपकरण का उपयोग करते हैं, प्रश्नों में समय बचाता है बाद में। Thats कैसे हम रात भर 4 की हमारी टीम पर devs की संख्या को दोगुना करने के साथ निपटा, मुझे लगता है कि यह एक aweful बहुत मदद की।

+1

डिजाइन दस्तावेज़? वह क्या है? ;) –

2

यह वास्तव में/प्रौद्योगिकी परियोजना पतों सॉफ्टवेयर में newcommer के अनुभव, डोमेन (उद्योग) में अनुभव पर निर्भर करता है।

  • उसे परियोजना (समग्र चीजों) की व्याख्या
  • से संबंधित प्रलेखन का एक ग्रंथ सूची सेट:

    पहली बात मैं करता हूँ, उस व्यक्ति को एक coacher आवंटित ज्ञानप्राप्ति की देखभाल करने के लिए है परियोजना

  • वर्तमान वास्तुकला सामान।

फिर, अनुभव के आधार पर, मैं उस व्यक्ति के लिए नई सुविधाओं को हल करने, स्वतंत्र रूप से डाल सकता है (नहीं महत्वपूर्ण हैं, लेकिन कम महत्व के साथ कुछ), या एक जोड़ी-प्रोग्रामिंग मोड में उस पर अपने coacher साथ डाल शुरुआत, फिर उसे "उत्पादक" कार्यों में शामिल करें।

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

1
  • प्रारंभ खुद के परियोजना फ़ाइल संरचना से परिचित बनाने
  • पढ़ें डेवलपर दस्तावेज़ (यदि वहाँ होते हैं)
  • आपको असाइन किए गए कुछ बुनियादी मुद्दा है, यह पता लगाने, इसे ठीक, कुल्ला, दोहराने;)
  • एक दोस्ताना व्यक्ति (अफसोस, नहीं डेवलपर्स के सभी अनुकूल हैं) साथ ही
  • सवालों के साथ उल्लेख करने के लिए पता लगाएं, डेटाबेस स्कीमा का निरीक्षण शुरू (अगर कोई है db बैकएंड)
  • आप और अधिक जटिल हल करने का प्रयास आगे बढ़ते समय iss ues
  • प्रारंभ तेज तरीका कैसे कुछ किया जाता है जानने के लिए सार्वजनिक चर्चा में भाग लेने के अपने विचारों को
3

व्यक्त करते हैं, ऐसा देखने के लिए है।

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

जब से तुम इस मामले में नवागंतुक रहे हैं, मुझे लगता है कि दोष एक अच्छा प्रारंभिक बिंदु :) है। बस अपने अनुभवी टीम के साथी प्रश्न पूछते रहें।

5

कुछ कंपनियों में (विशेष रूप से वे जो आपको आवश्यक समय देने में बहुत व्यस्त हैं) अनुमति मांगना मुकाबला करना आसान है।

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

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

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

11

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

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

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

2

उन्हें वास्तुकला और दस्तावेज़ीकरण में पेश करने के बाद, अपने नवागंतुकों को छोटी परियोजनाएं दें। चुनें कि निम्न विषयों के तहत परियोजनाओं:

  • परियोजनाओं होना चाहिए छोटे और उचित
  • परियोजनाओं "बड़ी तस्वीर"
  • परियोजनाओं अपने मुख्य परियोजना के मुद्दों से निपटने चाहिए में योगदान देना चाहिए

इस तरह, लोग आपकी मुख्य परियोजना के संपर्क में आते हैं और नींव सीखना है (उदाहरण के लिए फ्रेमवर्क XYZ के साथ काम करना)। नवागंतुकों को सफलताओं की गति मिलती है, जो बहुत आयात है। इसके कारण, वे ऊब के बजाय प्रेरित हो जाते हैं। प्रेरित श्रमिक अच्छे कर्मचारी हैं ;-)

2

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

1

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

उम्मीद है कि इससे मदद मिलती है।

सादर,

1

आईटी में, यह हमेशा संभव है जब requried कि नए लोगों से चल रहा है परियोजनाओं के लिए जोड़ दिया जाएगा।

  1. सभी उपलब्ध स्रोतों
  2. अपने सबसे अच्छे प्रयास करें व्यापार की आवश्यकताओं को समझाने के लिए एक मौजूदा व्यक्ति प्राप्त करने के लिए से परियोजना के बारे में के विवरण के रूप में के रूप में ज्यादा इकट्ठा। और उसे एक सलाहकार के रूप में रखने की कोशिश करें।
  3. चूंकि आप स्रोत कोड का आह्वान करते हैं, इसलिए आप यह पता लगाने के लिए खोद सकते हैं कि यह सभी तकनीकों का उपयोग करता है।
  4. आवश्यक तकनीकों को सीखने के लिए व्यय (अतिरिक्त) समय (जैसे: अजाक्स, jquery, आदि) आपको मुश्किल लगता है।
  5. पूरे सॉस कोड को पढ़ने के बजाय, उस मॉड्यूल में त्वरित शुरुआत दें जिसे आप काम करना चाहते हैं।
  6. जब भी आपको उनकी आवश्यकता हो तो शेष कोड जानें।

आरंभिक दिनों निश्चित रूप से कठिन होंगे। लेकिन शुरू करने के बाद चीजें स्थिर हो जाएंगी।

2

आप वास्तव में यहां दो अलग-अलग प्रश्न पूछ रहे हैं: "टीम नए सदस्य की मदद करने के लिए क्या कर सकती है?" और "टीम की मदद करने के लिए नया सदस्य क्या कर सकता है?"

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

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

3

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

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

में मेरे उदाहरण डालने दें, मेरे पायथन दस्तावेज़ इस तरह के प्रारूप का है। अपनी परियोजना में सख्ती से पालन की जाने वाली शैली चुनें। ब्याज के साथ

""" 
This program does so and so, a single line explanation 

arg1 does so and so. arg2 acts on so and so. It returns a list of something 

Detailed explanation of exceptions, process etc. 

>>> code.samples 
expected result 
>>> code.samples.failed 
traceback 
... 
SomeError 
""" 

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

अगला

विकी बनाए रखें, वहां कई विकी इंजन हैं। पायथन के लिए, आप मोइन-मोइन का उपयोग कर सकते हैं।

तीसरा,

एक नौसिखिया के लिए, यह, बस उसे रहने डाल करने के लिए कठिन है वह निश्चित रूप से, ऊब जाएगा उबाऊ प्रशिक्षण और सभी के बजाय, आप बस विशेषज्ञों में से एक के साथ जोड़ी प्रोग्रामिंग में उसे फेंक कर सकते हैं । चरम प्रोग्रामिंग में यह एक अच्छी तरह से प्रयास किया गया सूत्र है। विकी http://en.wikipedia.org/wiki/Pair_programming देखें कोई भी नौसिखिया तेजी से सीखेंगे, अगर उसे अन्य लिखित स्रोतों से चीजों को पढ़ने के बजाए व्यक्ति में कुछ अवधारणाओं को समझाया गया है।

अन्त में,

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

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

फिर, देखें कि नौसिखिया वास्तव में प्रोग्रामिंग में रूचि रखता है, अन्यथा यह उसके लिए काम नहीं करेगा। मैंने कुछ लोगों को देखा है जो सिर्फ अपने निजी एजेंडे को पूरा करने के लिए परियोजनाओं पर पहुंचते हैं, और कभी-कभी परियोजना को खतरे में डाल देते हैं। ऐसे पीपीएल से बचें।

मैंने जो कुछ कहा है, ओपन सोर्स प्रोजेक्ट्स या सामुदायिक रखरखाव परियोजनाओं का संदर्भ लें, शायद उद्यम या कॉर्पोरेट परियोजनाओं के लिए सही न हो, जो अपने नियमों से चिपके रहें। हमेशा नियमों का पालन करें।

2

प्रश्न: जब आप एक चल रहा है परियोजना में हैं, कैसे आप नए चेहरे मिलता है ... कोड और परियोजना संस्कृति पता करने के लिए जल्दी से तो वे पकड़-अप कर सकते हैं तेजी से?

हमने नए कर्मचारियों के लिए दो लक्ष्य निर्धारित किए हैं।

  1. परिचितता बनाएं: नए लोग पहले दिन 2 कोड समीक्षाओं में भाग लेते हैं। वे डेवलपर्स से मिलते हैं, प्रोजेक्ट कोड देखते हैं, और सवाल पूछ सकते हैं। कोड समीक्षा में उन्हें तब तक जारी रखना जारी रखें जब तक कि वे रुकने का विकल्प न लें।

  2. समूह का सम्मान बनाएं: यदि नया व्यक्ति ब्लॉग करता है, तो स्टैक ओवरफ्लो का उपयोग करता है, या किसी सार्वजनिक प्रोजेक्ट में योगदान देता है, तो उनकी प्रोफ़ाइल या कार्य से लिंक होता है। यदि आपके पास प्रोजेक्ट विकी है, तो उन्हें दिखाएं कि प्रश्न कैसे पोस्ट करें और जब वे उत्तर की उम्मीद कर सकें।

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

प्रश्न: कैसे, एक चोटी के रूप में, क्या आप पर एक प्रोजेक्ट शुरू करते हैं? इसे और अधिक प्रभावी बनाने के लिए आप क्या कर सकते हैं?

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

संबंधित मुद्दे

 संबंधित मुद्दे