आपके दिमाग में आदर्श प्रोग्रामर क्या बनाता है? क्या यह एक कंप्यूटर विशेषज्ञ है जो सात साल की उम्र से कोडिंग कर रहा है और मिलियन डॉलर के ऐप बना रहा है? क्या यह 10 या 20 वर्षों के साथ एक अनुभवी डेवलपर है, जो हर भाषा (लेकिन केवल अच्छे वाले, निश्चित रूप से) जानता है और एक और कप कॉफी प्राप्त करने में लगने वाले समय में एक वेबसाइट बना सकता है? क्या यह एक कोड कलाकार है जो कोड को इतना सुंदर लिख सकता है कि यह सभी को एक साथ विस्मय में रोता है और ईर्ष्या में अपने दाँत पीसता है?
एर, शायद? खैर, वे सभी ड्रीम प्रोग्रामर बहुत अच्छे लगते हैं। लेकिन क्या आप मुझ पर विश्वास करेंगे जब मैं कहता हूं कि पागल कोडिंग कौशल ही सब कुछ नहीं है? और वह अच्छी प्रोग्रामिंग एक अच्छे प्रोग्रामर का केवल आधा हिस्सा बनाती है?
अब जाहिर है कि यदि आप कोड करना नहीं जानते हैं तो आप एक अच्छे कोडर नहीं हो सकते। लेकिन मुझे ऐसा लगता है कि कभी-कभी प्रोग्रामर होने के अन्य, गैर-कंप्यूटर पहलुओं को थोड़ा अनदेखा कर दिया जाता है। एक पेशेवर डेवलपर होने के बारे में बहुत कुछ है जिसका कोडिंग से कोई लेना-देना नहीं है, और एक पेशेवर होने के साथ सब कुछ करना है। सच्चे पेशेवर वे हैं जो समय पर काम पूरा कर लेते हैं, जो एक टीम खिलाड़ी बनना जानते हैं (न कि केवल नायक जो झपट्टा मारता है और दिन बचाता है), और जो अंततः अपने नियोक्ता या अपने ग्राहकों के लिए एक संपत्ति हैं।पी>
तो फिर एक अच्छे डेवलपर होने के क्या निशान हैं? यहां कुछ ऐसे हैं जिन्हें मैंने इकट्ठा किया है- मुझे यकीन है कि और भी बहुत कुछ हैं।
1. स्वच्छ कोड लिखें।
हां, यह वास्तव में कोडिंग के बारे में है। मैंने कहा कि कोडिंग इसका एक हिस्सा है, है ना? इसके मूल में, अच्छा कोड सबसे पहले काम करता है, अन्य डेवलपर्स के लिए समझ में आता है, और बहुत अधिक पीड़ा पैदा किए बिना इसे फिर से तैयार किया जा सकता है। कोड कंप्यूटर के साथ संचार करता है, लेकिन यह भी माना जाता है कि यह मनुष्यों के साथ संचार करता है। मैं आपको यह नहीं बता सकता कि मुझे कितनी बार महीनों पुराने कोड पर वापस जाना पड़ा और यह याद रखने में बहुत अधिक समय व्यतीत करना पड़ा कि मेरे अतीत में क्या सोच रहा था। अच्छी तरह से नामित और सुव्यवस्थित कार्य, टिप्पणियां, और दस्तावेज़ीकरण भविष्य में दूसरों (आप सहित!) को बचाने में दस गुना समय का भुगतान करेंगे।
अच्छा कोड लिखने के बारे में अधिक जानकारी (गैर-संबद्ध लिंक, चिंता न करें!):
क्लीन कोड
व्यावहारिक प्रोग्रामर
रिफैक्टरिंग:मौजूदा कोड के डिजाइन में सुधार
2. रुझानों के साथ अपडेट रहें.
हम सभी जानते हैं कि इन दिनों वेब विकास में कितनी तेजी से बदलाव आ रहा है। मैं यह नहीं कह रहा हूं कि आपको एक मैगपाई कोडर बनने और नवीनतम नई हॉटनेस का पीछा करने की आवश्यकता है। लेकिन स्पेक्ट्रम के दूसरे छोर पर, यदि आप सहज और फिर आत्मसंतुष्ट हो जाते हैं, तो आप डायनासोर कोडर बन जाएंगे, जो कि बहुत बुरा है। एक खुशहाल माध्यम है, जहां आप कुछ मुख्य कौशल में अच्छा करने के लिए काम करते हैं, लेकिन कम से कम अन्य रुझानों और समाचारों से परिचित रहें जो चल रहे हैं।
यहां कुछ प्रकाशन दिए गए हैं जो आपको हमारे बदलते उद्योग के शीर्ष पर बने रहने में मदद कर सकते हैं। बेझिझक झंकार करें और किसी अन्य के साथ टिप्पणी करें जो आपको भी उपयोगी लगे।
हैकर समाचार
एक सूची के अलावा
पत्रिका को तोड़ना
सीएसएस ट्रिक्स
3. नई चीजों के लिए खुले रहें और उन्हें जल्दी से सीखें।
यदि आप अभी भी कोडिंग सीखने के शुरुआती हिस्सों में हैं, तो अपने आप पर बहुत अधिक कठोर न हों। मैं यह सुझाव नहीं दे रहा हूं कि आपको एक सप्ताह में एंगुलर में महारत हासिल करने में सक्षम होना चाहिए। लेकिन इस संभावना के लिए खुले रहें कि किसी भी समस्या का समाधान कुछ ऐसा हो सकता है जिसे आप अभी तक नहीं जानते हैं। और "अभी तक" एक महत्वपूर्ण अंतर है। क्योंकि वह चीज जो आप नहीं जानते? यह कुछ ऐसा है जिसे आप सीख सकते हैं कि कैसे करें और इसे अपने टूलकिट में जोड़ें।
नई चीजों को जल्द से जल्द और कुशलता से सीखने की कोशिश करना महत्वपूर्ण है। क्योंकि जितनी जल्दी आप कुछ उठाते हैं, उतना ही अधिक समय आपको कोड करना होगा और अन्य नई चीजें सीखना होगा। कोडिंग कौशल सीखना अपने आप में एक ऐसा कौशल है जिसे आप सीख सकते हैं।
4. ध्यान केंद्रित करें और कुशलता से काम करें।
हम सभी जानते हैं कि इंसानों के लिए मल्टीटास्किंग असंभव है, क्योंकि हमारा दिमाग एक ही धागे से काम करता है। हम एक कार्य से दूसरे कार्य में स्विच कर सकते हैं, लेकिन यह बहुत कुशल नहीं है और यह ईमानदारी से आदर्श नहीं है। हालाँकि, आपकी नौकरी या आपकी स्थिति के आधार पर रुकावटें आपके दैनिक जीवन का एक हिस्सा हो सकती हैं। इससे कोडिंग के लिए आपके पास जो सीमित समय है, उसका सर्वोत्तम उपयोग करना और भी आवश्यक हो जाता है।
जितना हो सके काम और गैर-काम के समय को अलग करने की कोशिश करें, और उन्हें एक-दूसरे में बहुत ज्यादा न बहने दें। उदाहरण के लिए, हर कुछ मिनटों में लगातार फेसबुक पर फ़्लिप करना आपकी उत्पादकता में कटौती करेगा। जब आप काम करते हैं, तो आप किसी भी अन्य ब्राउज़र टैब को बंद करके ध्यान केंद्रित करने में मदद कर सकते हैं और जब तक आप एक उचित बेंचमार्क तक नहीं पहुंच जाते, तब तक लगातार काम करने की कोशिश कर सकते हैं। पोमोडोरो टाइमर का उपयोग 25 मिनट या उससे भी अधिक समय में काम करने के लिए आपके सामने एक ही कार्य पर ध्यान केंद्रित करने में भी आपकी सहायता कर सकता है।
अतिरिक्त पठन:
कैल न्यूपोर्ट द्वारा गहन कार्य
5. कार्यों को पूरा करने के लिए आवश्यक समय का सटीक अनुमान लगाएं।
यह एक कठिन है, और निश्चित रूप से एक है कि मैं खुद अभी भी बेहतर होने पर काम कर रहा हूं। लेकिन घंटों के संदर्भ में अपनी क्षमताओं का सही आकलन करने में सक्षम होना एक बहुत ही मूल्यवान कौशल है। चाहे आप किसी कंपनी के लिए काम कर रहे हों या अपने लिए, एक खराब अनुमान परियोजनाओं की समय-सीमा को गड़बड़ कर देगा और आपके आस-पास के अन्य लोगों के लिए काम का निर्माण करेगा। कम से कम, किसी प्रोजेक्ट को पूरा करने में कितना समय लगेगा, इसे कम करके आंका जाए तो आपको या आपके नियोक्ता के पैसे खर्च होंगे।
इस पर एक त्वरित नोट:आपको हमेशा पत्थर में सेट किए गए X घंटों के समय को इंगित करने में सक्षम होने की आवश्यकता नहीं है। आमतौर पर आप एक सीमा दे सकते हैं, या आप यह भी कह सकते हैं कि आप वास्तविक अनुमान नहीं दे सकते क्योंकि आपको परियोजना मापदंडों के बारे में अधिक जानकारी की आवश्यकता है। एक तरीका जिससे आप यह अनुमान लगाना शुरू कर सकते हैं कि किसी प्रोजेक्ट को पूरा करने में आपको कितना समय लगता है, वह है कोडिंग करते समय अपने समय का ध्यान रखना। (यह #4 के साथ भी चलता है, क्योंकि आपके अनुमान तब बेहतर होंगे जब आप रेडिट को आधे समय तक ब्राउज़ नहीं कर रहे होंगे)
6. गैर-तकनीकी लोगों को तकनीकी अवधारणाओं को समझाने में सक्षम हों।
हाँ, यह निराशाजनक है ना? जब आप कोड ब्लॉक और विधियों के माध्यम से खुशी-खुशी तैर रहे हों, और फिर आपको वास्तविक दुनिया में सतह पर उतरना हो और यह सब उन लोगों को समझाना हो जो प्रोग्रामर नहीं हैं? वे आपके स्रोत कोड को देख कर उसे प्राप्त क्यों नहीं कर सकते?
स्टीरियोटाइपिकल कोडर एक अकेला व्यक्ति होता है जो बाहरी दुनिया से परेशान हुए बिना एक भूमिगत गुफा में घूमने और कीबोर्ड को हैक करने के अलावा और कुछ नहीं चाहता है। मैं खुद स्वीकार करता हूं कि जब मैं एक विशेष रूप से कष्टप्रद समस्या का पता लगाने की गहराई में होता हूं, तो बाधित होना वास्तव में मेरी प्रगति को तोड़ सकता है और मुझे कर्कश बना सकता है। लेकिन आपकी तरह ही, जिन गैर-तकनीकी लोगों के साथ आप काम करते हैं, उनका एक महत्वपूर्ण कार्य है। (शुरुआत में, वे सभी लोगों से बात करते हैं, इसलिए आपको ऐसा करने की ज़रूरत नहीं है!)
अपनी टीम में सभी के साथ अच्छी तरह से काम करने का मतलब है कि आपको उन्हें कोड सामग्री समझानी होगी, और इस तरह से वे इसे प्राप्त करेंगे। इसका पहला कदम यह समझना है कि जब आप दुनिया को कोडिंग समस्याओं को ठीक करने के मामले में देख सकते हैं, तो अन्य लोग पैसे, समय सीमा और ग्राहकों जैसे सिद्धांतों के आसपास काम करते हैं।
यदि आप यह पता लगा सकते हैं कि दूसरों से उनकी शर्तों पर और उनकी शब्दावली के साथ कैसे बात करनी है, तो आप एक महान टीम खिलाड़ी बनने में एक लंबा सफर तय करेंगे। मान लें कि आपको अपने प्रोजेक्ट में कुछ फीचर जोड़ने के लिए कहा गया है। चिल्लाने के बजाय, "नहीं, यह बेवकूफी है, मैं नहीं चाहता!" और अपनी गुफा में वापस दौड़ते हुए, समझाएं कि यह सुविधा एक और 20 घंटे का काम जोड़ देगी, और समय सीमा को पीछे धकेलने की आवश्यकता होगी।
7. अपने अहंकार को काम में न लाएं।
इसे हर दिन 100% हासिल करना हममें से सर्वश्रेष्ठ के अलावा सभी के लिए असंभव है। लेकिन जब काम की बात आती है तो हम कम से कम अपने अहं से पूरी तरह से प्रेरित नहीं होने की कोशिश कर सकते हैं। इसका क्या मतलब है? इसका मतलब है कि आप सिर्फ खुद को अच्छा दिखाने के बारे में नहीं हैं। आप चाहते हैं कि आपका प्रोजेक्ट, आपकी टीम और आपकी कंपनी भी अच्छी दिखे। अगर आप दूसरों की मदद करने के लिए कड़ी मेहनत करते हैं और केवल अपने लिए ही नहीं, सभी के लिए सफलता सुनिश्चित करते हैं, तो लोग आपके साथ काम करना पसंद करेंगे।
यदि आप अपने लिए जो चाहते हैं उसे प्राप्त करने के लिए दूसरों पर कदम रखने के लिए अपने रास्ते से हट जाते हैं, तो आप पुल को आग लगा रहे हैं। और जब यह ढह जाएगा तो आप इसके बीच में होंगे। निश्चित रूप से, आप कुछ अल्पकालिक लाभ कमा सकते हैं, लेकिन क्या आप वाकई उस गधे बनना चाहते हैं जिसके साथ काम करने से हर कोई नफरत करता है?
8. अपनी गलतियों को न छिपाएं।
किसी को खिलवाड़ करना पसंद नहीं है। यह केवल मानव है। लेकिन जब पेशेवर होने की बात आती है, तो हमें अपनी गलतियों को दुनिया से छिपाने के लिए उसी मानवीय इच्छा पर विजय प्राप्त करनी होगी।
यदि आप कोई ऐसी गलती करते हैं जो परियोजना को नकारात्मक रूप से प्रभावित करती है, तो आप अपने और दूसरों के लिए जो सबसे अच्छा काम कर सकते हैं, वह है तुरंत सफाई देना। अपने पर्यवेक्षक को बताएं, ग्राहक को बताएं, जिसे आपको बताने की जरूरत है, और ट्राइएज पर काम करना शुरू करें। अपनी ग़लती को छुपाना और यह आशा करना कि कोई भी नोटिस कभी-कभी काम नहीं कर सकता है, लेकिन अगर आपको पता चलता है कि यह गंभीर रूप से विश्वास को तोड़ देगा और यह आपके प्रोजेक्ट या आपकी नौकरी को भी ख़तरे में डाल सकता है।
अब आपको हर छोटी छोटी गड़बड़ी की रिपोर्ट करने की आवश्यकता नहीं है। लेकिन उन गलतियों के लिए जिन्हें ठीक करने के लिए अतिरिक्त समय की आवश्यकता होगी या जो कुछ महत्वपूर्ण तोड़ दें, कृपया अपना और सभी का उपकार करें और 'नाराज करें। यह लंबे समय में बेहतर होगा।
9. दूसरों से मदद माँगने और दूसरों को मदद देने में सक्षम हो।
यदि आप अटक जाते हैं या कुछ समझ नहीं पाते हैं तो प्रश्न पूछने से न डरें। यदि आप किसी समय सीमा के साथ किसी प्रोजेक्ट पर काम कर रहे हैं, तो घंटों और घंटों का समय न लें, जब आप मदद मांग सकते हैं और एक घंटे से भी कम समय में समाधान प्राप्त कर सकते हैं।
आपको Google, StackOverflow, या Slack का उपयोग करके, जितना हो सके अपने दम पर इसे संतुलित करने की आवश्यकता है। लेकिन मुझे लगता है कि यह प्रवृत्ति है, खासकर यदि आप किसी कंपनी में हैं, स्वतंत्र होना चाहते हैं और मदद के बिना कुछ भी करने में सक्षम होना चाहते हैं। यह वास्तव में आपका समय बर्बाद कर सकता है। यह कठिन है, लेकिन अपने अभिमान को निगलें और स्वीकार करें कि आपको सहायता की आवश्यकता है। आप सीखेंगे और अपना काम और तेज़ी से पूरा करेंगे।
इसका दूसरा पहलू, निश्चित रूप से, दूसरों की मदद करना है जब उन्हें किसी चीज़ की मदद की ज़रूरत होती है। जब मैं एक वेब डेवलपर के रूप में शुरुआत कर रहा था, तो मैंने अपनी कंपनी के अधिक अनुभवी लोगों पर बहुत भरोसा किया, और इससे मुझे वास्तव में बेहतर होने में मदद मिली। जैसे-जैसे मैं और अधिक अनुभवी होता गया, नए लोग अक्सर मुझसे मदद माँगते। बाधित होना प्रोग्रामिंग का सबसे मजेदार हिस्सा नहीं है, लेकिन यह टीम के खिलाड़ी होने का भी हिस्सा है। यदि आप कुछ गहरी कोडिंग के बीच में हैं, तो आप उन्हें बता सकते हैं कि आप कुछ ही मिनटों में उनके पास वापस आ जाएंगे। (जब तक कि उनकी समस्या वास्तव में अत्यावश्यक न हो)
जब कोई आपसे मदद मांगे, तो उनकी मदद इस तरह से करने की कोशिश करें जिससे उन्हें अगली बार सफलता मिल सके। उन्हें केवल उत्तर देने के बजाय, उन्हें थोड़ा सा संदर्भ दें ताकि वे अंतर्निहित सिद्धांतों को समझ सकें और समस्या को कैसे ठीक किया जा रहा है। तुम्हें पता है, पूरी बात "एक आदमी को मछली पकड़ना सिखाती है" 🙂
क्या इनमें से कोई भी वस्तु आपके साथ प्रतिध्वनित या हिट हुई? उनमें से किसी से असहमत? नीचे एक टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें!