Миналата година взех много голямо решение в живота си - 2013 г. щеше да бъде годината, която най-накрая се научих да кодирам.
Винаги съм бил очарован от интернет и как технологията ни позволява да общуваме с хора по целия свят. В момента се изгражда толкова страхотна технология и разбрах, че не се задоволявам просто да седна и да използвам тези комуникационни канали - исках да ги направя сам. Нямах техническа подготовка и никога не бях правил кодиране, но знаех, че е сега или никога.
Разбира се, първият въпрос беше: Как? Има много опции за научаване как да кодирате: онлайн програми, книги, нощни класове, лагери за зареждане - списъкът продължава, като всяка опция изисква различни нива на ангажираност.
В миналото бях размишлял за някои учебни книги за кодиране, но нямах голям успех. Исках да уча, но никога не можех да стигна до момент, в който се чувствах, че постигам нещо. Бих вкарал няколко глави и в крайна сметка бих се объркал, чудейки се защо на Земята използвах код, за да направя думите на „99 бутилки бира“ в терминала. Тогава щях да се откажа.
За да се уча наистина, знаех, че имам нужда от истински проект, в който мога да видя практическите резултати от това, което правя и да споделя успеха си с други. И така, реших да създам свой собствен път към научаването да кодирам: напуснах работата си, запасих се с ремфен юфка и реших да JFDI (просто f * cking do it), като създадох 180 уебсайта за 180 дни.
Въпреки че със сигурност не е възможно всеки да се посвети на пълен работен ден на подобен проект, все още има много начини, по които можете да използвате моя практически подход, за да научите ново умение. Независимо дали сърбите, за да знаете как да кодирате или нещо друго изцяло, прочетете за някои от най-големите уроци, които научих от пътуването си и как можете да ги приложите към собственото си приключение.
1. Започнете с малки, продължете да изграждате
Научаването на всяко ново умение може да бъде невероятно, когато се взирате в планина от знания, която се опитвате да завладеете. Така че, вместо да се занимавам с цялата планина, реших да правя по един мини проект на ден, който ще ми помогне да се съсредоточа върху извършването на малки, постепенни подобрения.
Преди да започна проекта за 180 уебсайта, знаех, че искам да мога да правя големи, интерактивни уеб приложения, но не знаех почти нищо за това как да направя дори основен уебсайт. Така че започнах, като направих нещо много просто, само няколко реда код. Отне ми цял ден, търсейки интернет за отговори на въпросите ми, но това беше първата стъпка.
Всеки ден правех нещо малко по-сложно, надграждайки това, което вече бях научил. Това, че всеки ден трябваше да произвеждам краен продукт, означаваше, че не мога да си позволя да затворя разбирането на всяка отделна концепция, която проучвах - трябваше да продължа да се движа. В резултат на това не мина много време, преди малкото подобрение на моето бебе да започне да кара големи снегове.
До по-късно в проекта правех нещо, което никога не съм си представял, че ще го направя. Много от уебсайтовете, които направих, бяха забавни и игриви. Правех играчки като Sushi Jiggler и Etch-A-Sketch и игри като Simon и Minesweeper. Направих и по-сериозни приложения. Започнах да се интересувам наистина от данни и направих инструменти за представяне като Elevations, която начертава терена между две места на Земята. Комуникацията и споделянето също беше важна концепция за мен и направих приложения като Audio Garden, за да помогна на хората да се свързват по целия свят. Как се чувстваме, който проследява емоциите на хората в Twitter, е един от любимите ми.
Когато научавате нещо ново, често ще попадате на понятия, които просто нямат смисъл от първия път, когато ги видите. Опасно е лесно да ви хванат, опитвайки се да разберете всеки детайл, да се обезсърчите и да се откажете. Поставянето на труден краен срок за един ден на всеки уебсайт ме принуди просто да накарам нещата да работят, а не да се притеснявам за „получаването му“. Докато продължавах напред, знаех, че в крайна сметка ще разбера нещата, които не успях разберете се за първи път.
2. Поставяне на себе си там е най-добрият начин да останете отговорни
В допълнение към пускането на ежедневния си уебсайт онлайн, аз също сложих целия си код на GitHub (платформата за споделяне на код за 6 милиона души по целия свят) за това, което се чувстваше като цялата инженерна общност. Няма шега - това беше ужасяващо! Всички щяха да могат да видят колко съм зле! Всички мои грешки, на открито!
Това, което скоро разбрах, е, че споделяйки публично работата си, не оставих място за отслабване и почувствах натиск да продължа да се подобрявам. Също така успях да получа реална обратна връзка за моя код и уебсайтовете ми, които помогнаха да оформим какви идеи искам да проуча по-нататък. По-важното е, че излагането на моите грешки и погрешни схващания ме научи да бъда по-удобна да не знам всичко.
Работата е там, че ученето е разхвърляно и ще правите грешки, независимо от предмета. Когато научавате нещо ново, имате огромни пропуски в знанията си, което може да бъде наистина смущаващо. Вашият инстинкт може би е да се опитате да прикриете тези пропуски, но това не ви помага да ги попълните. Споделянето на грешките ми ми помогна да преодолея този инстинкт, да се изправя пред пропуските в знанията ми и наистина да се разраствам от тях.
3. Проследяването на вашето пътуване е най-добрият начин да видите колко далеч наистина сте стигнали
В допълнение към изграждането на сайт всеки ден, аз също писах ежедневна публикация в блога, за да списам моя проект. Разбира се, блоговете със сигурност не са от съществено значение за научаването на кодове - или научаването на нещо друго освен писане - но ми помогна да развия много важно умение: способността да общувам за работата си и да споделям моята история.
Никога не бях писал нито един пост в блога, преди да започна проекта за 180 уебсайта (което няма да е изненада, ако прочетете първите ми публикации от проекта), така че писането всеки ден не беше лесно в началото. Често се чувствах така, сякаш нямах нещо интересно да кажа. Но колкото повече писах, толкова по-лесно ставаше. Открих, че писането за това, което научих, ми даде място да обобщя концепциите, с които се борех, и възможността да развивам своя речник за програмиране. Освен това ми даде място да разсъждавам за неща извън кодирането, например как научих това, свързано с реалния живот. До края на 180-те дни не само се бях научил да кодирам, но и как да говоря за моя опит като кодер.
Година и 250+ публикации в блога по-късно, сега съм огромен привърженик на силата на блоговете и насърчавам всеки и всички, които срещна да започнат, особено ако се опитвате да научите нещо ново.
Следването на моя собствен път не винаги беше лесно и със сигурност имаше дни, в които се чувствах много самотна. Това обаче ми даде възможност да изследвам идеи, които може би не бих могъл да правя в по-структурирана атмосфера. Например, открих, че макар да не съм голям по числа и математика, обичам данните! Научих се също да забравя за съвършенството и да прегърна бързата итерация.
Най-важното е, че се научих да притежавам работата си неапологично. Всеки път, когато предприемете големи люлки в живота, ще има наисеи и скептици. Техните коментари могат да ужилят, но не позволявайте негативизъм да подхранва вашето съмнение. Ако искате да направите нещо революционно, понякога се налага да излезете на крайник.




