Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

एक अच्छा प्रोग्रामर होना केवल कोड लिखने के बारे में नहीं है

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

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

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

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

1. साफ कोड लिखें।

हां, यह वास्तव में कोडिंग के बारे में है। मैंने कहा था कि कोडिंग इसका हिस्सा है, है ना? 🙂 इसके मूल में, अच्छा कोड सबसे पहले काम करता है, अन्य डेवलपर्स के लिए समझने योग्य है, और बिना बहुत अधिक पीड़ा के रीफैक्टर किया जा सकता है। कोड कंप्यूटर के साथ संचार करता है, लेकिन मनुष्यों के साथ संवाद करने के लिए भी होता है। मैं आपको बता नहीं सकता कि मुझे कितनी बार महीनों पुराने कोड पर वापस जाना पड़ा और सिर्फ यह याद करने में बहुत अधिक समय बिताना पड़ा कि अतीत का मैं क्या सोच रहा था। अच्छी तरह से नामित और अच्छी तरह से व्यवस्थित फ़ंक्शन, कमेंट्स, और डॉक्यूमेंटेशन भविष्य में दूसरों (आप सहित!) को बचाए गए समय की मात्रा में दस गुना वापस भुगतान करेंगे।

अच्छा कोड लिखने पर अधिक जानकारी (गैर-संबद्ध लिंक, चिंता न करें!):
क्लीन कोड
द प्रैग्मैटिक प्रोग्रामर
रीफैक्टरिंग: मौजूदा कोड के डिज़ाइन में सुधार

2. ट्रेंड्स के साथ अपडेट रहें।

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

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

हैकर न्यूज़
ए लिस्ट अपार्ट
स्मैशिंग मैगज़ीन
CSS ट्रिक्स

3. नई चीजों के लिए खुले रहें और उन्हें जल्दी सीखें।

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

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

4. ध्यान केंद्रित करें और कुशलता से काम करें।

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

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

अतिरिक्त पठन:
डीप वर्क बाय कैल न्यूपोर्ट

5. कार्यों को पूरा करने के लिए आवश्यक समय का सटीक अनुमान लगाएं।

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

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

6. तकनीकी अवधारणाओं को गैर-तकनीकी लोगों को समझा सकें।

हां, यह निराशाजनक है ना? जब आप कोड ब्लॉक्स और मेथड्स के माध्यम से खुशी से तैर रहे हों, और फिर आपको वास्तविक दुनिया में सामने आकर यह सब उन लोगों को समझाना पड़े जो प्रोग्रामर नहीं हैं? वे बस आपके सोर्स कोड को देखकर इसे क्यों नहीं समझ सकते?

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

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

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

7. अपना अहंकार काम पर न लाएं।

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

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

8. अपनी गलतियों को न छिपाएं।

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

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

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

9. दूसरों से मदद मांगने में सक्षम हों, और दूसरों को मदद दें।

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

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

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

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

क्या इनमें से कोई भी आइटम आपके साथ प्रतिध्वनित हुआ या घर कर गया? किसी से असहमत हैं? नीचे कमेंट छोड़ने के लिए स्वतंत्र महसूस करें!

  1. फेसबुक के मनोवैज्ञानिक प्रयोग में शामिल होने पर आप कैसा महसूस करते हैं? [साप्ताहिक फेसबुक टिप्स] फेसबुक के मनोवैज्ञानिक प्रयोग में शामिल होने पर आप कैसा महसूस करते हैं? [साप्ताहिक फेसबुक टिप्स]

    आपने शायद फेसबुक की दुनिया से नवीनतम घोटाले के बारे में सुना होगा: फेसबुक उपयोगकर्ताओं पर प्रयोग कर रहा है और उनकी भावनाओं के साथ खेल रहा है। हाँ, वास्तव में। फेसबुक उपयोगकर्ताओं को एक मुफ्त सेवा प्रदान करता है, जो इंटरनेट पर जानकार लोगों के लिए इसका मतलब है कि उपयोगकर्ता उत्पाद हैं। यह नवीनतम विकास

  1. चलते-फिरते कोडिंग के लिए iOS के 5 बेस्ट कोडिंग ऐप्स चलते-फिरते कोडिंग के लिए iOS के 5 बेस्ट कोडिंग ऐप्स

    जबकि अधिकांश डेवलपर्स अपने Mac पर Xcode और Sublime Text जैसे लोकप्रिय IDE का उपयोग करते हैं, कुछ को एहसास होता है कि उनके iPhone और iPad भी कोडिंग ऐप्स को संभाल सकते हैं। जबकि वे अपने डेस्कटॉप समकक्षों जितने शक्तिशाली नहीं हो सकते, निश्चित रूप से कुछ सक्षम मोबाइल IDE हैं जो आपके प्राथमिक डिवाइस के ल

  1. लॉकडाउन के दौरान अपने बच्चे को कोडिंग कैसे सिखाएं लॉकडाउन के दौरान अपने बच्चे को कोडिंग कैसे सिखाएं

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