अंडरग्रेजुएशन
स्टार्टअप शुरू करना चाहते हैं? Y Combinator से फंड प्राप्त करें।
मार्च 2005
(इस निबंध के कुछ हिस्से उन छात्रों के जवाबों के रूप में शुरू हुए जिन्होंने मुझसे सवाल पूछे थे।)
हाल ही में मुझे कंप्यूटर विज्ञान के स्नातक छात्रों से कॉलेज में क्या करना चाहिए, इस बारे में कई ईमेल मिले हैं। मैं शायद सलाह का सबसे अच्छा स्रोत नहीं हूँ, क्योंकि मैं कॉलेज में दर्शनशास्त्र का छात्र था। लेकिन मैंने इतने सारे सीएस क्लास लिए कि अधिकांश सीएस छात्रों को लगा कि मैं वही हूँ। मैं निश्चित रूप से एक हैकर तो था ही।
हैकिंग
एक अच्छा हैकर बनने के लिए आपको कॉलेज में क्या करना चाहिए? दो मुख्य चीजें हैं जो आप कर सकते हैं: प्रोग्रामिंग में बहुत अच्छे बनें, और विशिष्ट, दिलचस्प समस्याओं के बारे में बहुत कुछ सीखें। ये दोनों बराबर साबित होते हैं, क्योंकि प्रत्येक आपको दूसरे के लिए प्रेरित करता है।
प्रोग्रामिंग में अच्छा बनने का तरीका है (ए) बहुत काम करना (बी) कठिन समस्याओं पर। और खुद को कठिन समस्याओं पर काम करने के लिए प्रेरित करने का तरीका है किसी बहुत ही आकर्षक प्रोजेक्ट पर काम करना।
संभावना है कि यह प्रोजेक्ट क्लास का असाइनमेंट नहीं होगा। मेरे दोस्त रॉबर्ट ने स्नातक के दौरान नेटवर्क सॉफ्टवेयर लिखकर बहुत कुछ सीखा। उनके प्रोजेक्ट्स में से एक हार्वर्ड को अर्पानेट से जोड़ना था; यह मूल नोड्स में से एक था, लेकिन 1984 तक कनेक्शन मर चुका था। [1] न केवल यह काम किसी क्लास के लिए नहीं था, बल्कि क्योंकि उन्होंने इस पर अपना सारा समय बिताया और अपनी पढ़ाई की उपेक्षा की, उन्हें एक साल के लिए स्कूल से निकाल दिया गया। [2] अंततः सब ठीक हो गया, और अब वह एमआईटी में प्रोफेसर हैं। लेकिन शायद आप खुश रहेंगे यदि आप उस हद तक नहीं जाते हैं; इससे उन्हें उस समय बहुत चिंता हुई थी।
प्रोग्रामिंग में अच्छा बनने का एक और तरीका है अन्य लोगों को ढूंढना जो इसमें अच्छे हैं, और उनसे सीखना कि वे क्या जानते हैं। प्रोग्रामर अक्सर अपने काम के प्रकार और वे जिन उपकरणों का उपयोग करते हैं, उनके अनुसार कबीलों में बंट जाते हैं, और कुछ कबीले दूसरों की तुलना में स्मार्ट होते हैं। अपने आसपास देखें और देखें कि स्मार्ट लोग किस पर काम कर रहे हैं; इसका आमतौर पर एक कारण होता है।
आपके आसपास के कुछ सबसे स्मार्ट लोग प्रोफेसर हैं। इसलिए दिलचस्प काम खोजने का एक तरीका शोध सहायक के रूप में स्वेच्छा से काम करना है। प्रोफेसर उन लोगों में विशेष रूप से रुचि रखते हैं जो उनके लिए थकाऊ सिस्टम-एडमिनिस्ट्रेशन प्रकार की समस्याओं को हल कर सकते हैं, इसलिए यह दरवाजे में पैर जमाने का एक तरीका है। वे जो डरते हैं वह हैं फ्लैक्स और रिज्यूमे पैडर। यह बहुत आम है कि एक सहायक से काम में शुद्ध वृद्धि होती है। इसलिए आपको यह स्पष्ट करना होगा कि आप काम में शुद्ध कमी लाएंगे।
अगर वे मना कर दें तो निराश न हों। अस्वीकृति लगभग हमेशा उतनी व्यक्तिगत नहीं होती जितनी अस्वीकृत व्यक्ति कल्पना करता है। बस अगले पर आगे बढ़ें। (यह डेटिंग पर भी लागू होता है।)
सावधान रहें, क्योंकि हालांकि अधिकांश प्रोफेसर स्मार्ट होते हैं, लेकिन वे सभी दिलचस्प चीजों पर काम नहीं करते हैं। प्रोफेसरों को अपने करियर को आगे बढ़ाने के लिए नवीन परिणाम प्रकाशित करने होते हैं, लेकिन अधिक दिलचस्प शोध क्षेत्रों में अधिक प्रतिस्पर्धा होती है। इसलिए कम महत्वाकांक्षी प्रोफेसर क्या करते हैं वह है कागजों की एक श्रृंखला तैयार करना जिनके निष्कर्ष नवीन होते हैं क्योंकि कोई और उनकी परवाह नहीं करता है। इनसे बचना आपके लिए बेहतर है।
मैंने कभी शोध सहायक के रूप में काम नहीं किया, इसलिए मुझे उस रास्ते की सिफारिश करने में थोड़ा बेईमान महसूस होता है। मैंने अपना खुद का कुछ लिखकर प्रोग्रामिंग सीखी, विशेष रूप से विनोग्राड के SHRDLU को रिवर्स-इंजीनियर करने की कोशिश करके। मैं उस प्रोग्राम के प्रति उतना ही जुनूनी था जितना एक माँ एक नए बच्चे के साथ होती है।
अपने दम पर काम करने के जो भी नुकसान हों, उसका फायदा यह है कि प्रोजेक्ट पूरी तरह से आपका अपना है। आपको कभी भी समझौता नहीं करना पड़ता या किसी से अनुमति नहीं मांगनी पड़ती, और यदि आपके पास कोई नया विचार है तो आप बस बैठ सकते हैं और उसे लागू करना शुरू कर सकते हैं।
अपने प्रोजेक्ट्स में आपको नवीनता (जैसा कि प्रोफेसर करते हैं) या लाभप्रदता (जैसा कि व्यवसाय करते हैं) के बारे में चिंता करने की आवश्यकता नहीं है। जो मायने रखता है वह है प्रोजेक्ट तकनीकी रूप से कितना कठिन है, और इसका एप्लिकेशन की प्रकृति से कोई संबंध नहीं है। "गंभीर" एप्लिकेशन जैसे डेटाबेस अक्सर तकनीकी रूप से तुच्छ और उबाऊ होते हैं (यदि आपको कभी अनिद्रा का अनुभव हो, तो डेटाबेस के बारे में तकनीकी साहित्य पढ़ने की कोशिश करें) जबकि "तुच्छ" एप्लिकेशन जैसे गेम अक्सर बहुत परिष्कृत होते हैं। मुझे यकीन है कि वहां गेम कंपनियां ऐसे उत्पाद पर काम कर रही हैं जिनमें विश्वविद्यालय सीएस विभागों के निचले नौ-दसवें हिस्से के शोध की तुलना में अधिक बौद्धिक सामग्री है।
अगर मैं अभी कॉलेज में होता तो शायद मैं ग्राफिक्स पर काम करता: उदाहरण के लिए, एक नेटवर्क गेम, या 3डी एनीमेशन के लिए एक टूल। जब मैं स्नातक था तो ग्राफिक्स को दिलचस्प बनाने के लिए पर्याप्त साइकल नहीं थे, लेकिन अब इस पर काम करने से ज्यादा मजेदार कुछ भी कल्पना करना मुश्किल है।
गणित
जब मैं कॉलेज में था, तो कई प्रोफेसरों का मानना था (या कम से कम इच्छा थी) कि कंप्यूटर विज्ञान गणित की एक शाखा है। यह विचार हार्वर्ड में सबसे मजबूत था, जहां 1980 के दशक तक कोई सीएस मेजर भी नहीं था; तब तक एप्लाइड मैथ में मेजर करना पड़ता था। लेकिन कॉर्नेल में भी यह लगभग उतना ही बुरा था। जब मैंने भयानक प्रोफेसर कॉनवे को बताया कि मुझे एआई (तब एक हॉट टॉपिक) में रुचि है, तो उन्होंने मुझसे कहा कि मुझे गणित में मेजर करना चाहिए। मुझे अभी भी यकीन नहीं है कि क्या उन्हें लगा कि एआई के लिए गणित की आवश्यकता है, या क्या उन्हें लगा कि एआई बकवास है और कठोरता से मेजर करने से मुझे ऐसी मूर्खतापूर्ण महत्वाकांक्षाओं से छुटकारा मिल जाएगा।
वास्तव में, एक हैकर के रूप में आपको आवश्यक गणित की मात्रा अधिकांश विश्वविद्यालय विभागों द्वारा स्वीकार किए जाने वाले से बहुत कम है। मुझे नहीं लगता कि आपको हाई स्कूल गणित के अलावा गणना के सिद्धांत से कुछ अवधारणाओं की आवश्यकता है। (यदि आप उन्हें लिखने से बचना चाहते हैं तो आपको पता होना चाहिए कि n^2 एल्गोरिथम क्या है।) जब तक आप गणित के एप्लिकेशन लिखने की योजना नहीं बना रहे हैं, तब तक यह आवश्यक नहीं है। उदाहरण के लिए, रोबोटिक्स पूरी तरह से गणित है।
लेकिन जबकि आपको सचमुच अधिकांश प्रकार की हैकिंग के लिए गणित की आवश्यकता नहीं है, सूत्रों को अलग करने के लिए 1001 तरकीबें जानने के अर्थ में, गणित अपने आप में अध्ययन करने योग्य है। यह लगभग किसी भी तरह के काम के लिए रूपकों का एक मूल्यवान स्रोत है। [3] मैं उस कारण से कॉलेज में अधिक गणित का अध्ययन करने की कामना करता हूँ।
बहुत से लोगों की तरह, मुझे बचपन में गणितीय रूप से दुर्व्यवहार किया गया था। मैंने गणित को सूत्रों के संग्रह के रूप में सोचना सीखा था जो न तो सुंदर थे और न ही मेरे जीवन से संबंधित थे (उन्हें "शब्द समस्याओं" में अनुवाद करने के प्रयासों के बावजूद), लेकिन परीक्षाओं में अच्छा प्रदर्शन करने के लिए उन्हें याद रखना पड़ता था।
कॉलेज में आप सबसे मूल्यवान चीजों में से एक यह सीख सकते हैं कि गणित वास्तव में क्या है। यह आसान नहीं हो सकता है, क्योंकि बहुत सारे अच्छे गणितज्ञ खराब शिक्षक होते हैं। और जबकि गणित पर कई लोकप्रिय किताबें हैं, कुछ ही अच्छी लगती हैं। सबसे अच्छी जो मुझे याद आती है वह डब्ल्यू. डब्ल्यू. सॉयर की हैं। और निश्चित रूप से यूक्लिड। [4]
सब कुछ
थॉमस हक्सले ने कहा, "हर चीज के बारे में कुछ सीखने की कोशिश करो और कुछ के बारे में सब कुछ।" अधिकांश विश्वविद्यालय इस आदर्श का लक्ष्य रखते हैं।
लेकिन सब कुछ क्या है? मेरे लिए इसका मतलब है, वह सब कुछ जो लोग कठिन समस्याओं पर ईमानदारी से काम करने के दौरान सीखते हैं। ऐसे सभी काम संबंधित होते हैं, क्योंकि एक क्षेत्र के विचारों और तकनीकों को अक्सर दूसरों में सफलतापूर्वक प्रत्यारोपित किया जा सकता है। यहां तक कि उन लोगों में भी जो काफी दूर लगते हैं। उदाहरण के लिए, मैं सॉफ्टवेयर लिखने के समान ही निबंध लिखता हूँ: मैं बैठता हूँ और जितनी तेज़ी से टाइप कर सकता हूँ उतनी तेज़ी से एक कमजोर संस्करण 1 बाहर निकालता हूँ, फिर उसे फिर से लिखने में कई सप्ताह बिताता हूँ।
कठिन समस्याओं पर काम करना अपने आप में पर्याप्त नहीं है। मध्ययुगीन कीमियागर एक कठिन समस्या पर काम कर रहे थे, लेकिन उनका तरीका इतना बोगस था कि इसका अध्ययन करने से बहुत कम सीखा जा सकता था, सिवाय शायद लोगों की खुद को धोखा देने की क्षमता के बारे में। दुर्भाग्य से, जिस तरह की एआई को मैं कॉलेज में सीखने की कोशिश कर रहा था, उसमें वही खामी थी: एक बहुत कठिन समस्या, जिसे बेतहाशा अपर्याप्त तकनीकों के साथ लापरवाही से हल किया गया था। साहसी? धोखेबाज के करीब।
सामाजिक विज्ञान भी काफी बोगस हैं, क्योंकि वे बौद्धिक फैशन से बहुत प्रभावित होते हैं। यदि कोई भौतिक विज्ञानी 100 साल पहले के अपने सहकर्मी से मिलता है, तो वह उसे कुछ नई चीजें सिखा सकता है; यदि कोई मनोवैज्ञानिक 100 साल पहले के अपने सहकर्मी से मिलता है, तो वे बस एक वैचारिक बहस में पड़ जाएंगे। हाँ, निश्चित रूप से, आप मनोविज्ञान की कक्षा लेकर कुछ सीखेंगे। बात यह है कि आप किसी अन्य विभाग की कक्षा लेकर अधिक सीखेंगे।
मेरे विचार में, योग्य विभाग गणित, कठोर विज्ञान, इंजीनियरिंग, इतिहास (विशेष रूप से आर्थिक और सामाजिक इतिहास, और विज्ञान का इतिहास), वास्तुकला और क्लासिक्स हैं। कला इतिहास का एक सर्वेक्षण पाठ्यक्रम योग्य हो सकता है। आधुनिक साहित्य महत्वपूर्ण है, लेकिन इसके बारे में जानने का तरीका बस पढ़ना है। मुझे संगीत के बारे में इतना नहीं पता कि मैं कह सकूं।
आप सामाजिक विज्ञान, दर्शनशास्त्र, और राजनीतिक दबावों के जवाब में हाल ही में बनाए गए विभिन्न विभागों को छोड़ सकते हैं। इनमें से कई क्षेत्र निश्चित रूप से महत्वपूर्ण समस्याओं पर बात करते हैं। लेकिन जिस तरह से वे उनके बारे में बात करते हैं वह बेकार है। उदाहरण के लिए, दर्शनशास्त्र, अन्य बातों के अलावा, एक-दूसरे के प्रति हमारे दायित्वों पर बात करता है; लेकिन आप एक बुद्धिमान दादी या ई. बी. व्हाइट से एक अकादमिक दार्शनिक की तुलना में इसके बारे में अधिक सीख सकते हैं।
मैं यहाँ अनुभव से बोल रहा हूँ। मुझे शायद तब अपमानित होना चाहिए था जब लोगों ने क्लिंटन का मज़ाक उड़ाया था जब उन्होंने कहा था कि "यह इस बात पर निर्भर करता है कि 'है' शब्द का क्या मतलब है।" मैंने कॉलेज में 'है' शब्द के अर्थ पर लगभग पाँच कक्षाएँ लीं।
यह पता लगाने का एक और तरीका है कि कौन से क्षेत्र अध्ययन के लायक हैं, वह है ड्रॉपआउट ग्राफ बनाना। उदाहरण के लिए, मैं कई ऐसे लोगों को जानता हूँ जो गणित से कंप्यूटर विज्ञान में चले गए क्योंकि उन्हें गणित बहुत कठिन लगा, और कोई भी विपरीत दिशा में नहीं गया। लोग अनावश्यक रूप से कठिन काम नहीं करते हैं; कोई भी कठिन समस्या पर तब तक काम नहीं करेगा जब तक कि वह आनुपातिक रूप से (या कम से कम लॉग(एन)) अधिक फायदेमंद न हो। इसलिए शायद गणित कंप्यूटर विज्ञान की तुलना में अधिक अध्ययन के लायक है। इसी तरह की तुलनाओं से आप विश्वविद्यालय के सभी विभागों का ग्राफ बना सकते हैं। नीचे आपको सबसे कम बौद्धिक सामग्री वाले विषय मिलेंगे।
यदि आप इस विधि का उपयोग करते हैं, तो आपको लगभग वही उत्तर मिलेगा जो मैंने अभी दिया है।
भाषा पाठ्यक्रम एक विसंगति हैं। मुझे लगता है कि उन्हें पाठ्येतर गतिविधियों के रूप में बेहतर माना जाता है, जैसे मिट्टी के बर्तन की कक्षाएं। वे किसी ऐसे देश में कुछ समय बिताने के साथ मिलकर कहीं अधिक उपयोगी होंगे जहाँ वह भाषा बोली जाती है। एक सनक पर मैंने एक फ्रेशमैन के रूप में अरबी का अध्ययन किया। इसमें बहुत काम लगा, और एकमात्र स्थायी लाभ यह था कि सेमिटिक जड़ों की पहचान करने की एक अजीब क्षमता और लोगों द्वारा शब्दों को कैसे पहचाना जाता है, इसके बारे में कुछ अंतर्दृष्टि मिली।
स्टूडियो आर्ट और क्रिएटिव राइटिंग पाठ्यक्रम वाइल्डकार्ड हैं। आमतौर पर आपको ज्यादा कुछ सिखाया नहीं जाता है: आप बस वही काम करते हैं (या नहीं करते हैं) जो आप चाहते हैं, और फिर शिक्षक की अस्पष्ट देखरेख में एक-दूसरे की रचनाओं के "क्रिट्स" की पेशकश करते हुए बैठते हैं। लेकिन लेखन और कला दोनों ही बहुत कठिन समस्याएं हैं जिन पर (कुछ) लोग ईमानदारी से काम करते हैं, इसलिए वे करने लायक हैं, खासकर यदि आपको एक अच्छा शिक्षक मिल सके।
नौकरियां
बेशक कॉलेज के छात्रों को सीखने के अलावा और भी बहुत कुछ सोचना पड़ता है। दो व्यावहारिक समस्याएं भी हैं जिन पर विचार करना है: नौकरियां, और स्नातक स्कूल।
सिद्धांत रूप में एक उदार शिक्षा को नौकरी प्रशिक्षण प्रदान नहीं करना चाहिए। लेकिन हर कोई जानता है कि यह थोड़ा झूठ है। हर कॉलेज के हैकर व्यावहारिक कौशल सीखते हैं, और यह संयोग से नहीं होता है।
नौकरी पाने के लिए आपको क्या सीखना चाहिए यह उस प्रकार पर निर्भर करता है जो आप चाहते हैं। यदि आप किसी बड़ी कंपनी में काम करना चाहते हैं, तो विंडोज पर ब्लब हैक करना सीखें। यदि आप किसी अच्छी छोटी कंपनी या शोध प्रयोगशाला में काम करना चाहते हैं, तो लिनक्स पर रूबी सीखना बेहतर होगा। और यदि आप अपनी खुद की कंपनी शुरू करना चाहते हैं, जो मुझे लगता है कि अधिक से अधिक सामान्य हो जाएगा, तो अपने सबसे शक्तिशाली उपकरणों में महारत हासिल करें, क्योंकि आप अपने प्रतिस्पर्धियों के खिलाफ दौड़ में होंगे, और वे आपके घोड़े होंगे।
आपके द्वारा कॉलेज में सीखे जाने वाले कौशल और नौकरी में उपयोग किए जाने वाले कौशल के बीच कोई सीधा संबंध नहीं है। आपको कॉलेज में थोड़ा ऊँचा लक्ष्य रखना चाहिए।
वर्कआउट में एक फुटबॉल खिलाड़ी 300 पाउंड बेंच प्रेस कर सकता है, भले ही उसे खेल के दौरान कभी भी इतनी अधिक शक्ति का प्रयोग न करना पड़े। इसी तरह, यदि आपके प्रोफेसर आपको ऐसी चीजें सीखने की कोशिश करते हैं जो नौकरी में आपकी आवश्यकता से अधिक उन्नत हैं, तो यह केवल इसलिए नहीं हो सकता है कि वे अकादमिक हैं, वास्तविक दुनिया से अलग हैं। वे शायद आपके दिमाग से वजन उठाने की कोशिश कर रहे हों।
क्लासों में आप जो प्रोग्राम लिखते हैं, वे वास्तविक दुनिया में आप जो लिखेंगे उनसे तीन महत्वपूर्ण तरीकों से भिन्न होते हैं: वे छोटे होते हैं; आप स्क्रैच से शुरू कर सकते हैं; और समस्या आमतौर पर कृत्रिम और पूर्वनिर्धारित होती है। वास्तविक दुनिया में, प्रोग्राम बड़े होते हैं, मौजूदा कोड शामिल होते हैं, और अक्सर आपको समस्या को हल करने से पहले समस्या का पता लगाना पड़ता है।
आप इन कौशलों को सीखने के लिए कॉलेज छोड़ने (या यहां तक कि प्रवेश करने) का इंतजार नहीं कर सकते। उदाहरण के लिए, यदि आप मौजूदा कोड से निपटना सीखना चाहते हैं, तो आप ओपन-सोर्स प्रोजेक्ट्स में योगदान कर सकते हैं। जिस तरह का नियोक्ता आप काम करना चाहते हैं, वह क्लास असाइनमेंट पर अच्छे ग्रेड की तरह ही उससे प्रभावित होगा।
मौजूदा ओपन-सोर्स प्रोजेक्ट्स में आपको तीसरे कौशल, यह तय करने में ज्यादा अभ्यास नहीं मिलता है कि किन समस्याओं को हल करना है। लेकिन आपको अपने खुद के नए प्रोजेक्ट शुरू करने से रोकने के लिए कुछ भी नहीं है। और अच्छे नियोक्ता इससे और भी अधिक प्रभावित होंगे।
आपको किस तरह की समस्या हल करने का प्रयास करना चाहिए? इसका उत्तर देने का एक तरीका यह पूछना है कि आपको एक उपयोगकर्ता के रूप में क्या चाहिए। उदाहरण के लिए, मुझे स्पैम फ़िल्टरिंग के लिए एक अच्छा एल्गोरिथम मिला क्योंकि मैं स्पैम प्राप्त करना बंद करना चाहता था। अब मैं जो चाहता हूँ वह है एक मेल रीडर जो किसी तरह मेरे इनबॉक्स को भरने से रोके। मैं अपने इनबॉक्स का उपयोग टू-डू सूची के रूप में करता हूँ। लेकिन यह बोतलों को खोलने के लिए पेचकश का उपयोग करने जैसा है; जो वास्तव में चाहिए वह एक बोतल ओपनर है।
स्नातक स्कूल
स्नातक स्कूल के बारे में क्या? क्या आपको जाना चाहिए? और आप एक अच्छे स्कूल में कैसे प्रवेश पाते हैं?
सिद्धांत रूप में, स्नातक स्कूल अनुसंधान में व्यावसायिक प्रशिक्षण है, और आपको तब तक नहीं जाना चाहिए जब तक आप एक कैरियर के रूप में अनुसंधान नहीं करना चाहते हैं। और फिर भी सीएस में पीएचडी करने वाले आधे लोग अनुसंधान में नहीं जाते हैं। मैं प्रोफेसर बनने के लिए स्नातक स्कूल नहीं गया। मैं इसलिए गया क्योंकि मैं और अधिक सीखना चाहता था।
इसलिए यदि आप मुख्य रूप से हैकिंग में रुचि रखते हैं और आप स्नातक स्कूल जाते हैं, तो आपको अपने जैसे कई अन्य लोग मिलेंगे जो इसी तरह से अपने तत्व से बाहर हैं। और यदि आपके आसपास के आधे लोग उसी तरह से अपने तत्व से बाहर हैं जैसे आप हैं, तो क्या आप वास्तव में अपने तत्व से बाहर हैं?
"कंप्यूटर विज्ञान" में एक मौलिक समस्या है, और यह ऐसी स्थितियों में सामने आती है। कोई भी निश्चित नहीं है कि "अनुसंधान" क्या होना चाहिए। बहुत सारा शोध हैकिंग है जिसे एक और प्रकाशन की मात्रा प्राप्त करने के लिए एक अकादमिक पेपर के रूप में संकलित करना पड़ा है।
इसलिए यह पूछना थोड़ा भ्रामक है कि क्या आप स्नातक स्कूल में सहज होंगे, क्योंकि बहुत कम लोग कंप्यूटर विज्ञान में पूरी तरह से सहज हैं। पूरा क्षेत्र अपनी त्वचा में असहज है। इसलिए यह तथ्य कि आप मुख्य रूप से हैकिंग में रुचि रखते हैं, आपको स्नातक स्कूल जाने से नहीं रोकना चाहिए। बस चेतावनी दी जाए कि आपको बहुत सारी चीजें करनी होंगी जो आपको पसंद नहीं हैं।
नंबर एक आपका शोध प्रबंध होगा। लगभग हर कोई अपने शोध प्रबंध से नफरत करता है जब वे इसे पूरा कर लेते हैं। यह प्रक्रिया स्वाभाविक रूप से एक अप्रिय परिणाम पैदा करती है, जैसे साबुत गेहूं के आटे से बनी और बारह घंटे तक पकाई गई केक। कुछ शोध प्रबंधों को खुशी से पढ़ा जाता है, खासकर उनके लेखकों द्वारा।
लेकिन आपसे पहले हजारों लोग शोध प्रबंध लिखने से गुजरे हैं। और उसके अलावा, स्नातक स्कूल स्वर्ग के करीब है। बहुत से लोग इसे अपने जीवन का सबसे खुशनुमा समय याद करते हैं। और लगभग बाकी सभी, जिनमें मैं भी शामिल हूँ, इसे एक ऐसे दौर के रूप में याद करते हैं जो होता, यदि उन्हें शोध प्रबंध नहीं लिखना पड़ता। [5]
स्नातक स्कूल के साथ खतरा यह है कि आप डरावने हिस्से को पहले से नहीं देखते हैं। पीएचडी कार्यक्रम कॉलेज भाग 2 के रूप में शुरू होते हैं, जिसमें कई वर्षों की कक्षाएं होती हैं। इसलिए जब आप शोध प्रबंध लिखने के डर का सामना करते हैं, तो आप पहले से ही कई वर्षों से इसमें होते हैं। यदि आप अभी छोड़ देते हैं, तो आप एक स्नातक-स्कूल ड्रॉपआउट होंगे, और आप शायद उस विचार को पसंद नहीं करेंगे। जब रॉबर्ट को 1988 के इंटरनेट वर्म को लिखने के लिए स्नातक स्कूल से निकाल दिया गया था, तो मैंने उसे विफलता के कलंक के बिना एक रास्ता खोजने के लिए बहुत ईर्ष्या की थी।
कुल मिलाकर, स्नातक स्कूल शायद अधिकांश विकल्पों से बेहतर है। आप बहुत सारे स्मार्ट लोगों से मिलते हैं, और आपकी उदास टालमटोल कम से कम एक शक्तिशाली सामान्य बंधन होगी। और निश्चित रूप से आपके पास अंत में एक पीएचडी है। मैं वह भूल गया। मुझे लगता है कि वह कुछ लायक है।
पीएचडी का सबसे बड़ा फायदा (अकादमिक के यूनियन कार्ड होने के अलावा, निश्चित रूप से) यह हो सकता है कि यह आपको कुछ आधारभूत आत्मविश्वास देता है। उदाहरण के लिए, मेरे घर में हनीवेल थर्मोस्टैट्स में सबसे खराब यूआई है। मेरी माँ, जिनके पास वही मॉडल है, ने अपनी मशीन को संचालित करना सीखने के लिए उपयोगकर्ता पुस्तिका को पढ़ने में एक दिन बिताया। उसने माना कि समस्या उसके साथ थी। लेकिन मैं खुद से सोच सकता हूँ "अगर कंप्यूटर विज्ञान में पीएचडी वाला कोई व्यक्ति इस थर्मोस्टैट को नहीं समझ सकता है, तो यह खराब डिज़ाइन किया गया होना चाहिए।"
यदि आप इस संदिग्ध सिफारिश के बाद भी स्नातक स्कूल जाना चाहते हैं, तो मैं आपको प्रवेश पाने के बारे में ठोस सलाह दे सकता हूँ। मेरे कई दोस्त अब सीएस प्रोफेसर हैं, इसलिए मेरे पास प्रवेश के बारे में अंदर की कहानी है। यह कॉलेज से काफी अलग है। अधिकांश कॉलेजों में, प्रवेश अधिकारी तय करते हैं कि कौन प्रवेश पाता है। पीएचडी कार्यक्रमों के लिए, प्रोफेसर ऐसा करते हैं। और वे इसे अच्छी तरह से करने की कोशिश करते हैं, क्योंकि वे जिन लोगों को स्वीकार करते हैं वे उनके लिए काम करने वाले होंगे।
स्पष्ट रूप से सबसे अच्छे स्कूलों में केवल सिफारिशें ही मायने रखती हैं। मानकीकृत परीक्षण कुछ भी मायने नहीं रखते, और ग्रेड बहुत कम। निबंध ज्यादातर कुछ मूर्खतापूर्ण कहकर खुद को अयोग्य घोषित करने का अवसर है। एकमात्र चीज जिस पर प्रोफेसर भरोसा करते हैं वह है सिफारिशें, अधिमानतः उन लोगों से जिन्हें वे जानते हैं। [6]
इसलिए यदि आप पीएचडी कार्यक्रम में प्रवेश करना चाहते हैं, तो कुंजी अपने प्रोफेसरों को प्रभावित करना है। और प्रोफेसरों के रूप में मेरे दोस्तों से मुझे पता है कि उन्हें क्या प्रभावित करता है: केवल उन्हें प्रभावित करने की कोशिश करना नहीं। वे उन छात्रों से प्रभावित नहीं होते हैं जो अच्छे ग्रेड प्राप्त करते हैं या उनके शोध सहायक बनना चाहते हैं ताकि वे स्नातक स्कूल में प्रवेश कर सकें। वे उन छात्रों से प्रभावित होते हैं जो अच्छे ग्रेड प्राप्त करते हैं और उनके शोध सहायक बनना चाहते हैं क्योंकि वे विषय में वास्तव में रुचि रखते हैं।
इसलिए कॉलेज में आप सबसे अच्छी बात कर सकते हैं, चाहे आप स्नातक स्कूल में प्रवेश करना चाहते हों या सिर्फ हैकिंग में अच्छे बनना चाहते हों, यह पता लगाना है कि आपको वास्तव में क्या पसंद है। प्रोफेसरों को आपको स्नातक स्कूल में प्रवेश दिलाने के लिए धोखा देना मुश्किल है, और समस्याओं को आपको उन्हें हल करने की अनुमति देने के लिए धोखा देना असंभव है। कॉलेज वह जगह है जहाँ दिखावा काम करना बंद कर देता है। यहाँ से, जब तक आप किसी बड़ी कंपनी के लिए काम करने नहीं जाना चाहते, जो हाई स्कूल में वापस जाने जैसा है, आगे बढ़ने का एकमात्र तरीका वही है जो आप प्यार करते हैं।
नोट्स
[1] ऐसा लगता है कि किसी को कोई आपत्ति नहीं थी, जो दिखाता है कि 1984 तक अर्पानेट (जो इंटरनेट बन गया) कितना महत्वहीन था।
[2] यही कारण है कि, जब मैं एक नियोक्ता बना, तो मुझे जीपीए की परवाह नहीं थी। वास्तव में, हमने सक्रिय रूप से उन लोगों की तलाश की जो स्कूल से बाहर हो गए थे। हमने एक बार हार्वर्ड के आसपास पोस्टर लगाए थे जिन पर लिखा था "क्या आपको अपनी कक्षाओं में खराब प्रदर्शन करने के लिए निकाल दिया गया था क्योंकि आपने अपना सारा समय अपने किसी प्रोजेक्ट पर काम करने में बिताया था? हमारे लिए काम करने आओ!" हमने एक ऐसे लड़के को ढूंढने में कामयाबी हासिल की जो था, और वह एक महान हैकर था।
जब हार्वर्ड स्नातक छात्रों को एक साल के लिए बाहर निकालता है, तो उन्हें नौकरियां लेनी पड़ती हैं। विचार उन्हें यह दिखाना है कि वास्तविक दुनिया कितनी भयानक है, ताकि वे समझ सकें कि कॉलेज में होने पर वे कितने भाग्यशाली हैं। इस योजना ने उस आदमी के साथ उल्टा काम किया जो हमारे लिए काम करने आया था, क्योंकि उसने स्कूल में बिताए समय से ज्यादा मजा किया था, और उस साल स्टॉक विकल्पों से अपने किसी भी प्रोफेसर के वेतन से ज्यादा कमाया था। इसलिए एक साल के अंत में पश्चाताप के साथ वापस रेंगने के बजाय, उसने एक और साल की छुट्टी ली और यूरोप चला गया। वह अंततः लगभग 26 साल की उम्र में स्नातक हुआ।
[3] एरिक रेमंड का कहना है कि हैकर्स के लिए सबसे अच्छे रूपक सेट सिद्धांत, कॉम्बिनेटरिक्स और ग्राफ सिद्धांत में हैं।
ट्रेवर ब्लैकवेल आपको गणित के उन वर्गों को लेने की याद दिलाते हैं जो गणित के छात्रों के लिए हैं। "इंजीनियरों के लिए गणित" कक्षाएं बहुत खराब थीं। वास्तव में कोई भी "एक्स फॉर इंजीनियर्स" खराब होता है, जहाँ एक्स में गणित, कानून, लेखन और दृश्य डिजाइन शामिल हैं।
[4] अन्य अत्यधिक अनुशंसित पुस्तकें: What is Mathematics? , Courant और Robbins द्वारा; Geometry and the Imagination Hilbert और Cohn-Vossen द्वारा। और ग्राफिक डिजाइन में रुचि रखने वालों के लिए, Byrne's Euclid।
[5] यदि आप आदर्श जीवन जीना चाहते थे, तो स्नातक स्कूल जाना, गुप्त रूप से पहले एक या दो साल में अपना शोध प्रबंध लिखना, और फिर अगले तीन वर्षों तक हर समय आनंद लेना, एक समय में एक अध्याय जारी करना होगा। यह संभावना स्नातक छात्रों के मुंह में पानी ला देगी, लेकिन मुझे ऐसे किसी व्यक्ति के बारे में पता नहीं है जिसमें इसे पूरा करने का अनुशासन हो।
[6] एक प्रोफेसर मित्र का कहना है कि वे हर साल 15-20% स्नातक छात्रों को स्वीकार करते हैं जो "लॉन्ग शॉट्स" होते हैं। लेकिन उनका मतलब लॉन्ग शॉट्स से उन लोगों से है जिनके आवेदन हर तरह से उत्तम हैं, सिवाय इसके कि प्रवेश समिति में कोई भी उन प्रोफेसरों को नहीं जानता जिन्होंने सिफारिशें लिखी हैं।
इसलिए यदि आप विज्ञान में स्नातक स्कूल में प्रवेश करना चाहते हैं, तो कुंजी यह है कि आप कहीं ऐसे कॉलेज में जाएं जहाँ वास्तविक शोध प्रोफेसर हों। अन्यथा आप प्रवेश समितियों के लिए एक जोखिम भरा दांव लगेंगे, चाहे आप कितने भी अच्छे हों।
जो एक आश्चर्यजनक लेकिन स्पष्ट रूप से अनिवार्य परिणाम का अर्थ है: छोटे उदार कला कॉलेज बर्बाद हो गए हैं। अधिकांश स्मार्ट हाई स्कूल के बच्चे कम से कम विज्ञान में जाने पर विचार करते हैं, भले ही वे अंततः ऐसा न करने का निर्णय लें। ऐसे कॉलेज में क्यों जाएं जो उनके विकल्प सीमित करता है?
धन्यवाद ट्रेवर ब्लैकवेल, एलेक्स लेविन, जेसिका लिविंगस्टन, रॉबर्ट मॉरिस, एरिक रेमंड, और कई अनाम सीएस प्रोफेसरों को इसके ड्राफ्ट पढ़ने के लिए, और उन छात्रों को जिनके सवालों ने इसे शुरू किया।