(Бұл эссенің кейбір бөліктері маған сұрақ қойып хат жазған студенттерге берген жауаптарымнан басталды.)
Жақында маған компьютерлік ғылымдар мамандығында оқитын бірнеше бакалавриат студенттері колледж кезінде не істеу керектігін сұрап хат жазды. Мен ақыл-кеңес беретін ең жақсы адам болмауым мүмкін, өйткені колледжде философия мамандығында оқыдым. Бірақ CS курстарын соншалықты көп алғаным сонша, CS студенттерінің көбі мені өздерінің бірі деп ойлайтын. Әйтеуір кем дегенде хакер болғаным анық.
Хакерлік
Жақсы хакер болу үшін колледжде не істеу керек? Мұнда жасауға болатын екі негізгі нәрсе бар: бағдарламалауды өте жақсы меңгеру және нақты, қызықты мәселелер туралы көп нәрсе үйрену. Бұл екеуі бір-біріне баламалы болып шығады, өйткені біреуі екіншісіне жетелейді.
Бағдарламалауды жақсы білудің жолы — (а) көп және (б) қиын мәселелермен жұмыс істеу. Ал өзіңізді қиын мәселелермен жұмыс істеуге мәжбүрлеудің жолы — өте қызықты бір жобамен айналысу.
Бұл жоба сабақ тапсырмасы болмауы әбден мүмкін. Менің досым Роберт студент кезінде желілік бағдарламалық жасақтама жазу арқылы көп нәрсені үйренді. Оның жобаларының бірі Гарвардты Arpanet-ке қосу болатын; ол алғашқы тораптардың бірі болған еді, бірақ 1984 жылға қарай байланыс үзіліп қалған-ды. [1] Бұл жұмыс тек сабақтан тыс болғанымен қоймай, ол барлық уақытын соған жұмсап, оқуын ақсатқаны үшін бір жылға оқудан шығарылды. [2] Соңында бәрі реттеліп, қазір ол MIT профессоры. Бірақ мұндай шектен шықпағаныңыз өзіңіз үшін жақсы шығар; бұл сол кезде оны көп уайымға салған болатын.
Бағдарламалауды жақсы меңгерудің тағы бір жолы — оны жақсы білетін басқа адамдарды тауып, олардың білгенін үйрену. Бағдарламашылар істейтін жұмыс түріне және қолданатын құралдарына қарай өздерін тайпаларға бөлуге бейім келеді, ал кейбір тайпалар басқаларына қарағанда ақылдырақ. Айналаңызға қарап, ақылды адамдардың немен айналысып жатқанын байқаңыз; мұның әдетте бір себебі болады.
Айналаңыздағы ең ақылды адамдардың кейбірі — профессорлар. Сондықтан қызықты жұмыс табудың бір жолы — зерттеу ассистенті ретінде ерікті болу. Профессорлар олар үшін жүйелік әкімшілендірудің жалықтыратын мәселелерін шешіп бере алатын адамдарға ерекше қызығушылық танытады, сондықтан бұл — кіріп алудың бір жолы. Олардың қорқатыны — сенімсіз адамдар мен түйіндемесін құр көпіртушілер. Көмекшінің келуі жұмыстың нақты көлемін көбейтіп жіберетін жағдайлар өте жиі кездеседі. Сондықтан сіз жұмысты азайтатыныңызды анық көрсетуіңіз керек.
Олар «жоқ» десе, салыңыз суға кетпесін. Қабылданбау көбінесе адам ойлағаннан әлдеқайда аз дәрежеде жеке басқа қатысты болады. Жай ғана келесісіне көшіңіз. (Бұл кездесулерге де қатысты.)
Сақ болыңыз, өйткені көптеген профессорлар ақылды болғанымен, олардың бәрі бірдей қызықты нәрселермен айналыспайды. Профессорлар мансабын өсіру үшін тың нәтижелер жариялауы керек, бірақ зерттеудің неғұрлым қызықты салаларында бәсекелестік көбірек. Сондықтан амбициясы аздау профессорлар ешкімге қызық емес болғандықтан ғана қорытындылары тың болып саналатын бірқатар мақалаларды бірінен соң бірін шығара береді. Ондайлардан аулақ болғаныңыз абзал.
Мен ешқашан ғылыми ассистент болып жұмыс істемегенмін, сондықтан бұл жолды ұсыну біршама жасанды сияқты көрінеді. Мен өз жобаларымды жазу арқылы, әсіресе Виноградтың SHRDLU жүйесін кері инженериялауға тырысу арқылы бағдарламалауды үйрендім. Мен ананың жаңа туған нәрестесіне алаңдағанындай, сол бағдарламаға басыммен кіріп кеткен едім.
Өз бетіңізше жұмыс істеудің кемшіліктері қандай болса да, артықшылығы — жоба толығымен сіздікі. Ешқашан ымыраға келудің немесе біреуден рұқсат сұраудың қажеті жоқ, ал егер жаңа идея пайда болса, жай ғана отырып, оны жүзеге асыруға кірісе аласыз.
Жеке жобаларыңызда сізге жаңашылдық (профессорлар сияқты) немесе табыстылық (бизнес сияқты) туралы алаңдаудың қажеті жоқ. Жалғыз маңызды нәрсе — жобаның техникалық тұрғыдан қаншалықты қиындығы, ал оның қолданбаның сипатына ешқандай қатысы жоқ. Мәліметтер базасы сияқты «салмақты» қолданбалар техникалық жағынан көбінесе қарапайым әрі жалықтыратын болады (егер ұйқысыздықтан қиналсаңыз, деректер базасы туралы техникалық әдебиеттерді оқып көріңіз), ал ойындар сияқты «жеңілтек» қолданбалар көбінесе өте күрделі болып келеді. Менің ойымша, университеттердегі CS кафедраларының төменгі оннан тоғыз бөлігінің зерттеулеріне қарағанда, зияткерлік мазмұны әлдеқайда терең өнімдермен айналысатын ойын компаниялары бар.
Егер мен қазір колледжде оқысам, графикамен айналысар едім: мысалы, желілік ойын немесе 3D анимацияға арналған құрал. Мен студент кезімде графиканы қызықты ететіндей есептеу қуаты жеткіліксіз еді, бірақ қазір бұдан қызықтырақ нәрсені елестету қиын.
Математика
Мен колледжде оқып жүргенде көптеген профессорлар компьютерлік ғылымдарды математиканың бір саласы деп сенетін (немесе кем дегенде солай болуын қалайтын). Бұл идея Гарвардта ерекше күшті болды, онда 1980 жылдарға дейін тіпті CS мамандығы да болмаған; сол кезге дейін қолданбалы математика мамандығын оқу керек еді. Бірақ Корнеллде де жағдай одан аса жақсы емес-тін. Сол кездегі сұсты профессор Конвейге жасанды интеллектке (сол кездегі өзекті тақырып) қызығатынымды айтқанымда, ол маған математика мамандығына баруым керектігін айтты. Ол AI математиканы қажет етеді деп ойлады ма, әлде AI-ді бос сөз деп санап, қатаң ғылыммен айналысу мені мұндай ақымақ амбициялардан арылтады деп ойлады ма, әлі күнге дейін нақты білмеймін.
Шындығында, хакер ретінде сізге қажет математиканың мөлшері көптеген университет кафедралары мойындағысы келетіннен әлдеқайда аз. Менің ойымша, сізге орта мектеп математикасы мен есептеулер теориясының бірнеше тұжырымдамасынан артық көп нәрсе қажет емес. (n^2 алгоритмдерін жазбау үшін олардың не екенін білуіңіз керек.) Әрине, егер сіз математикалық қолданбалар жазуды жоспарламасаңыз. Мысалы, робототехника — түгелдей дерлік математика.
Бірақ хакерліктің көптеген түрлері үшін математика формулаларды дифференциалдаудың 1001 айласын білу мағынасында тікелей қажет болмағанымен, математиканы өз алдына оқу өте пайдалы. Бұл кез келген жұмыс түрі үшін метафоралардың құнды қайнар көзі.[3] Мен сол себепті колледжде математиканы көбірек оқымағаныма өкінемін.
Көптеген адамдар сияқты, мен де бала кезімде математикадан психологиялық зардап шектім. Мен математиканы әдемі де емес, өміріме ешқандай қатысы да жоқ (оларды «мәтіндік есептерге» айналдыруға тырысқанына қарамастан), бірақ емтихандарды жақсы тапсыру үшін жаттап алу керек болатын формулалар жиынтығы ретінде қабылдауды үйрендім.
Колледжде жасай алатын ең құнды нәрселердің бірі — математиканың шын мәнінде не туралы екенін түсіну болар еді. Бұл оңай болмауы мүмкін, өйткені көптеген жақсы математиктер нашар оқытушылар болып келеді. Математика туралы көптеген ғылыми-көпшілік кітаптар болғанымен, олардың көбі жақсы емес. Менің ойыма келетін ең жақсылары — У. У. Сойердің кітаптары. Және, әрине, Евклид. [4]
Барлық нәрсе
Томас Гаксли «Барлық нәрсе туралы бірдеңе және бір нәрсе туралы барлығын білуге тырыс» деген. Көптеген университеттер осы мұратты көздейді.
Бірақ «барлық нәрсе» деген не? Мен үшін бұл адамдардың күрделі мәселелермен адал жұмыс істеу барысында үйренетін барлық нәрсесін білдіреді. Мұндай жұмыстардың барлығы өзара байланысты болады, өйткені бір саланың идеялары мен әдістерін көбінесе басқа салаларға сәтті көшіруге болады. Тіпті мүлдем алыс көрінетін салаларға да. Мысалы, мен эсселерді бағдарламалық жасақтама жазатын сияқты жазамын: отыра қалып, қолым жеткенше тез жазып, нашарлау 1-нұсқасын шығарамын, содан кейін оны бірнеше апта бойы қайта жазып шығамын.
Күрделі мәселелермен жұмыс істеу өздігінен жеткіліксіз. Ортағасырлық алхимиктер күрделі мәселемен айналысты, бірақ олардың тәсілі соншалықты жалған болғандықтан, оны зерттеуден адамдардың өзін-өзі алдау қабілетінен басқа үйренетін ештеңе болмады. Өкінішке қарай, менің колледжде үйренуге тырысқан AI түрім де осындай кемшілікке ие еді: өте күрделі мәселеге мүлдем жарамсыз әдістермен бейқам кірісу. Батылдық па? Алаяқтыққа жақынырақ.
Әлеуметтік ғылымдар да біршама жасанды, өйткені олар зияткерлік сәнге өте қатты тәуелді. Егер физик 100 жыл бұрынғы әріптесімен кездессе, оған бірнеше жаңа нәрселерді үйрете алар еді; ал егер психолог 100 жыл бұрынғы әріптесімен кездессе, олар жай ғана идеологиялық дауға түсер еді. Иә, әрине, психология курсын оқу арқылы сіз бірдеңе үйренесіз. Мәселе мынада: басқа бөлімнің сабағын оқу арқылы көбірек нәрсе үйренесіз.
Менің ойымша, оқуға тұрарлық бөлімдер — математика, нақты ғылымдар, инженерия, тарих (әсіресе экономикалық және әлеуметтік тарих және ғылым тарихы), сәулет және классикалық пәндер. Өнер тарихы бойынша шолу курсы пайдалы болуы мүмкін. Заманауи әдебиет маңызды, бірақ оны үйренудің жолы — жай ғана оқу. Мен музыка туралы пікір айтатындай көп білмеймін.
Әлеуметтік ғылымдарды, философияны және саяси қысымдарға жауап ретінде жақында құрылған әртүрлі кафедраларды аттап өтуге болады. Бұл салалардың көбі, сөзсіз, маңызды мәселелерді қозғайды. Бірақ олардың бұл туралы айту тәсілі пайдасыз. Мысалы, философия басқа да мәселелермен қатар біздің бір-біріміздің алдындағы міндеттеріміз туралы айтады; бірақ бұл туралы академиялық философтан гөрі дана әжеден немесе Э. Б. Уайттан көбірек білуге болады.
Мен мұны өз тәжірибемнен айтып отырмын. Адамдар Клинтонның «Мұның бәрі 'is' (болу) деген сөздің нені білдіретініне байланысты» деген сөзіне күлгенде, менің намысыма тиюі керек еді. Мен колледжде «is» сөзінің мағынасы туралы шамамен бес курстан өткен болатынмын.
Қай салаларды оқуға тұрарлық екенін анықтаудың тағы бір жолы — оқудан шығып кетулер графигін құру. Мысалы, мен математиканы тым қиын деп тапқандықтан компьютерлік ғылымдарға ауысқан көптеген адамдарды білемін, бірақ керісінше жасаған бірде-бір адамды білмеймін. Адамдар қиын нәрселерді босқа жасамайды; ешкім күрделірек мәселемен айналыспайды, егер ол сәйкесінше (немесе кем дегенде log(n) деңгейінде) пайдалырақ болмаса. Сондықтан математиканы оқу компьютерлік ғылымдарға қарағанда тиімдірек шығар. Осыған ұқсас салыстырулар арқылы университеттегі барлық кафедралардың графигін құруға болады. Төменгі жағынан сіз зияткерлік мазмұны ең аз пәндерді табасыз.
Егер сіз осы әдісті қолдансаңыз, шамамен мен жаңа ғана айтқан жауапты аласыз.
Тіл курстары — аномалия. Менің ойымша, оларды қыш жасау сабақтары сияқты сабақтан тыс іс-шаралар ретінде қарастырған дұрыс. Олар сол тілде сөйлейтін елде біраз уақыт тұрумен ұштасқанда әлдеқайда пайдалы болар еді. Мен бірінші курста кенеттен араб тілін оқыдым. Бұл көп еңбекті талап етті, ал оның қалған жалғыз пайдасы — семит түбірлерін анықтаудың оғаш қабілеті және адамдардың сөздерді қалай танитыны туралы кейбір түсініктер болды.
Көркемөнер шеберханасы мен шығармашылық жазу курстары — белгісіздіктерге толы. Әдетте оларда көп нәрсе үйретпейді: сіз жай ғана өзіңіз қалаған нәрсемен айналысасыз (немесе айналыспайсыз), содан кейін мұғалімнің бұлыңғыр жетекшілігімен бір-біріңіздің туындыларыңызды «талқылап» отырасыз. Бірақ жазу да, өнер де — (кейбір) адамдар адал еңбек ететін өте күрделі мәселелер, сондықтан олармен айналысқан жөн, әсіресе жақсы мұғалім таба алсаңыз.
Жұмыс орындары
Әрине, колледж студенттері тек оқу туралы ғана ойламайды. Сонымен қатар ескеретін екі практикалық мәселе бар: жұмыс және магистратура/докторантура.
Теориялық тұрғыдан алғанда, гуманитарлық білім кәсіптік дайындықты қамтамасыз етуге арналмаған. Бірақ мұның біраз жалған екенін бәрі біледі. Әр колледждегі хакерлер практикалық дағдыларды кездейсоқ үйренбейді.
Жұмысқа орналасу үшін нені үйрену керектігі сіз қалайтын жұмыс түріне байланысты. Егер үлкен компанияда жұмыс істегіңіз келсе, Windows жүйесінде Blub арқылы бағдарламалауды үйреніңіз. Егер сіз шағын әрі керемет компанияда немесе ғылыми зертханада жұмыс істегіңіз келсе, Linux жүйесінде Ruby үйренгеніңіз жөн. Ал егер өз компанияңызды ашқыңыз келсе (бұл барған сайын кең тарай түседі деп ойлаймын), қолыңыздан келетін ең қуатты құралдарды меңгеріңіз, өйткені сіз бәсекелестеріңізбен жарысқа түсесіз, ал бұл құралдар сіздің тұлпарыңыз болады.
Колледжде үйренуге тиіс дағдылар мен жұмыста қолданатын дағдылар арасында тікелей сәйкестік жоқ. Колледжде сәл жоғарырақ деңгейді мақсат етуіңіз керек.
Жаттығу кезінде футболшы ойын барысында ешқашан мұндай күш жұмсамауы мүмкін болса да, 300 фунтты жатып көтеруі мүмкін. Сол сияқты, егер сіздің профессорларыңыз жұмыста қажет болатыннан гөрі күрделірек нәрселерді үйретуге тырысса, бұл олардың шынайы өмірден алшақ академик болғанынан ғана емес. Олар сіздің миыңызға салмақ салып шынықтырғысы келуі мүмкін.
Сабақта жазатын бағдарламаларыңыз нақты өмірде жазатын бағдарламаларыңыздан үш маңызды жағынан ерекшеленеді: олар кішкентай; сіз оларды нөлден бастайсыз; және мәселе әдетте жасанды әрі алдын ала анықталған. Нақты өмірде бағдарламалар үлкенірек болады, көбінесе бұрыннан бар кодпен жұмыс істеуді талап етеді және оны шешпес бұрын мәселенің не екенін анықтауыңыз керек болады.
Бұл дағдыларды үйрену үшін колледжді бітіруді (немесе тіпті оған түсуді) күтудің қажеті жоқ. Мысалы, егер сіз бар кодпен қалай жұмыс істеу керектігін үйренгіңіз келсе, ашық бастапқы кодты жобаларға үлес қоса аласыз. Сіз жұмыс істегіңіз келетін жұмыс берушіге бұл сабақ тапсырмаларындағы жақсы бағалар сияқты әсер етеді.
Қолданыстағы ашық бастапқы кодты жобаларда сіз үшінші дағдыны, яғни қандай мәселелерді шешу керектігін анықтауды көп жаттыға алмайсыз. Бірақ өзіңіздің жаңа жобаларыңызды бастауға ештеңе кедергі емес. Және жақсы жұмыс берушілерге бұл одан да үлкен әсер қалдырады.
Қандай мәселені шешуге тырысу керек? Бұған жауап берудің бір жолы — пайдаланушы ретінде сізге не қажет екенін сұрау. Мысалы, мен спам алуды тоқтатқым келгендіктен, спамды сүзудің жақсы алгоритмін кездейсоқ тауып алдым. Қазір менің қалайтыным — кіріс жәшігімнің толып кетуіне қандай да бір жолмен жол бермейтін пошта оқу құралы болса екен деймін. Мен кіріс жәшігімді орындалатын істер тізімі ретінде пайдалануға бейіммін. Бірақ бұл бөтелкелерді бұрауышпен ашумен бірдей; адамға шын мәнінде керегі — бөтелке ашқыш.
Магистратура және докторантура
Ал ғылыми оқу орны (grad school) ше? Бару керек пе? Оның жақсысына қалай түсуге болады?
Негізінде, grad school — бұл зерттеу бойынша кәсіби дайындық, егер сіз ғылымды мансап ретінде таңдағыңыз келмесе, онда бармағаныңыз жөн. Дегенмен, CS бойынша PhD дәрежесін алғандардың жартысы ғылыммен айналыспайды. Мен профессор болу үшін grad school-ға барған жоқпын. Мен көбірек білгім келгендіктен бардым.
Сондықтан, егер сізді негізінен хакерлік қызықтырса және сіз магистратура/докторантураға барсаңыз, сіз сияқты өз орнында жүрмеген көптеген адамдарды табасыз. Ал егер айналаңыздағы адамдардың жартысы сіз сияқты өз орнында болмаса, сіз шынымен де өз орныңызда емессіз бе?
«Компьютерлік ғылымдарда» іргелі мәселе бар және ол осындай жағдайларда көрінеді. «Зерттеудің» не болуы керектігін ешкім нақты білмейді. Көптеген зерттеулер — бұл тағы бір жарияланым квантын алу үшін академиялық мақала түріне мәжбүрлеп сыйғызылған хакерлік жұмыс.
Сондықтан grad school-да өзіңізді өз үйіңіздегідей сезінесіз бе деп сұрау біршама жаңылыстырады, өйткені компьютерлік ғылымдарда өзін толықтай жайлы сезінетін адамдар өте аз. Бұл сала толығымен өз табиғатынан өзі қысылады. Сондықтан сізді негізінен хакерліктің қызықтыруы grad school-ға барудан бас тартуға себеп болмауы керек. Тек өзіңізге ұнамайтын көп нәрсені жасауға тура келетінін ескеріңіз.
Біріншісі — сіздің диссертацияңыз болады. Оны бітірген кезде барлығы дерлік өз диссертациясын жек көріп кетеді. Бұл процесс өзінің табиғаты бойынша тұтас бидай ұнынан жасалған және он екі сағат бойы пісірілген торт сияқты жағымсыз нәтиже береді. Диссертацияларды рахаттанып оқитындар аз, әсіресе олардың авторлары.
Бірақ сізге дейін мыңдаған адам диссертация жазу азабынан өтті. Ал одан бөлек, grad school жұмаққа өте жақын. Көптеген адамдар оны өмірлерінің ең бақытты кезеңі ретінде еске алады. Ал қалғандарының барлығы дерлік, оның ішінде мен де, диссертация жазудың қажеті болмағанда, солай болар еді деп еске алады. [5]
Grad school-дың қаупі мынада: сіз қорқынышты бөлігін алдын ала көрмейсіз. PhD бағдарламалары бірнеше жылдық сабақтарымен колледждің 2-бөлімі ретінде басталады. Сондықтан сіз диссертация жазу қорқынышымен бетпе-бет келгенде, бірнеше жыл өтіп кеткен болады. Егер сіз қазір тастап кетсеңіз, grad school-дан шығып кеткен адам боласыз, ал сізге бұл идея ұнамауы мүмкін. Роберт 1988 жылғы Интернет құртын жазғаны үшін оқудан шығарылған кезде, мен оған сәтсіздік таңбасынсыз шығудың жолын тапқаны үшін қатты қызғанған едім.
Тұтастай алғанда, grad school көптеген баламалардан жақсырақ шығар. Сіз көптеген ақылды адамдармен кездесесіз және сіздің тұнжыраған ертеңге қалдыруыңыз (прокрастинация) кем дегенде күшті ортақ байланыс болады. Және, әрине, соңында сізде PhD дәрежесі болады. Мен бұл туралы ұмытып кетіппін. Бұл бірдеңеге тұрарлық шығар.
PhD дәрежесінің ең үлкен артықшылығы (әрине, академияның кәсіподақ билеті болуынан басқа) сізге белгілі бір базалық сенімділік беретіндігінде болуы мүмкін. Мысалы, менің үйімдегі Honeywell термостаттарының UI өте сұмдық. Дәл осындай моделі бар анам оны қалай басқару керектігін білу үшін күні бойы пайдаланушы нұсқаулығын мұқият оқып шықты. Ол мәселе өзінде деп ойлады. Бірақ мен ішімнен: «Егер компьютерлік ғылымдар бойынша PhD дәрежесі бар адам бұл термостатты түсіне алмаса, бұл міндетті түрде нашар жасалған» деп ойлай аламын.
Егер сіз осы екіұшты ұсыныстан кейін де grad school-ға барғыңыз келсе, мен сізге қалай түсу керектігі туралы нақты кеңес бере аламын. Менің көптеген достарым қазір CS профессорлары, сондықтан мен қабылдау туралы ішкі жағдайды білемін. Бұл колледжден мүлдем өзгеше. Көптеген колледждерде қабылдау комиссиясының қызметкерлері кімнің оқуға түсетінін шешеді. PhD бағдарламалары үшін мұны профессорлар жасайды. Және олар мұны жақсы жасауға тырысады, өйткені олар қабылдаған адамдар өздері үшін жұмыс істейтін болады.
Ең жақсы университеттерде тек ұсыныс хаттар ғана шынымен маңызды сияқты. Стандартталған тесттер ештеңеге татымайды, ал бағалар өте аз рөл атқарады. Эссе — негізінен ақымақ бірдеңе айту арқылы өзіңізді жарамсыз ету мүмкіндігі. Профессорлар сенетін жалғыз нәрсе — ұсыныс хаттар, жақсысы өздері білетін адамдардан болғаны абзал. [6]
Сондықтан, егер сіз PhD бағдарламасына түскіңіз келсе, бастысы — профессорларыңызға әсер қалдыру. Ал менің профессор достарымнан оларға не әсер ететінін білемін: оларға жай ғана әсер қалдыруға тырыспау. Жақсы баға алатын немесе магистратураға түсу үшін олардың ғылыми көмекшісі болғысы келетін студенттер оларға әсер етпейді. Оларға жақсы баға алып, тақырыпқа шын жүректен қызыққандықтан олардың ғылыми ассистенті болғысы келетін студенттер әсер етеді.
Сондықтан колледжде жасай алатын ең жақсы нәрсе — grad school-ға түскіңіз келсе де, немесе жай ғана хакерлікті жақсы меңгергіңіз келсе де — өзіңізге шын мәнінде не ұнайтынын анықтау. Профессорларды алдап оқуға түсу қиын, ал мәселелерді алдап оларды шешу мүмкін емес. Колледж — бұл өтіріктің жүрмейтін жері. Осы сәттен бастап, егер сіз үлкен компанияға жұмысқа барғыңыз келмесе (бұл мектепке қайта оралумен бірдей), алға басудың жалғыз жолы — өзіңіз жақсы көретін іспен айналысу.
Ескертпелер
[1] Бұған ешкім мән бермеген сияқты, бұл 1984 жылдың өзінде Arpanet-тің (кейін Интернетке айналған) қаншалықты маңызды емес болғанын көрсетеді.
[2] Сондықтан мен жұмыс беруші болған кезімде GPA-ге мән берген жоқпын. Шын мәнінде, біз оқудан шығып қалған адамдарды белсенді түрде іздедік. Бірде біз Гарвардтың айналасына: «Барлық уақытыңызды өз жобаңызға арнағандықтан сабақты нашар оқып, оқудан енді ғана шығарылдыңыз ба? Бізге жұмысқа келіңіз!» деген плакаттар іліп қойдық. Біз сондай бір баланы таба алдық және ол тамаша хакер болып шықты.
Гарвард студенттерді бір жылға оқудан шығарғанда, олар жұмысқа орналасуы керек. Мақсат — шынайы өмірдің қаншалықты сұмдық екенін көрсету, сонда олар колледжде оқудың қандай бақыт екенін түсінеді. Бізге жұмысқа келген жігітпен бұл жоспар кері нәтиже берді, өйткені оның уақыты мектептегіден гөрі қызықтырақ өтті және сол жылы акция опциондарынан оның кез келген профессорының жалақысынан көп табыс тапты. Сондықтан жылдың соңында өкініп қайтып оралудың орнына, ол тағы бір жыл демалыс алып, Еуропаға кетіп қалды. Ол ақыры шамамен 26 жасында оқуын бітірді.
[3] Эрик Реймонд хакерлер үшін ең жақсы метафоралар жиындар теориясында, комбинаторикада және графтар теориясында екенін айтады.
Тревор Блэквелл математика мамандықтарына арналған математика сабақтарын алуды ескертеді. «'Инженерлерге арналған математика' сабақтары өте нашар болды. Шындығында, кез келген 'инженерлерге арналған х' нашар, мұндағы х математиканы, құқықты, жазуды және визуалды дизайнды қамтиды».
[4] Басқа да өте ұсынылатын кітаптар: Курант пен Роббинстің Математика дегеніміз не? (What is Mathematics?); Гильберт пен Кон-Фоссеннің Көрнекі геометрия (Geometry and the Imagination) кітабы. Ал графикалық дизайнға қызығушылық танытатындар үшін — Бирннің Евклиді.
[5] Егер сіз мінсіз өмір сүргіңіз келсе, grad school-ға барып, алғашқы бір немесе екі жылда диссертацияңызды жасырын жазып алып, содан кейін әр уақытта бір тараудан ғана шығарып, келесі үш жыл бойы жай ғана рахаттанып өмір сүру керек еді. Бұл мүмкіндік ғылыми студенттердің тәбетін ашады, бірақ мен мұны жүзеге асыруға тәртібі жеткен ешкімді білмеймін.
[6] Бір профессор досым олар әр жылы қабылдайтын grad student-тердің 15-20%-ы «тәуекелді үміткерлер» (long shots) екенін айтады. Бірақ оның тәуекелді дегені — қабылдау комиссиясындағы ешкім ұсыныс хат жазған профессорларды танымайтынын қоспағанда, өтінімдері барлық жағынан мінсіз адамдар.
Сондықтан, егер сіз нақты ғылымдар бойынша grad school-ға түскіңіз келсе, нағыз ғылыми-зерттеу профессорлары бар колледжге баруыңыз керек. Әйтпесе, сіз қаншалықты мықты болсаңыз да, қабылдау комиссиялары үшін тәуекелді ставка сияқты көрінесіз.
Бұл таңқаларлық, бірақ болмай қоймайтын салдарды көрсетеді: шағын гуманитарлық өнер колледждері (liberal arts colleges) құрдымға кетуге мәжбүр. Мектептің көптеген зерек оқушылары, тіпті соңында таңдамаса да, кем дегенде нақты ғылымдарға баруды қарастырады. Олар өз мүмкіндіктерін шектейтін колледжге не үшін баруы керек?
Осы эссенің нобайларын оқып шыққан Тревор Блэквеллге, Алекс Левинге, Джессика Ливингстонға, Роберт Морриске, Эрик Реймондқа және бірнеше анонимді CS профессорларына, сондай-ақ бұған түрткі болған сұрақтарды қойған студенттерге алғыс айтамын.