एक जूनियर प्रोग्रामर के रूप में अनुमानों से निपटना


16

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

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

दूसरी बार मुझे एक समान कार्यक्षमता से निपटना पड़ा है यह सब बहुत तेजी से काम करता है, लेकिन अभी तक मुझे ऐसा लगता है कि मैं प्रोग्रामिंग में सिर्फ बुरा हूं।

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


2
मुझे भी ऐसा ही अनुभव हुआ जब मैंने अपनी पहली नौकरी भी शुरू की। चिंता मत करो, यह बहुत आम है।
रॉकलैन

1
@ratchetfreak यह निश्चित रूप से एक प्रोग्रामर चीज़ है। मुझे इंटर्नशिप पर एक समान अनुभव था, भले ही मेरे पास पहले से प्रोग्रामिंग का विशाल अनुभव था, क्योंकि हमने जिस सिस्टम पर काम किया था वह बहुत बड़ा था।
JSideris

1
अनुमान Guesstimates हैं। काम हो गया जब वे कर रहे हैं। कभी-कभी आप कोनों को काट सकते हैं, लेकिन आप केवल हार्ड तिथियों के लिए ऐसा करते हैं (रिलीज / ग्राहक पूर्वावलोकन / ...) एक अनुमान को पूरा करने के लिए नहीं जो आपने 3 दिन पहले किया था! 002
मार्टिन बा

जवाबों:


12
  • छोटे प्रबंधन अनुभव वाले कई डेवलपर्स एक टीम में "सर्वश्रेष्ठ" डेवलपर के अपने स्वयं के वेग या वेग का उपयोग करके कार्यों का अनुमान लगाते हैं।

  • वेग अनुभव के साथ बदलता रहता है। वरिष्ठ डेवलपर को किसी चीज़ को हल करने में 3 घंटे लग सकते हैं, जब उसी समस्या को हल करने में आपको 2 कार्यदिवस लगेंगे।

  • नई नौकरी लेने पर तनाव से शायद ही बचा जा सकता है। कुछ महीनों के बाद यह सामान्य रूप से बेहतर हो जाता है, यह मानते हुए कि आप पर्याप्त काम करते हैं और बहुत सारे प्रासंगिक प्रश्न पूछते हैं।

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

मेरे अनुभव से:

  • मुझे लगता है कि वरिष्ठ डेवलपर या प्रबंधक को टी-शर्ट के आकार (एक्सएल, एल, एम, एस, एक्सएस) के संदर्भ में एक उपयोगकर्ता कहानी (व्यावसायिक आवश्यकता) का अनुमान लगाने में सक्षम होना चाहिए।

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

  • यह रिकॉर्ड करना बहुत महत्वपूर्ण है कि वास्तव में आपको कार्य पूरा करने में कितना समय लगा।

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

यह न केवल आपके जीवन को कम तनावपूर्ण बना देगा, बल्कि यह विभाग को अपने संसाधनों को प्रभावी ढंग से प्रबंधित करने की भी अनुमति देगा।


11

अपनी टीम के लीड, प्रोजेक्ट मैनेजर और / या जिसे भी आपका अनुमान लगता है, उसे सामने लाएं; हम नहीं। लोग समझते हैं कि चीजें सभी के लिए समान मात्रा में प्रयास नहीं करती हैं, और जब वे कार्य सौंपा जाता है या समीक्षा अवधि के बारे में आपको कोई भय होता है, तो वे अनुमानों को समायोजित करने के लिए काम कर सकते हैं।

यह मेरी राय में, कारण है कि अनुमान लगाया जाना चाहिए लोगों ने कार्य सौंपा (लीड / साथियों से इनपुट / सहयोग के साथ)। आपको अधिक सटीक अनुमान मिलता है कि काम वास्तव में लोगों को कब तक करना होगा।


7

जब तक वे आपको चुनौती देने के लिए ऐसा नहीं कर रहे हैं, तब तक मैं एक जूनियर डेवलपर को रखने के लिए एक बदतर स्थिति की कल्पना नहीं कर सकता, जो वे नहीं रख सकते। क्या आपके पास अनुमानों को पूरा नहीं करने के लिए कोई वास्तविक नतीजे हैं?

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

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

किसी भी तरह से, तनाव को खत्म करें, यह कोई मजेदार निरंतर भावना नहीं है जैसे आप हमेशा खराब कोड लिखने के पीछे हैं। उम्मीद है की यह मदद करेगा।


2

यह आम बात है।

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

यदि किसी कार्य में 4 घंटे से अधिक समय लग सकता है, तो इसे उप-सेट के दूसरे सेट में तोड़ दें। उन कार्यों के लिए एक प्रतिशत बफर भी जोड़ें जिन्हें आप अभी नहीं देख सकते हैं (मेरी व्यक्तिगत प्राथमिकता प्रत्येक 2 अनुमानित कार्यों के लिए 1 अप्रत्याशित कार्य है जिसमें आप काम कर रहे सिस्टम के आधार पर 2 - 4h ले रहे हैं)।

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


1

सबसे पहले: यदि आप किसी समस्या पर प्रत्येक प्रयास के साथ तेज़ हो जाते हैं, तो आप संभवतः एक खराब प्रोग्रामर नहीं हैं। तो चलो उस विचार को रास्ते से हटा दें।

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

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

उन्हें बताएं कि आप सुधार रखने की उम्मीद करते हैं और उन्हें दिखाते हैं कि आप उस सुधार को कैसे माप सकते हैं। और उनसे सहमत हैं कि आप एक वरिष्ठ वेतन की उम्मीद नहीं करते हैं जब तक कि आप एक सप्ताह में 5 दिनों के वरिष्ठ-डेवलपर काम नहीं कर सकते। लेकिन इसी तरह आप एक वरिष्ठ के रूप में समान जिम्मेदारियों की उम्मीद नहीं करते हैं जब आप लगभग उतना भुगतान नहीं करते हैं।

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

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

डेवलपर समय के साथ सुधार करेगा, एक जूनियर की तुलना में एक वरिष्ठ तेज, और टीम का "वेग" - महीने पर अनुमान महीने - इसके साथ-साथ सुधार होगा।


1

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

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

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

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


0

मैं आपको अपने दो दोस्तों, WAG और SWAG से मिलवाता हूँ

यानी, e वाइल्ड असिड गाइड ’और Ass साइंटिफिक वाइल्ड एसेस्ड गेस’

मानो या न मानो, मैंने ये नहीं किया। वे वास्तव में व्यापार में बहुत आम हैं। इस लेख पर एक नज़र डालें कि मेरा क्या मतलब है।

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

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

यदि आप overestimate करते हैं, तो जब आप समय के साथ समाप्त होते हैं तो वे खुश होंगे। यदि आप कम आंकते हैं, तो वे या तो निराश नहीं होंगे यदि आप समय सीमा को पूरा करते हैं या कुछ गलत होने पर निराश होते हैं।

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

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

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


-1

वह कठिन जगह है। लगता है कि आप उस पाइपलाइन के "अभी-अभी उद्धार करना है" चरण में फंस गए हैं।

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

  • डिजाइन किसने बनाया?
  • अनुमान किसने लगाया?
  • कार्यान्वयन कौन कर रहा है?

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

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