Як зламати власну ступінь CS безкоштовно в Інтернеті

Я не маю ступеня інформатики, тому мені довелося створити свій власний.

Коли я закінчив навчальний табір з кодування п’ять років тому, я був абсолютно не готовий до технічних співбесід. Мій bootcamp з кодування не просто витратив короткий час (менше кількох днів!) На алгоритми та співбесіду з кодуванням, але я за цей час захворів.

Інші кандидати, які претендували на ті самі робочі місця, що і я, пройшли чотири роки в школі, працюючи за ступенем інформатики. Я провів три місяці в bootcamp, де вивчив деякі основні поняття, Rails, і навчив себе Angular.js.

За останні кілька років мені довелося заповнити прогалини у своїх знаннях ресурсами, які я міг знайти в Інтернеті та безкоштовно. Я працював старшим інженером у таких компаніях, як Eventbrite, і навіть написав книгу О'Рейлі. Я є доказом того, що для досягнення успіху в якості інженера вам не потрібен ступінь CS.

Ось як я це зробив.

Вступ до інформатики

Перш ніж намагатися зануритися в складні заняття з CS, я рекомендую розпочати з курсу основ. Це допоможе вам отримати надійний огляд, а також допоможе вам почуватись трохи менш заляканими. Якщо ви витратите якийсь час на отримання солідного огляду, решта ваших безкоштовних класів CS буде набагато простішою.

Моїм улюбленим курсом був CS50: Вступ до комп’ютерних наук Гарварда.

Це, мабуть, одне з моїх улюблених занять усіх часів. Мені завжди подобалася ідея Гарварду, тому для мене було якось неважко взяти там безкоштовний клас інформатики. Я навіть коротко думав про те, щоб пройти одну з Гарвардських сертифікацій для програмування, але це було дорого, тому я дотримався безкоштовного курсу CS50.

Я не отримав сертифікат з Гарвардом CS50. Я думав, було б настільки ж потужним перерахувати курс у своєму резюме. Моє загальне правило, що стосується оплати онлайн-сертифікату, полягає в тому, що якщо це не сертифікат AWS від Amazon, це, мабуть, не варто.

Якщо ви відчуваєте залякування, починаючи з курсу Гарварду (що я теж робив!), Ви можете знайти простіший курс в Інтернеті, щоб почувати себе комфортніше, перш ніж переходити до складних тем.

Інформатика 101 - це вступ до інформатики з самого початку. Ви дізнаєтесь, як працює Інтернет, трохи про комп'ютерну безпеку, що таке гігабайт, деякі знання кодування та багато іншого.

Алгоритми

Почніть із алгоритмів далі. Університет Сан-Дієго пропонує безкоштовний курс "Структури даних та спеціалізація алгоритмів", який має величезну кількість вмісту.

Вражаюче, якщо ти подивишся весь цей курс і думаєш, що потрібно відразу його закінчити і все зрозуміти. Спробуйте зосередитися на одному розділі і регулярно переглядати концепції.

І якщо відвідування університетського курсу щодо структур даних та алгоритмів трохи заважає, можна починати з малого.

Udacity має безкоштовний курс «Вступ до структур даних та алгоритмів». Я люблю відвідувати безкоштовні курси з Udacity, і цей має масу чудової інформації. Ви охопите масиви, зв’язані списки, стеки, двійковий пошук, карти, купи та багато іншого. Цей курс може дати вам чудовий огляд, який допоможе вам досягти успіху в більш складному курсі університету Сан-Дієго.

Якщо після закінчення вступного курсу ви почуваєтесь сміливо, MIT пропонує курс з розширених структур даних.

Операційні системи

Udacity має досить прохолодний безкоштовний контент. Вони пропонують клас «Введення в операційні системи» від Georgia Tech. Цей курс проведе вас через потоки, паралелізм, розподілені системи тощо.

Я також з’ясував, що книга «Операційні системи: три прості п’єси» доступна в Інтернеті та безкоштовно. Такі книги справді допомогли мені почуватися впевненіше в розмові про паралельність та наполегливість.

Бази даних

Бази даних повністю збентежили мене, коли я вперше розпочав свою діяльність. Я намагався якомога раніше уникати співпраці з ними. Я постійно звертався за допомогою до старшого інженера і думав, оскільки я не мав ступеня спеціаліста, я не повинен працювати з базою даних.

Ого, я так помилився.

Нарешті я набрався сміливості попрацювати з деяким серверним кодом, і мені сподобалось знаходити, як я можу писати ефективні запити на отримання даних із серверної бази та писати запити.

Стенфорд пропонує безкоштовний онлайн-курс з баз даних. І якщо це занадто лякає для початку, Udacity пропонує безкоштовний курс з баз даних, з яким буде набагато простіше працювати.

Математика

Коли я роздумував про ступінь CS в коледжі, всі казали мені, що мені потрібно справді добре володіти математикою. Я так і не здобув ступінь КС, а через п’ять років мені ще не потрібно було багато використовувати математику.

Але математика може навчити вас логіці, яка, у свою чергу, може допомогти вам стати кращим програмістом.

На щастя, MIT пропонує курс математики для інформатики безкоштовно. Проходження курсу на зразок математики для комп’ютерних наук може також допомогти відкрити вам більше можливостей у галузі технологій, таких як створення власного ступеня машинного навчання.

Я дізнався про курс математики для інформатики в Массачусетському технологічному інституті від TeachYourselfCS, який є чудовим веб-сайтом з масою ресурсів для вивчення інформатики.  

TeachYourselfCS також запропонував курс лінійної алгебри, який доступний на YouTube. Я люблю безкоштовний контент, тому я був дуже радий, що цю книгу про Лінійну алгебру також можна отримати в Інтернеті безкоштовно.

Отже, як бачите, для того, щоб бути інженером, вам не потрібен ступінь CS. Деякі з найрозумніших інженерів, з якими я коли-небудь працював, не мали ступеня CS. Іноді вони взагалі не мали жодного ступеня.

Не хвилюйтеся, якщо у вас немає ступеня. Вам просто потрібно вміти виконувати цю роботу.

Я пишу книгу про те, як можна стати видатним розробником, пройти співбесіду та влаштуватися на роботу. Дізнайтеся більше тут.