Колко време отнема безплатния лагер за кодове?

Прекарах края на зимата в кабина със слънчево захранване и отопление в Северна Юта. Нямаше душ, но монтирахме сателит на покрива и успяхме да вкараме по-бърз интернет от моя апартамент в Сан Франциско. Реших да се науча да кодирам.

Исках да използвам изолацията, за да науча нещо ново. Откакто се помня, съм технически настроен, но предишните ми опити за кодиране дадоха неспектаклични резултати.

Научих някои C ++ в гимназията, но предимно написах гигантски повтарящ се код, защото не разбирах функции. Взех Visual Basic .NET курс в undergrad, но имам почти нулева памет за това, което се случи там. Преработих курса на JavaScript на Codecademy преди няколко години от хамак в Гватемала.

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

Много е писано за „защо да кодирам“, така че няма да победя мъртъв кон тук.

Кратката версия е следната: интелигентните хора изглежда се съгласяват, че да знаеш как да кодираш е множител на сила за почти всичко останало в живота ти.

След като се разрових онлайн, за да определя най-доброто място за започване, реших да започна да работя чрез Free Code Camp. На второ място беше The Odin Project, но Reddit изглежда се съгласи, че FCC е по-силната отправна точка. И по каквато и причина да се доверявам на ума на Reddit, когато става въпрос за тези неща.

Затова си поставих малка първоначална цел от 2 часа / ден и инсталирах RescueTime, за да се проследя. Ето бегъл поглед как е протекло.

ДЕН 1

Работих бързо през първите три секции. HTML5 / CSS, Responsive Design с Bootstrap и jQuery имаха приблизително общо време за завършване от 13 часа, но според RescueTime ги нокаутирах само за четири. В този момент се чудех дали не правя нещо нередно, но реших да се поздравя и да продължа напред.

ДЕН 3–4

Бях на ролка и се движех безпроблемно през основния раздел Javascript. Рано сутринта на Ден 3 започнах да се чувствам заседнал за първи път при упражнение за търсене на профил, включващо използването на цикъл за итерация през масив от обекти. Но към 22:30 вече бях стигнал почти до половината от скриптове за основен алгоритъм (и според RescueTime бях прекарал общо 12 часа 20 минути в Free Code Camp).

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

Това каза, през нощта на четвъртия ден бях завършил алгоритмите с общо 18 часа на FCC (и около 22 часа общо време за преброяване на труда, прекарано в други изследователски ресурси като Mozilla Developer Network. Прогнозата в този момент беше 75 часа.

Първоначалният ми микроцел от 2 часа на ден ме накара да си мисля, че съм навършил 100 часа работа, докато напусна скривалището си в Юта. Сега, когато бях наистина вдъхновен от работата, завърших 75% от мястото, където исках да бъда само за четири дни.

ДЕН 17

Влязох в режим на главни надолу и две седмици не си водя бележки за напредъка. Лошата новина е, че там не се съобщава много, но добрата новина е, че FCC ме вкара в състояние на поток за две седмици подред. Към този момент бях завършил скелетно портфолио (вече малко по-меко) и изградих машина за произволни цитати, както и наистина ужасно приложение за вдъхновение на Властелина на пръстените. На ден 17 подадох своя Wikipedia Viewer. Да научим как да използваме API, беше забавно и полезно. Оказва се, че можете да изграждате неща със средна сложност, без да разбирате фонови сървъри или бази данни (можете просто да се включите в чужди)!

ДЕН 23–24

Работейки през междинните алгоритми, открих, че започвам да виждам разликата между чист и грозен код. Също така започнах да вграждам още бележки в моя код за по-късен преглед. По някакъв начин ми отне толкова време, за да осъзная, че console.log („тестове“) винаги се изплюва в конзолата за разработчици на JS в браузъра. Бях започнал да използвам //repl.it за стартиране на код, който ще показва дневниците на конзолата като ясен изход. Някак смущаващо, но ей - не го оставих да ме спре и сега знаете по-добре.

За пръв път разбих браузъра си, работейки през Sum of All Primes. Независимо от това, в крайна сметка разработих въпроса и се почувствах наистина страхотно, когато реших 99% от основната функция без никакви външни изследвания.

31–33 ДЕН

Намирах предизвикателствата за напреднал алгоритъм доста ... добре ... напреднали. Бях доста възторжен, когато завърших разширения алгоритъм „Friendly Dates Range“ само за 90 минути. В два от тези усъвършенствани алгоритми споменах специфични функции на StackOverflow, за да помогна за чистотата на моя код. По времето, когато се притеснявах, това може да се върне, за да ми навреди, но много ресурси, с които съм се сблъсквал, твърдят, че това, което прави страхотен програмист, е способността да задавате конкретни въпроси на търсачката. Например създаването на JS версия на алгоритъма на Heap от нулата би било математика на високо ниво и преоткриване на колелото. Намирането на модел на JavaScript, от който бих могъл да работя, ми позволи да завърша изграждането на колата.

На ден 33 завърших последното от напредналите предизвикателства за кодиране. Следващият проект (първият от проектите за усъвършенствано развитие на предния край) изисква изграждане на JS калкулатор. Беше хубаво да се върнем към HTML / CSS страната на нещата. Успях с предизвикателството чрез кодиране на живо по канала Twitch на FCC и в крайна сметка завърших проекта с жива аудитория от 24 души. Това беше страхотно преживяване, което изискваше да обясня кода си, докато го писах. Кодирането на живо също има вградена необходимост да се поддържа инерция. Той възнаграждава стила на кодиране „бърз ход и разчупване на неща“ по по-тежък метод.

ДЕН 40

Кодирането на играта Tic-Tac-Toe се оказа (за мен) най-изтощителният проект от всички. За мен кодирането на AI не беше много забавно или задоволително. По мое мнение крайният ми резултат имаше слаб AI и под-номинален интерфейс. По това време се чудех дали може би изграждането на интерактивни неща като това просто не е моята страст.

ДЕН 45

Работих безумно усилено по финалния проект, който поиска реплика на JavaScript на играта на Саймън от 70-те години, пълна с незадължителен „строг режим“ и нарастваща скорост на игра. Бях решен да го направя изключителен. Към момента на писането все още се чувствам, че моят Саймън е една от най-добре изглеждащите версии там. На 45 ден завърших проекта и грабнах сертификата си за развитие на Front End!

Крайна статистика:

77 часа справка и обучение

67 часа разработка на софтуер

41 часа комуникация (включително чата на FCC)

= 185 часа в продължение на 45 дни (или ~ 4 часа / ден)

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

Не мога да препоръчам програмата на Free Code Camp Front End Dev достатъчно. Независимо от това колко време ви отнема, то е безплатно, лесно е да започнете и има интелигентна и достъпна общност (ако аз така го кажа).

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

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