Послание към бъдещия програмист

И така, решихте да станете програмист.

Може би се интересувате от създаването на нещо ново.

Може би големите заплати ви примамват.

Може би просто искате да промените сферата си на дейност.

Не е въпросът.

Важното е ти да решиш станете програмист.

Какво да правим сега?

Послание към бъдещия програмист

И има няколко подхода.

Първи: отивам в университет за ИТ специалност и получават специализирано образование. Най-баналният, относително надежден, изключително дълъг, най-фундаментален метод. Работи, ако все още завършвате училище или имате средства да се издържате от година и половина (в най-добрия случай, ако хванете всичко в движение и можете да започнете работа през втората година) до четири (ако комбинирате работа и учене не е вашата силна страна ) години.

Какво е важно да знаете тук?

  • Необходимо е да изберете правилния университет. Вижте програми за обучение, рейтинги. Добър показател са конкурсите от университета. Ако университетските отбори поне периодично заемат места в челната десетка на сравнително големи олимпиади по програмиране, тогава кодирането в университета няма да бъде рудимент (въпреки факта, че вие ​​лично може изобщо да не се интересувате от олимпиади). Е, като цяло, здравият разум правила: малко вероятно е Братският клон на Байкалския държавен университет да ви направи мощен пълен стак.
    Примери за добри университети: Московски държавен университет/Санкт-Петербургски държавен университет (очевидно), Бауманка (Москва), ИТМО (Санкт Петербург), НГУ (Новосибирск). Въпреки цялото им превъзходство е напълно възможно да влезете в тях с ограничен бюджет, ако не се стремите към топ отдели.
  • Не просто университет. Въпреки факта, че ще бъдете изчерпателно обучени за всякакви неща, това не е достатъчно. Поради бюрокрацията програмата за обучение почти винаги ще изостава от съвременните тенденции. В най-добрия случай - за година-две. В най-лошия - за 5-10 години. Ще трябва сам да компенсираш разликата. Е, очевидното е: ако изучавате материала заедно с други ученици, тогава всеки от тях ще ви бъде равен конкурент. Ако по желание излезете напред, ще изглеждате много по-добре на пазара.
  • Потърсете работа възможно най-рано. Започнах работа през втората година. До края на университета вече бях доста среден разработчик, а не скромен младши без опит. Мисля, че е очевидно, че след завършване на колеж печеленето на 100 хиляди е по-приятно от печеленето на 30 хиляди. Как да постигнете това? Първо, вижте точки А и Б. Второ, отидете на срещи, фестивали, конференции, трудови панаири. Следете пазара и се опитайте да си намерите работа като младши/стажант на непълен работен ден във всяка компания, за която сте поне приблизително подходящи. Не се страхувайте от платените конференции: те често предлагат много добри отстъпки за студенти.

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

Ако не спазвате... Е, можете да получите резултат, като се оставите на течението, преписвате и се подготвяте за изпита за една нощ. Но колко конкурентоспособни смятате, че ще бъдете тогава? Разбира се, не казвам, че трябва да получите A за всичко. Просто трябва да придобиете знания. Използвайте здравия разум. Учете това, което е интересно и полезно, и не се интересувайте от оценки.

Послание към бъдещия програмист

Основното нещо не е това, което се опитват да ви пробутат. Основното нещо е това, което е интересно и уместно

-

Освен това, втори начин: курсове по програмиране. Интернет гъмжи от оферти да те направят младши само за 3 месеца курсове. Само с портфолио и дори ще ви помогнат да си намерите работа. Само 10 хиляди на месец, да.
Може би това ще работи за някои, но чисто IMHO: това са пълни глупости. Не си губете времето и парите. И ето защо:

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

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

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

За да обобщим: не вярвайте на тези, които обещават да ви „превъртят“ за кратко време. Ако това беше възможно, всички отдавна да са станали програмисти.

Послание към бъдещия програмист

Вляво: Какво ще ви научат. Вдясно: Какво ще се изисква от вас на работа?

-

Трети начин - избраният от мнозинството път. Самообразование.

Най-трудният, но може би най-благородният начин. Нека го разгледаме по-подробно.

Така че решихте да станете програмист. Къде да започна?

На първо място, трябва да си отговорите на въпроса: защо искате това? Ако отговорът е „е, разбира се, не е особено интересно, но плащат много“, тогава можете да спрете дотук. Това не е мястото за вас. Дори ако силата на волята ви е достатъчна, за да пресеете куп информация, да напишете хиляди редове код, да претърпите стотици неуспехи и все пак да си намерите работа, в резултат на това, без любов към професията, това ще доведе само до емоционално прегаряне. Програмирането изисква огромно количество интелектуално усилие и ако тези усилия не са подхранвани от емоционална възвръщаемост под формата на удовлетворение от решен проблем, тогава рано или късно мозъкът ще полудее и ще ви лиши от способността да решите каквото и да било . Не е най-приятният сценарий.

Ако сте сигурни, че се интересувате от това, тогава можете да вземете решение за спецификата - какво точно искате да направите. Ако не знаете как програмистите могат да се различават един от друг, Google може да ви помогне.

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

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

Примерна пътна карта за backend програмист (не за всеки, разбира се, това е само една от възможните опции):

  1. Основи на html/css.
  2. Python. Основи.
  3. Мрежово програмиране. Взаимодействие между python и уеб.
  4. Рамки за развитие. Джанго, колба. (забележка: само за да разберете какъв вид „django“ и „flask“ са, трябва да погледнете свободните работни места и да прочетете какво се изисква там)
  5. Задълбочено изучаване на python.
  6. js основи.

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

Следва: намерете материалите, които ще използвате за изучаване. Основни възможни опции:

  • Онлайн курсове. Не онези курсове, които „минат юни за 3 дни“, а тези, които учат едно конкретно нещо. Често тези курсове са безплатни. Примери за сайтове с нормални курсове: stepik, Корсера.
  • Онлайн учебници. Има безплатни, shareware, платени. Вие сами ще разберете къде да плащате и къде не. Примери: htmlacademy, learn.javascript.ru, книга за джанго.
  • Книги. Има много, много от тях. Ако не можете да избирате, три съвета: опитайте се да вземете нови книги, защото... информацията остарява много бързо; Издателство O'Reilly има доста високо ниво на качество и нормално представяне; Ако е възможно, четете на английски.
  • Срещи/конференции/лекции. Не толкова полезно от гледна точка на богатството на информация, но изключително полезно от гледна точка на възможността за общуване с колеги, задаване на подходящи въпроси и създаване на нови запознанства. Може би дори да намерите свободно място.
  • Google. Много хора подценяват, но способността просто да намерите отговори на някои въпроси е много важна. Чувствайте се свободни да пишете в Google неща, които не разбирате. Дори опитни възрастни хора правят това. Способността за бързо намиране на информация за нещо е по същество същата като познаването му.

Добре, взехме решение за източниците на информация. Как да работим с тях?

  1. Прочетете/слушайте внимателно. Не четете, когато сте уморени. Вникнете в смисъла, не пропускайте точките, които изглеждат очевидни. Често преходът от очевидното към неразбираемото се случва доста бързо. Чувствайте се свободни да се върнете и да прочетете отново.
  2. Водя записки. Първо, ще ви бъде по-лесно да разбирате бележките си, когато има много информация. Второ, така информацията се усвоява по-добре.
  3. Изпълнете всички задачи, които ви предлага източникът. Въпреки че не, не така. Направи ALL задачи, които ви предлага източникът. Дори тези, които изглеждат прости. Особено тези, които изглеждат твърде сложни. Ако се затрудните, помолете за помощ на stackoverflow, поне чрез Google translate. Задачите са написани с причина, те са необходими за правилното усвояване на материала.
  4. Измисляйте сами задачи и ги изпълнявайте. В идеалния случай трябва да има повече практика, отколкото теория. Колкото по-здраво закрепите материала, толкова по-вероятно е след месец да не го забравите.
  5. По избор: съставяйте си тестове, докато четете. Запишете трудни въпроси в отделен източник и след седмица или месец прочетете и се опитайте да отговорите. Ако не работи, опитайте отново.

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

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

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

Послание към бъдещия програмист

снимката е честно открадната следователно

И тук трябва да разгледате всяка от стъпките по-подробно:

Старт: Имате нула знания. Отправна точка. Все още нищо не е ясно, но вероятно е изключително интересно. Пътеката започва нагоре, но леко. Много скоро ще се изкачите

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

Долината на отчаянието: Значи завършихте основните курсове, прочетохте няколко книги и решихте да започнете да пишете нещо свое. И внезапно не работи. Изглежда, че всичко е известно, но как да го комбинирате, така че да работи, не е ясно. "Аз не знам нищо", „Няма да успея“. На този етап много хора се отказват. Всъщност знанието наистина съществува и не се е изпарило никъде. Ясните изисквания и поддръжката просто изчезнаха. Истинското програмиране започна. Когато трябва да маневрирате в пространство, където има цел, но няма междинни етапи, много хора изпадат в ступор. Но в действителност това е просто още един етап от ученето - дори първите десет пъти всичко да се получи някак си, с огромни усилия, грозно. Основното нещо е да доведете въпроса докрай отново и отново, поне по някакъв начин. На единадесетия път нещата ще бъдат по-лесни. На петдесети ще се появи решение, което ще ви се стори красиво. На стотния вече няма да е страшно. И тогава ще дойде

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

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

Пътят на програмиста.

Успех с това!

Литература за свободно четене:
За това как да станеш програмист и ефекта на Дънинг-Крюгер: мушкам.
Труден начин да станете програмист за 9 месеца (не е подходящ за всеки): мушкам.
Списък с проекти, които можете да реализирате самостоятелно по време на обучението си: мушкам.
Само малко допълнителна мотивация: мушкам.

Източник: www.habr.com

Добавяне на нов коментар