प्रोग्रामिंग क्षेत्र में स्व-शिक्षण कितना महत्वपूर्ण है? [बन्द है]


74

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

यहाँ सवाल यह है कि स्वयं के द्वारा प्रोग्रामिंग का अध्ययन करना कितना महत्वपूर्ण है?


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

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

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

जवाबों:


100

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

यहाँ कॉलेज के बारे में बात है: कंप्यूटर विज्ञान पाठ्यक्रम सिद्धांत सिखाते हैं, न कि प्रौद्योगिकी। वे आपको हैश टेबल और बी-ट्री के बीच का अंतर सिखाएंगे, और एक ऑपरेटिंग सिस्टम कैसे काम करता है, इसकी मूल बातें। वे आम तौर पर आपको उथले स्तर से परे कंप्यूटर भाषा, ऑपरेटिंग सिस्टम या अन्य तकनीक नहीं सिखाएंगे।

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

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

मैंने 1987 में कॉलेज में स्नातक किया। मैं डॉस, नेटबीआईओएस और "टर्मिनेट-एंड-स्टे-रेजिडेंट" कार्यक्रमों में विशेषज्ञता के साथ सी प्रोग्रामर के रूप में काम करने गया। तब से अब तक, अगर मेरे पास कोई वास्तविक प्रशिक्षण है तो बहुत कम है। नौकरी विज्ञापनों को देखें ... उन कौशलों के लिए बहुत अधिक कॉल नहीं! आज मुझे नौकरी पर रखने का एकमात्र कारण यह है कि मैंने लगातार सीखने के वर्षों में हस्तक्षेप किया है। एक इंजीनियर के रूप में सफल होने के लिए, आपको सीखने की आदत डालनी होगी। नरक, मैं उससे आगे जाऊंगा: आपके पास सीखने का प्यार होना चाहिए। आपको उस व्यक्ति की तरह होना चाहिए जो WebGL या Android या iOS के साथ गड़बड़ करता है क्योंकि यह मज़ेदार दिखता है। यदि आप उस तरह के व्यक्ति हैं, और सीखने की आदत बनाए रखते हैं, तो आप उद्योग में बहुत आगे निकल जाएंगे।


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

+1, मैंने 2004 में अपने स्कूल के पुस्तकालय में एक बहुत पुराने 'टीएसआर इन सी' को नोटिस किया था। आश्चर्य है कि अगर यह अभी भी है।
जेसविन जोस

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

@ सीन बर्नैप: "कंप्यूटर साइंस के पाठ्यक्रम सिद्धांत सिखाते हैं, तकनीक नहीं" - यह सच नहीं है। मेरे विश्वविद्यालय (केआईटी, जर्मनी) में, हमें जावा सीखना है (और कुछ छोटी परियोजनाएं) बनाने के साथ-साथ सी में कुछ अभ्यास भी करना है। ICPC की तैयारी (टॉपकोडर जैसी प्रतियोगिता) जहां हम सीखते हैं कि C ++ में समस्याओं को कैसे हल किया जाए। की पेशकश की। हमें एक बहुत बड़ी परियोजना भी बनानी होगी (एक समूह ने विंडोज़ फोन के लिए एक एप्लिकेशन बनाया, जो प्राकृतिक आपदाओं के कारण नेट डाउन होने पर स्वचालित रूप से विकेन्द्रीकृत मोबाइल नेटवर्क स्थापित कर सकता है)। हमें स्काला / हास्केल में भी एक परिचय मिलता है।
मार्टिन थोमा

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

29

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

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


8
औपचारिक और स्व-शिक्षा है, लेकिन आप एक ऑन-द-जॉब मेंटर को छोड़ रहे हैं-जो आपके कौशल को फैलाने और सीखने का सबसे अच्छा तरीका हो सकता है कि सॉफ्टवेयर वास्तव में कैसे बना है।
जेफओ

1
"हालांकि, यह कहा जा रहा है, एक औपचारिक शिक्षा भी बहुत महत्वपूर्ण है यदि आप कार्यबल में सक्रिय रुख लेने के लिए तैयार किए गए कैरियर क्षेत्र में प्रवेश करना चाहते हैं।" ... यह वाक्य बहुत अस्पष्ट है। "कार्य बल" में एक "सक्रिय रुख"? वास्तव में? उस समतल का क्या मतलब है?
मांस

@ लालश सहमत हुए। शब्द बदल दिया।
जॉनी रॉटेन ने

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

11

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

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


6

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


4

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


1
-1: मैं मानता हूं कि स्व-सीखना एक अनिवार्य कौशल है, लेकिन सिर्फ यह कहना कि ऐसा नहीं है।
जिम जी

1
+1 वोट से असहमत। मैं भी ऐसा ही कहूंगा और यह मेरे अनुभव पर भी आधारित है।
कोडर्ट

1
@ जिम - आपके पास एक बिल्कुल बेतुका तर्क है। डब्ल्यूटीएफ क्या मैं इसे बनाने वाला हूं? "मैं सहमत हूं, लेकिन -1 क्योंकि आपने कहा था।" O_o
एडवर्ड स्ट्रेंज

@CrazyEddie: बस कुछ समर्थन कारणों के बिना इस तरह से एक मंच पर उपयोगी नहीं है कह कुछ सच है।
जिम जी

@ जिम - आपके उत्तरों की एक अल्पकालिक समीक्षा मुझे इस बात का जवाब देती है, "जो लोग कांच के घरों में रहते हैं, उन्हें पत्थर नहीं फेंकने चाहिए।"
एडवर्ड स्ट्रेंज

3

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


3

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

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

यदि आप नई चीजें नहीं सीख रहे हैं, तो आप बस भूल गए हैं कि आप क्या जानते हैं।


2

टैलेंट ओवररेटेड है।

किसी भी क्षेत्र में महान बनने से पहले कम से कम 10 साल का अभ्यास करना चाहिए। इसलिए जल्दी शुरू करना महत्वपूर्ण है।

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

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

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

कॉलेज छोड़ने के बाद आप कभी भी सीखना बंद न करें क्योंकि यह आपकी सबसे अच्छी विशेषताओं में से एक होगी। मेरा सुझाव है कि 'टैलेंट ओवररेटेड है।' आप उस पुस्तक के बारे में इस त्वरित लेख पर एक नज़र डाल सकते हैं:

http://www.devlounge.net/strategy/the-talent-myth


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

@ मैं सहमत हूँ। मुझे लगता है कि यह विचार इस मायने में अधिक है कि प्रतिभाशाली लोगों को भी कुछ सीखने के लिए कम से कम 10 साल का समय चाहिए और प्रतिभा स्टारडम के लिए पासपोर्ट नहीं है। कई वर्षों में प्रतिभा और सच्चे समर्पण का एक संयोजन है।
एलेक्स

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

@ फिर शायद वे जुनून को याद कर रहे हैं, प्रतिभा को नहीं।
एलेक्स

: मुझे लगता है कि यह कच्ची और अनुभवहीन होने पर भी प्रतिभा को पहचानना काफी आसान है।
डंक

2

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

आपको वास्तव में क्या करना चाहिए, बस परियोजनाओं पर काम करना शुरू करें: कुछ ऐसा बनाएं जो आप अस्तित्व में रखना चाहते हैं। और फिर एक ओपन सोर्स प्रोजेक्ट से जुड़कर कुछ ऐसा काम करें, जिसे आप और भी बेहतर बनाना चाहते हैं। सीखने के लिए मुफ्त आता है ...


2

आपको खुद नई चीजें सीखने की जरूरत है - जहां आपकी जिज्ञासा आपको ले जाती है, वहां जाएं।

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

औपचारिक शिक्षा के बिना, आप "आप नहीं जानते कि आप क्या नहीं जानते" के रूप में वर्णित समस्या से पीड़ित हैं। औपचारिक शिक्षा आपको पूर्ण ज्ञान में बहुत सारी चीजों की एक विस्तृत विस्तृत कवरेज देती है कि कोई भी कभी भी बाहर नहीं जाएगा और यह सब उपयोग करेगा। क्योंकि आप जो उपयोग करेंगे वह कुछ ऐसा है जिसे आप तब तक नहीं जान पाएंगे जब तक आपको इसकी आवश्यकता नहीं है, यह सब तैयार होने के बारे में है ताकि आप जान सकें कि आपको कहाँ जाना है।

आत्म-शिक्षा / जिज्ञासा से प्रेरित चीज वह है जो आपको एक अधिक जानकार और अच्छी तरह से गोल व्यक्ति बनाती है। एक नियोक्ता के लिए अधिक मूल्यवान का उल्लेख नहीं करना।

साइड नोट: मैंने अपना पूरा करियर बिताया है, क्योंकि 15 साल की उम्र (शीश, 25 साल से अधिक उम्र ... लगभग 30 साल) से प्रोग्रामिंग शुरू करने के बाद, मेरे विश्वविद्यालय की शिक्षा के अलावा, अधिकांश प्रशिक्षण पाठ्यक्रम (आप जानते हैं ... BLAH सीखें 3 पूर्णकालिक दिन) बहुत बेकार हैं। ये आम तौर पर सतही होते हैं, और जहाँ तक "अपने कौशल को बनाए रखने" के लिए बहुत मंत्र दिया जाता है, उस व्यक्ति के लिए बहुत मददगार नहीं होता है जिसे गहरे तकनीकी विस्तार में जाने की आवश्यकता होती है। किताबें खरीदना, इंटरनेट का उपयोग करना, गणित / भौतिकी / वास्तुकला में शामिल होना / जो कुछ भी हैं, उन्होंने मुझे उपयोगी और मूल्यवान बना दिया है। एक स्तर पर मैं दुनिया में लगभग 10 लोगों में से एक था जो किसी विशेष विषय पर विशिष्ट विशेषज्ञता के साथ था - यह सब ज्ञान स्व-शिक्षण और नौकरी के बाद सीखने के द्वारा प्राप्त किया गया था।

सीखने को रोकने का एकमात्र समय तब होता है जब आप पाइन बॉक्स में 6 फीट नीचे होते हैं।


2

इसके बारे में एक अच्छा दृष्टांत है:

ब्रिटिश कोलंबिया में आयोजित वार्षिक विश्व चैम्पियनशिप। फाइनल में कनाडाई और नार्वे थे।

उनका कार्य निम्नानुसार था। उनमें से प्रत्येक जंगल का एक निश्चित हिस्सा है। विजेता वह है जो सुबह 8 बजे से दोपहर चार बजे तक सबसे बड़ी संख्या में पेड़ों को गिरा सकता है।

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

नौ बजे कनाडा में सुना कि नार्वे फिर से काम पर चला गया। और फिर, उन्होंने लगभग एक साथ काम किया, जब दस-दस कनाडाई लोगों ने सुना कि नार्वे फिर से रुक गया। और फिर, कनाडा काम पर चला गया, दुश्मन की कमजोरी का फायदा उठाना चाहता था।

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

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

आप कल्पना कर सकते हैं कि वह यह जानकर आश्चर्यचकित था कि वह कैसे हार गया।

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

  • वास्तव में, सब कुछ बहुत सरल है - बस नॉर्वेजियन ने कहा। - हर घंटे, मैं दस मिनट के लिए रुक गया। और जब आप लकड़ी काटना जारी रखते हैं, तो मैं अपनी कुल्हाड़ी तेज कर रहा था।

इसलिए आपको अपनी कुल्हाड़ी को तेज रखने के लिए हर समय अध्ययन करना चाहिए ।


1
  • यह महत्वपूर्ण है, अन्यथा आप पीछे रहेंगे

  • मैं हर दिन, काम पर, यहाँ, किताबें पढ़कर, सवाल पूछकर और जवाब देकर सीखता हूँ। जितना अधिक मैं सीखता हूं मुझे उतना ही समझ में आता है कि मैं कितना कम जानता हूं।


1

स्व-शिक्षण दो कारणों से बहुत महत्वपूर्ण है:

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

-1

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


-1

मैंने शायद 95 +% जो मैं जानता हूँ, वह प्रोग्रामिंग से संबंधित है जो अपने दम पर सामान की कोशिश करने और सीखने से सीखता है कि यह कैसे काम करता है। स्कूल अच्छी प्रोग्रामिंग शैली सिखाने और गति के लिए अनुकूलन कोड आदि के साथ मदद कर सकता है, लेकिन आप सिर्फ एक पाठ्यपुस्तक पढ़कर "अच्छा" प्रोग्रामर कभी नहीं बनेंगे। प्रोग्रामिंग कौशल बनाने का एक शानदार तरीका रोजमर्रा की समस्याओं का पता लगाना है जिन्हें आप हल करने के लिए कंप्यूटर का उपयोग कर सकते हैं, और इसे पूरा करने के लिए कुछ कोड लिखने का प्रयास करें। अटक जाना सीखने का हिस्सा है। मैं एक वेब देव बनना चाहता था, इसलिए मैं उन नई चीजों का परीक्षण करने के लिए डमी वेबसाइटें अक्सर बनाऊंगा (उन्हें या निश्चित रूप से कुछ भी होस्ट नहीं करना)। यह मेरे लिए बहुत अच्छा काम किया!


-1

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

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


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

उस समय के दौरान हर कोई यह समझने के लिए संघर्ष कर रहा है कि स्कूल क्या सिखा रहा है और वे बहुत तेज गति से पढ़ा रहे हैं जिसे हर कोई पकड़ नहीं सकता था।
जी लिआंग

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

मैं सहमत हूं कि आप क्या कहते हैं अगर हम प्रोग्रामिंग के साथ बेहतर होना चाहते हैं, तो यह सिखाया गया है कि सेल्फ सेल्फ मस्ट है।
जी लिआंग

-3

गणित और कंप्यूटर विज्ञान में हमेशा की तरह - 2 दृष्टिकोण हैं: 1. आवश्यक और 2. पर्याप्त प्रतियोगिताएं

  1. यह (स्व-) आपके पूरे जीवन में सीखना आवश्यक है। अच्छा प्रोग्रामर बनने और बने रहने का कोई अन्य विकल्प नहीं है।
  2. उपरोक्त बिंदु पर्याप्त स्थिति नहीं है - आपके पास गणित में मजबूत पृष्ठभूमि होनी चाहिए - हाई स्कूल और फिर कंप्यूटर विज्ञान के क्षेत्र में अच्छा विश्वविद्यालय। यह (शायद) पर्याप्त स्थिति है। अपने मस्तिष्क को एल्गोरिदम के बारे में सोचने के लिए सिखाया जाना चाहिए। यह आत्म-शिक्षा द्वारा प्राप्त नहीं किया जा सकता है।

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

यदि आप पाठ्यपुस्तकों को पढ़ने में कुशल हैं, तो कई पुस्तकों को पढ़ना और ऑनलाइन उपकरण जैसे कि stackexchange.com और प्रोग्रामर का उपयोग करके कंप्यूटर विज्ञान और एल्गोरिदम में बहुत सारी पृष्ठभूमि प्रदान करना चाहिए।
पीटर स्मिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.