Как да хакнем заедно вашата собствена CS степен онлайн безплатно

Нямам степен по компютърни науки, така че трябваше да създам своя собствена.

Когато завърших кодиращ bootcamp преди пет години, бях напълно неподготвен за технически интервюта. Моят кодиращ bootcamp не само прекара кратко (по-малко от няколко дни!) Време за алгоритми и интервю за кодиране, но през това време бях болен.

Други кандидати, кандидатстващи за същите работни места като мен, имаха четири години в училище, работещи по тяхната степен по компютърни науки. Имах три месеца в bootcamp, където научих някои основни понятия, Rails, и се научих на Angular.js.

През последните няколко години трябваше да запълня пропуските в знанията си с ресурси, които мога да намеря онлайн и безплатно. Работил съм като старши инженер в компании като Eventbrite и дори съм написал книга на O'Reilly. Аз съм доказателство, че не се нуждаете от CS степен, за да успеете като инженер.

Ето как го направих.

Въведение в компютърните науки

Преди да се опитате да се потопите в сложни класове по CS, препоръчвам ви да започнете с курс по основите. Това ще ви помогне да получите солиден преглед и също така ще ви помогне да се чувствате малко по-малко сплашени. Ако прекарате известно време, за да получите солиден обзор, останалите безплатни класове по CS ще бъдат много по-лесни.

Любимият ми курс беше CS50: Въведение в компютърните науки от Харвард.

Това е може би един от любимите ми часове за всички времена. Винаги съм харесвал идеята за Харвард, така че не ми беше много лесно да взема безплатен час по компютърни науки там. Дори накратко обмислях да завърша едно от Харвардските сертификати за програмиране, но беше скъпо, затова останах с безплатния курс CS50.

В крайна сметка не получих сертификата с Harvard CS50. Мислех, че би било също толкова мощно да изброя курса в автобиографията си. Моето общо правило, когато става въпрос за плащане на онлайн сертификат, е, че освен ако не е сертификат AWS от Amazon, вероятно не си струва.

Ако се чувствате уплашени, започвайки с курс в Харвард (което направих и аз!), Можете да намерите по-лесен курс онлайн, за да се чувствате по-комфортно, преди да влезете в сложни теми.

Computer Science 101 е въведение в компютърните науки от самото начало. Ще научите как работи интернет, малко за компютърната сигурност, какво е гигабайт, някои познания за кодиране и други.

Алгоритми

След това започнете с алгоритмите. Университетът в Сан Диего предлага безплатен курс „Структури на данни и специализация на алгоритми“, който разполага с огромно количество съдържание.

Поразяващо е, ако погледнете целия този курс и помислите, че трябва да го завършите веднага и да разберете всичко. Опитайте да се фокусирате върху един раздел наведнъж и редовно да преглеждате концепциите.

И ако посещаването на университетски курс по структури от данни и алгоритми ви кара леко да се размивате, можете да започнете от малко.

Udacity има безплатен курс „Въведение в структурите на данните и алгоритмите“. Обичам да посещавам безплатни курсове по Udacity и този има много чудесна информация. Ще покриете масиви, свързани списъци, стекове, двоично търсене, карти, купчини и много други. Този курс може да ви даде чудесен преглед, който ще ви помогне да успеете в по-сложния курс от университета в Сан Диего.

Ако се чувствате смели, след като завършите уводен курс, MIT предлага курс по Разширени структури от данни.

Операционна система

Udacity има доста готино безплатно съдържание. Те предлагат клас, наречен Въведение в операционните системи, който е от Georgia Tech. Този курс ще ви преведе през нишки, съвпадение, разпределени системи и други.

Също така разбрах, че книгата „Операционни системи: три лесни парчета“ е достъпна онлайн и безплатно. Книги като тази наистина ми помогнаха да се чувствам по-уверен в разговорите за съвпадение и постоянство.

Бази данни

Базите данни ме объркаха напълно, когато започнах за първи път. Опитах се да избегна работата с тях колкото е възможно по-рано. През цялото време исках помощ от старши инженер и си мислех, тъй като нямах CS степен, не би трябвало да работя с база данни.

Леле, толкова греших.

Най-накрая получих смелостта да работя с някакъв бекенд код и обичах да откривам как мога да пиша ефективни заявки за получаване на данни от бекенда и да пиша заявки.

Станфорд предлага безплатен онлайн курс за бази данни. И ако това е твърде плашещо, за да започнете, Udacity предлага безплатен курс за бази данни, който ще бъде много по-лесен за работа.

Математика

Когато обмислях CS степен в колеж, всички ми казваха, че трябва да съм наистина добър в математиката. Никога не съм получил CS степен и пет години по-късно все още не ми се налага да използвам много математика.

Но математиката може да ви научи на логика, която от своя страна може да ви помогне да станете по-добър програмист.

За щастие, MIT предлага безплатно курс по математика за компютърни науки. Посещаването на курс като Математика за компютърни науки също може да ви помогне да отворите повече възможности в областта на технологиите, като създаване на собствена степен по машинно обучение.

Разбрах за курса по математика за компютърни науки на MIT от TeachYourselfCS, който е страхотен уебсайт с много ресурси за изучаване на компютърни науки.  

TeachYourselfCS също предложи курс по линейна алгебра, който е достъпен в YouTube. Обичам безплатното съдържание, така че бях изключително щастлив да намеря тази книга за Линейна алгебра, достъпна и онлайн безплатно.

Така че, както виждате, не се нуждаете от CS степен, за да бъдете инженер. Някои от най-умните инженери, с които съм работил, нямат CS степен. Понякога изобщо не са имали никаква степен.

Не се притеснявайте, ако нямате диплома. Просто трябва да можете да свършите работата.

Пиша книга за това как можете да станете изключителен разработчик, да вземете интервюто и да си намерите работа. Научете повече тук.