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

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

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

Бях решен да направя това. Това означаваше да не се отлага. Щях да започна веднага, така че след още 10 години да не се обръщам назад и да казвам „Иска ми се да бях започнал с това много по-рано“.

Затова реших да кодирам всеки ден за една година. Нека ви разкажа за моя опит.

Началото

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

И тогава открих статия, говореща за това предизвикателство, наречена # 100DaysOfCode . Има две основни изисквания, за да се изпълни предизвикателството:

  1. Кодирайте минимум час всеки ден в продължение на 100 последователни дни
  2. Чуруликайте напредъка си всеки ден с # 100DaysOfCode хаштаг

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

Така започнах да пиша от моя акаунт twitter.com/PolarisTLX всеки ден, както и във Facebook група.

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

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

Освен това, основателят на # 100DaysOfCode ви приветства да го направите свой собствен. Така че, за да ускоря наистина обучението си и да постигна сериозен напредък към постигането на целта ми да приложа тази работа за разработчици, всъщност се посветих на преследването на предизвикателството на пълен работен ден, вместо само на един час на ден. И след това достигнах тази магическа марка от 100 дни.

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

Основни постижения

И така достигнах 365 дни! Ето някои от основните неща, които успях да постигна, като кодирах всеки ден в продължение на една година:

  • Попълни десетки уроци, курсове и книги за кодиране
  • Решен над 100 алгоритми и предизвикателства за кодиране на интервюта
  • Спечели сертификатите „ Front End Developer“ и „ JavaScript Algorithms and Data Structures Projects“ от freeCodeCamp
  • Участва в двудневен хакатон, където проектът беше избран да бъде представен пред членовете на борда на компанията. След това те решиха да го придвижат напред към следващия етап на развитие
  • Приет е в програма за разработване на софтуер на пълен работен ден с по-малко от 1% процент на приемане
  • Допринесе за разширената учебна програма за бета-версия freeCodeCamp
  • Написа съдържание на курса за новата учебна програма на Odin Project, за да помогне на други амбициозни разработчици да се научат да кодират
  • Изгради работещ клонинг на Facebook, целия заден и преден край изцяло от нулата и го пуснете на живо в Heroku като един от моите представени проекти в портфолиото ми
  • Приземих първия си редовен поток от доходи, работех за клиент от разстояние, което доведе до наемане за постоянно

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

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

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

Но това, което забелязах е, че дори и с най-основните критерии, повечето хора, които се опитват да се справят с това предизвикателство, се провалят. Много хора започват # 100DaysOfCode с стремежа да си намерят работа като програмист (буквално десетки хиляди хора от цял ​​свят), но малко от тях всъщност постигат целта си.

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

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

  • 30 дни на JavaScript
  • 30-дневна реакция
  • отделяния като 180-дневен код
  • Слаби групи от канали, които са се посветили на работа през определена книга за кодиране, като целта е да се прави глава всяка седмица и да се обсъждат / сравняват бележки.

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

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

Често дори излизах от пътя си, за да се опитвам да насърчавам другите да поддържат ентусиазма и инерцията. Бих предложил да помогна на всеки член, който е заседнал в нещо или се нуждае от помощ. Бих предоставил алтернативно обяснение на концепция, с която се борят (дори ако не бях администратор или ръководител на екип).

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

Онези, които се отказват, няма да постигнат целите си. Тези, които са решителни и продължават така, ще бъдат тези, които ще намерят работа.

Е, как го направих - и как можеш ти?

Има няколко неща, които можете да направите, за да останете на път и да постигнете целите си. Някои от тях са описани по-горе и включват:

  • давайки на вашия напредък някаква структура и отчетност с нещо като # 100DaysOfCode
  • поставяне на малки допълнителни цели и постигането им по пътя
  • програмиране по двойки
  • намиране на групи за присъединяване и учене заедно с

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

Най-важното нещо, което направих

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

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

Други неща, които ми помогнаха

Също така използвах WakaTime и Clockify, за да следя колко часа прекарвах в кодиране всеки ден. Това ми даде допълнителен тласък на насърчение, тъй като се стремя да надмина дневната или седмичната си средна стойност. Дори редовно се класирах на много високо място в техните глобални лидери.

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

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

Отказ от отговорност

Аз съм честен, като признавам, че съм пропуснал няколко дни през този период от време. Но аз винаги съм бил предварително за това в публичните си публикации. Основателят на предизвикателството казва това по тази тема:

„Можете да пропуснете ден тук и там за непланирани ситуации, но не повече ... Имате право да пропуснете ден (но след това го измислете, като добавите още един ден в края на 100-те). Целта е да станете последователни, независимо какво ви подхвърля животът. “ - Александър Калауей, създател на # 100DaysOfCode

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

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

Можете доста да видите кои дни съм пропуснал направо на страницата на моя профил в GitHub: //github.com/PolarisTLX. Но някои пропуски представляват времето, когато бях в отдалечени региони без достъп до интернет и не можех да ангажирам код в GitHub. Но реших да заредя книга за кодиране на таблет, за който се уверих, че е напълно зареден, преди да тръгна. (Това не е любимият ми начин за учене на код, но може да е хубаво да промените метода на обучение на малко и да пробвате различен носител от време на време.)

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

Моето обобщение за напредъка от 365 дни

Така че за 365 дни съм напредвал през следните постижения:

  • научаване как да използвате редактор на код и създаване на прости статични уеб страници
  • изграждане на функционални калкулатори и приложения за времето
  • изграждане на прости интерактивни 2D игри на платформа
  • да се почувствате комфортно при разработването на пълен стек с множество езици, рамки и операционни системи и създаване на пълен сайт за социални мрежи RESTful от нулата (където потребителите могат да се регистрират с избраната от тях парола, да публикуват, харесват и коментират, да качват свои собствени снимки, да създават събития, изпращайте и приемайте заявки за приятелство и покани за събития с други потребители и т.н.)
  • създаване на учебни материали за подпомагане на други начинаещи разработчици да се научат как да кодират.

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

Надявам се да ви е харесало да четете за пътуването ми. Силно ви препоръчвам да изпробвате предизвикателството # 100DaysOfCode. Ако публикацията ви е харесала, моля, пляскайте? да разпространява думата и да мотивира другите.