Ръководство за това как да се научите да кодирате (и да си намерите работа!)

Избягвайте това, от което не се нуждаете; научете и практикувайте това, което правите

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

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

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

И моля ви, повярвайте ми, когато ви кажа, че ако мога да го направя ... и вие можете.

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

Сега мисля, че се разбира, че кондензирането на целия процес до 5 стъпки е прекалено опростяване. Ще ви дам общото усещане какво да правите. Имате няколко опции за запълване на пропуските и честно казано, трябва да направите и двете!

Вариант 1 : Облегнете се на вашите общности за подкрепа

Вариант 2 : Получете специална помощ и насоки

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

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

Вариант 2 има някои пречки пред достъпа. По същество това включва някой - в идеалния случай опитен треньор с дълбоко разбиране на вашата ситуация и цели - да ви вземе за ръка, да ви опознае, да изследва мечтите ви с вас и да планира пътуването си от мястото, където сте, до мястото, където искате да бъде. След това се задълбочавате в уменията с действителна карта и път към вашата дестинация. В този момент упоритата работа е ваша и само ваша.

ОБИЧАМ да работя едно към едно с начинаещи кодери, но разбира се, с необходимото ниво на внимание и опит ... не е безплатно. Повечето от нас правят каквото могат, за да поддържат кодери за начинаещи чрез публикации в блогове, епизоди на подкасти, книги и други - но някои от нас са готови да отделят повече от времето и присъствието си от други! Като такъв, вариант 2 е инвестиция в себе си.

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

Стъпка 1: Разберете какво, по дяволите, правите

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

Можете да изтеглите това ръководство, наречено „10 неща, които трябва да знаете ПРЕДИ да се научите да кодирате“, тук:

Мислите ли да се научите да кодирате?

Обмисляте да се научите да кодирате и да промените кариерата си? Преди да се впуснете, разберете какво не е индустрията ... resources.lavieencode.net

Първо, защо искате да направите това?

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

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

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

Задавайте въпроси относно наемането на компании в района. Харесват ли хората своята кариера? Какви са заплатите им?

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

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

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

Стъпка 2: Изберете длъжност и работете назад

Добре, така че подхождам към това по различен начин от много хора там. Когато хората започнат да се учат да кодират, един от най-големите въпроси, които чувам, е „какво трябва да науча?“ (също „къде да го науча?“).

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

С всички тези инструменти обаче ... как да разберете кои ще подредят за действително заглавие?

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

Да ... това направи твоето момиче.

Бърза, подходяща странична история

Научих HTML и след това добавих на CSS. Първоначално ненавиждах CSS, но ние го разработихме и се охлаждаме сега. Дотук добре, нали?

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

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

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

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

Превключен към PHP и WordPress. Всъщност наистина ги харесах и двамата и ги използвам предимно заедно с JavaScript. Но стигнах до същата тази страшна точка и накрая се сринах от изтощение. Какво, по дяволите, не беше наред с мен?

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

Защо се мащабирам отново, за да се науча да кодирам ... и увеличавам обучението за решаване на проблеми

Леле, мина почти месец, откакто публикувах! Не мога да повярвам, че времето лети толкова бързо. Имам точка към това ... medium.com

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

И така, ето въпроса ми: защо просто не извадите предположенията и да разберете какъв вид работа искате да направите първо ?

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

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

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

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

Да, междуличностни . Имаме достатъчно проблеми с липсата на междуличностни умения като ефективна комуникация, съпричастност, състрадание и приобщаване. Не идвайте тук, носейки още.

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

Стъпка 3: Изградете уменията си

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

Сега е време да изградите уменията си.

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

Обикновено препоръчвам уеб разработчиците да започнат с предния край, тъй като всички пътища водят до опит на потребителя. Но това наистина варира в зависимост от първоначалните цели. Вижте къде е било полезно първо да ги идентифицирате?

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

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

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

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

Стъпка 4: Изградете портфолиото си и възобновете

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

Hot Tip ™ ️ # 1: Проектите ви осигуряват Edge ™ ️ като самоук кодер

Нямате дълго резюме, датиращо от вашата специалност Компютърни науки в MIT. Нито аз. Но, като ... горко ни?

Не

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

Hot Tip ™ ️ # 2: Не ви трябват много проекти!

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

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

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

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

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

Можете ли да превърнете уебсайт в уеб приложение, така че може би потребителите могат да влязат?

Ако не сте създали страницата си първо за мобилни устройства (трябва да имате!), Какво ще кажете да я рефакторирате като мобилна първо?

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

И така, за да се откажете от Hot Tip ™ ️ # 2 ...

Hot Tip ™ ️ # 3: Станете разказвач, а не просто програмист

Какъв по-добър начин да покажете на хората вътрешната работа на мозъка ви от това да документирате пътуването си?

Един от най-спящите ресурси за намиране на работа е ... барабан ...

... вашия файл README.txt.

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

  • Защо сте добавили тази функция
  • Защо сте изоставили добавянето на тази друга функция и сте я премахнали
  • Следващите ви планове за разширяване
  • Какво бихте искали да видите по отношение на обратната връзка
  • Какво сте научили на всяка стъпка
  • Това, с което се чувствате горд и какво бихте могли да направите по-добре

Защо се срамуваме да пишем нашите истории? Нямаме време за това, трябва да ви намерим работа!

Направете го смешно, дори. Направете го епично. Вашето пътуване е епично.

Но да, използвайте вашия файл README.txt и ще бъдете много по-привлекателни за хората, които проверяват портфолиото ви и ви обмислят за работа.

Стъпка 5: Кандидатствайте за тези работни места!

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

Hot Tip ™ ️ # 1: Просто кандидатствайте вече

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

Сериозно. Давай, кандидатствай. Най-лошото, което могат да ви кажат, е „не“.

И така, ето какво е да кандидатствате за работа като начинаещ самоук програмист. Искате да го направите правилно и наистина да демонстрирате:

  • Вашето желание да се научите
  • Вашият растеж досега
  • Вашият ентусиазъм за индустрията (и по-специално за компанията!)

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

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

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

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

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

Hot Tip ™ ️ # 2: Трябва да развиете солидни умения за техническо интервю

Наред с изграждането на портфолиото си, ще трябва да развиете тези умения за интервюта. Но не просто някакви умения за интервюта - технологиите не са като всяка друга индустрия там. Раздразнени сме . Харесваме ви да доказвате това, което знаете.

Това е особено важно за самоуки програмисти. Ще трябва да знаете как да правите неща като:

  • Обяснете какви са различните технологични концепции
  • Решете алгоритмични предизвикателства, докато обяснявате своя подход
  • Напишете стъпките си към решението
  • Прочетете интервюиращите
  • Направете малко танци, за да запазите контрол над интервюто (това е моята специалност хаха)

За това има много ресурси, като например „Cracking the Coding Interview“ на Гейл Лаакман Макдауъл. Плюс това, той се удвоява като тъпо оръжие.

Пробиване на интервюто за кодиране: 189 Въпроси и решения за програмиране

Аз не съм вербовчик. Аз съм софтуерен инженер. И като такъв, знам какво е да бъдеш помолен да биеш брилянтно ... www.amazon.com

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

До този момент

Към този момент имате все по-голям набор от умения.

Учиш се всеки ден. Изграждате проекти, но се възползвате максимално от тях, вместо просто да ги изхвърлите и да преминете към следващото нещо. Разказвате история с вашия GitHub README.txt.

Но най-важното е, че имате представа къде отивате . Този вътрешен компас, заедно с подкрепяща общност (като #CodeNewbie!) Ще бъде това, което ви спасява, когато се изгубите.

Надграждайте, растейте и печелете увереност в себе си. Ти си пълен воин и можеш да направиш това! ??