प्रोग्रामिंग में रुचि लें, और कुछ करें क्योंकि यह मजेदार है। सुनिश्चित करें कि यह पर्याप्त मज़ेदार हो रहा है ताकि आप अपने दस वर्षों / 10,000 घंटों में डालने के लिए तैयार रहें।
कार्यक्रम । सबसे अच्छी तरह की सीखने की सीख है। इसे और अधिक तकनीकी रूप से कहने के लिए, "किसी दिए गए डोमेन में व्यक्तियों के लिए प्रदर्शन का अधिकतम स्तर स्वचालित रूप से विस्तारित अनुभव के एक समारोह के रूप में प्राप्त नहीं होता है, लेकिन प्रदर्शन के स्तर में सुधार के लिए जानबूझकर किए गए प्रयासों के परिणामस्वरूप अत्यधिक अनुभवी व्यक्तियों द्वारा भी बढ़ाया जा सकता है। । " (पी। 366) और "सबसे प्रभावी शिक्षण के लिए एक विशेष रूप से व्यक्ति, सूचनात्मक प्रतिक्रिया और त्रुटियों के पुनरावृत्ति और सुधार के अवसरों के लिए उपयुक्त कठिनाई स्तर के साथ एक अच्छी तरह से परिभाषित कार्य की आवश्यकता होती है।" (पृष्ठ २०-२१) पुस्तक अनुभूति इन प्रैक्टिस: माइंड, मैथेमेटिक्स, एंड कल्चर इन एवरीडे लाइफ इस दृष्टिकोण के लिए एक दिलचस्प संदर्भ है।
अन्य प्रोग्रामर के साथ बात करें; अन्य कार्यक्रम पढ़ें । यह किसी भी पुस्तक या प्रशिक्षण पाठ्यक्रम से अधिक महत्वपूर्ण है।
यदि आप चाहते हैं, तो एक कॉलेज में चार साल (या एक स्नातक स्कूल में) डालें। यह आपको कुछ नौकरियों तक पहुंच देगा, जिनमें क्रेडेंशियल्स की आवश्यकता होती है, और यह आपको क्षेत्र की गहरी समझ प्रदान करेगा, लेकिन यदि आप स्कूल का आनंद नहीं लेते हैं, तो आप (कुछ समर्पण के साथ) अपने या नौकरी पर समान अनुभव प्राप्त कर सकते हैं । किसी भी मामले में, केवल पुस्तक सीखना ही पर्याप्त नहीं होगा। द न्यू हैकर डिक्शनरी के लेखक एरिक रेमंड कहते हैं, "कंप्यूटर विज्ञान की शिक्षा किसी को ब्रश और रंगद्रव्य का अध्ययन करने से ज्यादा किसी को भी प्रोग्रामर नहीं बना सकती है।" मेरे द्वारा किराए पर लिए गए सर्वश्रेष्ठ प्रोग्रामरों में से एक के पास केवल एक हाई स्कूल की डिग्री थी; उसने बहुत सारे शानदार सॉफ़्टवेयर का निर्माण किया है, उसका अपना समाचार समूह है, और अपने स्वयं के नाइट क्लब खरीदने के लिए स्टॉक विकल्पों में पर्याप्त है।
अन्य प्रोग्रामर के साथ प्रोजेक्ट्स पर काम करें । कुछ परियोजनाओं पर सबसे अच्छा प्रोग्रामर बनें; कुछ अन्य लोगों पर सबसे बुरा हो। जब आप सबसे अच्छे होते हैं, तो आपको एक परियोजना का नेतृत्व करने के लिए, और अपनी दृष्टि से दूसरों को प्रेरित करने के लिए अपनी क्षमताओं का परीक्षण करने के लिए मिलता है। जब आप सबसे खराब होते हैं, तो आप सीखते हैं कि स्वामी क्या करते हैं, और आप सीखते हैं कि उन्हें क्या करना पसंद नहीं है (क्योंकि वे आपको उनके लिए ऐसा करते हैं)।
अन्य प्रोग्रामर के बाद परियोजनाओं पर काम करें । किसी और द्वारा लिखे गए प्रोग्राम को समझें। मूल प्रोग्रामर के आसपास नहीं होने पर इसे समझने और इसे ठीक करने के लिए देखें। इस बारे में सोचें कि अपने कार्यक्रमों को कैसे डिजाइन करना है जो उन लोगों के लिए आसान बनाते हैं जो आपके बाद उन्हें बनाए रखेंगे।
कम से कम आधा दर्जन प्रोग्रामिंग भाषाएं सीखें। क्लास एब्स्ट्रैक्शन (जैसे जावा या C ++) को सपोर्ट करने वाली एक भाषा को शामिल करें, एक जो कार्यात्मक एब्स्ट्रैक्शन (जैसे लिस्प या एमएल) का समर्थन करती है, एक जो सिंथैटिक एब्स्ट्रेक्शन (लिस्प की तरह) का समर्थन करती है, एक जो डिक्लेक्टिव स्पेसिफिकेशन्स (जैसे प्रोस्पेक्टस या सी ++ टेम्प्लेट) को सपोर्ट करती है, एक जो कोरटाइन्स (जैसे चिह्न या योजना) का समर्थन करता है, और एक जो समानता (जैसे सिसल) का समर्थन करता है।
याद रखें कि "कंप्यूटर विज्ञान" में एक "कंप्यूटर" है। जानें कि किसी निर्देश को निष्पादित करने में आपके कंप्यूटर को कितना समय लगता है, मेमोरी से एक शब्द (और कैश के बिना) प्राप्त करें, डिस्क से लगातार शब्द पढ़ें, और डिस्क पर एक नए स्थान की तलाश करें। (यहाँ उत्तर)
भाषा मानकीकरण प्रयास में शामिल हों। यह एएनएसआई सी ++ समिति हो सकती है, या यह निर्णय ले सकती है कि क्या आपकी स्थानीय कोडिंग शैली में 2 या 4 स्थान इंडेंटेशन स्तर होंगे। किसी भी तरह से, आप इस बारे में सीखते हैं कि अन्य लोगों को किसी भाषा में क्या पसंद है, वे कितनी गहराई से ऐसा महसूस करते हैं, और शायद थोड़ा सा भी महसूस करते हैं कि वे ऐसा क्यों महसूस करते हैं।
भाषा के मानकीकरण के प्रयास को जल्द से जल्द पूरा करने के लिए अच्छी समझ रखें।