मैं एक अधिक स्वायत्त और आत्मनिर्भर प्रोग्रामर कैसे बन सकता हूं? [बन्द है]


13

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


1
हो सकता है कि यह सिर्फ एक सांस्कृतिक / भाषा की बात हो ... लेकिन क्या आपको लगता है कि आप कभी भी एक तारकीय डेवलपर होंगे? क्या आप अन्य नए डेवलपर्स के 99% की तुलना में बहुत बेहतर बनाता है?
स्टीफन C

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

जवाबों:


24

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

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

"Misapplication of standard tools...is the new standard."

दुनिया में अभी इतना समय नहीं है कि हम सभी देव उपकरणों को सीख सकें।

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

हाँ, यह सामान्य है। मैं अभी भी कुछ सामान है कि मेरा रास्ता फेंक दिया जाता है के साथ बाहर बेकार।

क्या किया जा सकता है?

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

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

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

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

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


2
जब तक आप हार नहीं मानेंगे, तब तक इस पर +1 काम करें। मैंने कभी-कभी एक समस्या को हल करने में 2-3 दिन बिताए हैं । तोड़ने के लिए: टीडीडी या कम से कम इकाई परीक्षण लिखने की कोशिश करें।
ashes999

12

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

संभवतः सबसे अच्छी रणनीति होगी:

  • Google पर शोध करना सीखें। आप थोड़े खोजी काम के साथ लगभग किसी भी चीज के जवाब पा सकते हैं। स्टैक ओवरफ्लो उन कठिन-से-समाधान समस्याओं के लिए अद्भुत काम करता है।
  • डिबग करना सीखें। मैंने quirky, डीप एंटरप्राइज कोड में कदम रखने में घंटों बिताए हैं, केवल वेरिएबल X को खोजने के लिए 3 के बजाय 7 है। कोड को पढ़ने और डिबग करने में सक्षम होने के नाते शायद स्वायत्त बनने का सबसे अच्छा तरीका है।

ऐसा नहीं है कि मैं एक विशेष फूल हूं, लेकिन मेरी समस्याएं भाषाओं पर नहीं हैं। यह मेरी भाषा में चीजों को करने के तरीके पर नहीं है। मेरे अधिकांश प्रश्न बहुत कंपनी केंद्रित हैं: यह हमारे कार्यस्थल पर हमारे पर्यावरण के लिए विशिष्ट डोमेन में चीजों को कैसे करना है। वे चीजें हैं जिन्हें आप Google नहीं कर सकते, यदि आप करेंगे।
acconrad

3
मैं पूरी तरह से समझता हूँ; मैं तीन साल से उसी स्थिति में था। बुलेट बिंदु # 2 का उत्तर है: डिबग करना सीखें। लोग अक्सर विवरण याद नहीं करते हैं; डिबगिंग कुंजी है।
राख

1
मैं सहमत हूँ। जब तक आप अपने आस-पास के लोगों से अधिक जवाब नहीं जानते, तब तक सवाल पूछते रहें। नीचे जाएं और QA टीम से बात करें जब तक कि आप बग्स की खोज न कर सकें और उन्हें ठीक कर सकें। Google आपका विशेषज्ञ मित्र है; उसका भरपूर उपयोग करें। किसी दिन आप पाएंगे कि आप एक प्रश्न भेजने वाले ई-मेल भेजते हैं और उत्तर वापस आने से पहले अपने आप को उत्तर ढूंढ लेते हैं।
एंडी कैनफील्ड

5

"बड़ी तस्वीर" सवाल पूछने से डरो मत

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

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

अपने आप को एक प्रतीक्षा अवधि दें

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

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

कुछ ड्राफ्ट को फेंक दें

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

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


1

आत्मनिर्भरता के साथ आएगा

  • डोमेन में अनुभव और जोखिम में वृद्धि।
  • मौजूदा प्रणालियों और उनके व्यवहार, निर्भरता को समझने के लिए अवलोकन कौशल और विश्लेषणात्मक कौशल में वृद्धि।

बार-बार सवाल पूछना आपको जोखिम देगा और आपको इन दोनों की कमी होगी।

यदि आप अपना डोमेन, तकनीक, प्लेटफ़ॉर्म बदलते हैं, तो आप जिस वर्ग में वापस आते हैं, (लगभग उसी तरह की समस्याओं और हस्तांतरणीय ज्ञान से निपटने की आपकी बढ़ी हुई क्षमता के लिए गिनती नहीं)

सवाल नहीं पूछ जब वास्तव में जरूरत मूल्यवान उत्पादन समय की एक बहुत बर्बाद होगा।

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

सतर्क रहना अच्छा है। लेकिन इसका सबसे अच्छा आप अपने प्रश्नों की प्रकृति का निर्धारण करना शुरू करते हैं। इसका सबसे अच्छा अगर आप इसे कागज पर लिखते हैं और इसकी कठिनाई / योग्यता की जांच करते हैं।

  1. क्या यह कुछ ऐसा है जिसे आप Google / मंचों के साथ या लंबे समय तक काम कर सकते हैं
  2. यदि आप गड़बड़ करते हैं तो यह कुछ ऐसा है जिसे आप बिना किसी लागत के साथ दूर कर सकते हैं या ठीक कर सकते हैं?

0

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

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

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

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

एक बार जब आपके पास तकनीकी ज्ञान होता है, तो बाकी ज्ञान और आत्मविश्वास होता है और जो अनुभव के साथ आते हैं।


0

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

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

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