Как да станете разработчик на React след 5 месеца

Историята за това как преминах от нетехнически към нает React разработчик.

Когато бях на 29 години, преминах от хоби програмист към професионален фронт разработчик. Този преход е едно от най-полезните неща, които някога съм правил, както в личен, така и в професионален план.

Лично това ми даде увереност, че мога да науча каквото искам, а в професионален план това беше ключово за кариерата ми. Днес съм съосновател на Scrimba, платформа за обучение, която учи над 100 000 души да кодират всеки месец. Просто не бих могъл да имам тази роля, ако не знаех как да кодирам.

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

Но имайте предвид, че пътят, който поех, не е непременно най-ефективният, тъй като включва кодиращ bootcamp. Това само по себе си може да е скъпо и за този период ще останете без заплата.

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

Но ако сте отворени за кодиране на bootcamp, моля, прочетете нататък.

Закриване на предишното ми стартиране

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

Въпреки че със сигурност беше гадно да се откажа, той ми даде и възможността да направя това, което исках да направя от около 2011 г., което беше да науча правилно как да кодирам.

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

Курсовете, с които започнах, беше „Въведение в компютърните науки и кодиране за предприемачи на Udacity на Udemy“ И двамата са страхотни, въпреки че не завърших нито един от тях.

Както и да е, продължаването на обучението ми самостоятелно онлайн не беше опция. Исках интензивен личен курс, тъй като знаех, че това ще увеличи шансовете ми да успея да осъществя прехода. Исках среда, в която да прекарвам 100% от времето си в кодиране заедно с други. Затова разрових всички кодиращи лагери за кодиране, които можах да намеря и приложих към следното:

  • Dev Bootcamp
  • Планина Дев
  • Училище Флатирон
  • Основатели и кодери (FAC)
  • HackerShip
  • Хак реактор
  • MakerSquare
  • Център за рекурс

Бях приет във всички, с изключение на Hack Reactor и Recurse Center. Ако обмисляте да направите сами кодиращ bootcamp, бих ви препоръчал да направите същото. Кандидатствайте за всички училища, които ви се струват интересни, и след това започнете да филтрирате. Като разговаряте с хората, които работят там и изпитват процеса на кандидатстване, ще придобиете добра представа за качеството и философията на училището, и двете от които са изключително важни.

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

Чувал съм истории за кодиране на bootcamps, които са основно измами, така че бъдете внимателни и придирчиви, когато изберете такъв!

Ако искате да сте 100% сигурни, че bootcamp е сериозен, трябва да помислите за такъв, който има опция Плащане по-късно, като V School. Тогава сте гарантирани, че целите им са съобразени с вашите.

Както и да е, след много напред-назад, последвано от убедителен чат с брилянтния шеф на основателите и кодерите Дан Софер, най-накрая реших да се преместя в Лондон и да се присъединя към FAC.

Философията на основателите и кодерите

FAC не е като всеки друг bootcamp. На първо място, това е напълно безплатно. Това означаваше, че мога да си го позволя, без да взема заем, което не би било така за останалите лагери, тъй като тяхното обучение обикновено е между десет и петнадесет хиляди щатски долара. Второ, FAC е изцяло базиран на проекти, което ми харесва, тъй като винаги съм научавал повече от практикуване на неща, отколкото четене за тях.

Липсата на обучение означава, че те не могат да наемат учители на пълен работен ден, така че то се основава на обучението от равнопоставени партньори, където най-вече научавате неща от съучениците си и сами. Получавате помощ и от предишни кохорти, тъй като те се придържат и помагат на нови студенти, докато работят върху собствените си консултантски концерти. FAC има и двама велики ментори Нелсън Корея и Инес Телес, които оказват безценна помощ на студентите и организацията.

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

Това обаче не е най -лесният начин да се научите как да кодирате. Не можете просто да вдигнете ръка и да получите отговора от учител всеки път, когато сте заседнали, което бих предположил, че можете да направите на начален лагер от 10–15 000 USD. Във FAC трябва да го разследвате сами и заедно с връстниците си, което изисква много самодисциплина.

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

Така че, ако преминете през FAC, никога повече няма да се страхувате да се справите с техническо предизвикателство. Освен това ще получите много нови приятели.

Преминаването през FAC най-вероятно ще промени живота ви към по-добро.

Част 1 - Осем проекта

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

В допълнение към това, всяка сутрин имахме предизвикателство за кодиране, където практикувахме основните умения на Javascript.

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

Също така отбелязах технологиите, които научихме през съответните седмици. Плюс това, седмичните задания са описани по-подробно в тази gitbook, за тези, които се интересуват от повече информация.

  • Седмица 1: Екипен блог - HTML / CSS, jQuery, Github Pages
  • Седмица 2: API на Guardian - уеб API, Ajax
  • Седмица 3: Социална стена - Сървъри, Node.js
  • Седмица 4: InstagramFeed - Heroku, MongoDB
  • Седмица 5: StopGoContinue - D3.js
  • Седмица 6: Бележки - React.js
  • Седмица 7: Блог - Предаване от страна на сървъра, бисквитки
  • Седмица 8: Блог - Hapi.js

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

През делничните дни мисля, че средно съм кодирал около 10 часа на ден или съм научил за кодирането, което означава, че съм събрал малко под 1000 часа през четирите си месеца в Лондон.

Намиране на моята React ниша

Както можете да видите, започнахме да използваме React.js през седмица 6. Веднага ми беше приятно да работя с него и ми хареса мисълта, че мога да разработя и местни мобилни приложения (React Native). Затова реших да продължа да използвам React колкото е възможно повече по време на курса.

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

Деветата седмица на проекта включваше изграждането на наш собствен продукт, тъй като FAC също иска да вдъхнови учениците да направят свои собствени неща. Екипът ми създаде малък инструмент за анализ на ключовата дума на приложението ви за iOS, наречен KeywordKing, за който можете да прочетете тук.

Част 2 - Изграждане на MVP за клиенти

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

Работи по следния начин: за £ 500 екип от 3–5 студенти ще изгради прототип за една седмица. За нас това беше начин да се научим как да работим с клиенти, плюс да разширяваме допълнително своите умения за кодиране, като същевременно печелим малко пари. За клиента това беше шанс да получи евтин MVP, изграден бързо. И без да рискуват пари, тъй като те ще бъдат фактурирани само ако са доволни от резултата, какъвто са повечето клиенти (но не всички).

През тези седмици изградих следните проекти заедно с различни други студенти:

  • Сър Predictalot - прототип за приложение за прогнози за новини на Tinder'ish
  • Трол-Олав - детски пъзел
  • RateMyStuff - социална мрежа, базирана на оценка на изображението
  • Squish - подсилен инструмент за учене за ученици

Направих и едноседмичен каскадьор за машинно обучение, за който съм писал тук, в допълнение към създаването на няколко учебни видеоклипа по темата (извинете за ужасното аудио).

По това време бях прекарал около четири месеца в Лондон и беше време да се върна обратно в Норвегия, където остана остатъкът от живота ми.

Обратно в Норвегия

Вкъщи моят план беше да се занимавам с професионално кодиране възможно най-скоро, тъй като трябваше да практикувам прясно придобитите си знания, за да го запазя.

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

Затова изпратих три кандидатури за работа на компании, които се нуждаеха от разработчици на Javascript. Двама от тях ме поканиха на интервю.

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

Работа в мрежа за намиране на перфектната работа

Приблизително по същото време обаче присъствах на стартиращо събитие, организирано от предприемач, когото познавах малко. Той беше главен технически директор на добре финансиран стартъп на име Xeneta, на който бях фен от няколко години. Според уебсайта им те търсят разработчици от предния край - и всъщност споменават React.js като една от използваните от тях технологии.

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

Следващата седмица отидох на първото интервю и след това на още два кръга от интервюта. След това ми изпратиха предизвикателство за кодиране.

Правете предизвикателство за наемане

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

На първо място, прекарах много повече време от очакваното. Получих задачата в края на седмица и ми казаха, че не е нужно да отделям много време за нея. Но да го направя бързо не беше опция за мен. Затова попитах дали мога да го доставя през уикенда, с което те бяха добре. След това прекарах целия уикенд, работейки върху него. Прегледах всеки ред код, като се уверих, че е СУХ, лесен за четене и небрежен.

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

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

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

Получаване на офертата

На 26 юни - точно пет месеца след първия ми ден в Founders and Coders - стигнахме до споразумение и аз бях нает като фронт енд разработчик.

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

След като работих там малко повече от година, предишният ми съосновател Синдре Аршетер ми показа ранен прототип на Скримба и ме попита дали бих се заинтересувал да се присъединя към него и да изгради компания около него. Веднага харесах технологията и се възползвах от възможността. И дължа всичко на това, че всъщност се уча как да програмирам и ставам професионален разработчик. Без този опит не бих могъл да стана съосновател на Скримба.

Оттогава разраснахме платформата от нищо на над 100 000 активни потребители месечно. Това беше фантастично пътуване и хората всеки ден ни казват колко много им помага да се научат да кодират.

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

Късмет :)