Инструкции за тези, които искат да станат програмист от нулата

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







Първи стъпки

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

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

  • Самостоятелно образование. Този вариант може да се използва самостоятелно, така и заедно с други методи. Интернет е пълен с обекти. книги и приложения. които помагат да научат различни езици за програмиране и технологии. Но това е най-трудното начин за начинаещи.
  • Университет. Ако завършва училище и иска да бъде програмист, а след това отиде в университета. Ако не получат образование, а след това в продължение на земната кора. Тя може да служи като бонус за работа. Въпреки че някои знания и вие ще получите. Но не забравяйте да се ангажират с самообучение. С избора на университета трябва да дойде много отговорно. Внимателно прегледайте програмата за обучение и да изберете най-добрите технически университети.
  • Ментор. Ще бъде много хубаво, ако можете да намерите някой, който ще се съгласи да ти помогне и да ви води в правилната посока. Той ще каже на подходящи книги и ресурси, проверете кода си, ще даде полезни съвети. Между другото, ние вече писа за полезни ресурси. където можете да намерите ментор. Ментор да търсите сред приятели програмисти в ИТ събирания и конференции, за онлайн форуми и така нататък.
  • Специализирани практически курсове. Опитайте търсене в град вашите курсове, където ви научи на някои език или технология за програмиране. Бях приятно изненадан от броя на такива курсове в Киев, включително и безплатен и с последваща заетост.

На какъв език, технология и посоката на мотика

Когато станете програмист, след година-две ще бъде свободен да избере който и да е език искате. Но при избора на първия програмен език новак трябва да вземе предвид следните критерии:

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

Как да получите първоначален опит

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

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

На второ място, трябва да се намери първите си проекти. Това е може би най-трудният вариант, но работи. Ще се наложи да търсите поръчки, да ги носят, за да се занимавам с плащане. За начинаещ е обезсърчително, но след това всички останали варианти изглеждат plovym бизнес. Реализирани проекти могат да бъдат написани на опита и показват бъдещия си работодател. Реални проекти са голям плюс в автобиографията си.

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

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

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

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

Защо да изберете Python

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

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

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

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







Важното е дали английски

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

Всеки има нужда да се научат алгоритми. Опитайте се да вземе курс на Корсера или намери подходящ книга за себе си на алгоритми. Освен това, необходимо е да знае една от базите данни, модели за програмиране, структури от данни. Трябва също да се запознае с кодови хранилищата на. С най-малко един. Необходими са знания на системи за контрол на версиите. Изберете Git, това е най-популярен. Трябва да знаете, че инструментите, с които работите, операционната система и среда за развитие. И основните умения за програмиране - за да бъдат в състояние да Google. Без него няма да живее.

Последните стъпки

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

Що се отнася до IDLE - много учебници, се препоръчва да го използвате, но момчетата от JetBrains предлагат отлично IDE - PyCharm Образователен Edition, хубав интерфейс, ненатрапчив привикване начинаещ програмист за медии като VisualStudio. Успех на всички, които изучават Python, един добър старт за учене за програмиране и не слушам хората, които се стремят да бъдат трансплантирани в истинския-C и други езици. Език не е от значение, това е просто инструмент. Но това, което ми харесва в Python - благодарение на синтаксиса на много учители на популярната Корсера и EDX имам време в курса им да прекарват повече време алгоритми, забавни дейности и практическо приложение, което ви позволява да не губят интерес към програмирането на сложността на развитието на синтаксис. От себе си искам да добавя курс Програмиране за Всички на Корсера, курсът е харизматичен Чарлз Скъсване, който в един лесен начин да се запознаят не само с Python, но с основните програмни модели. Благодарение на него аз бях по това време е най-накрая успя да овладее такива основни понятия като "цикъл", "инструмент", "масив от данни" и след това, когато се сблъскат с тях, можеше да си спомни един практически пример. Какво най-добре помага обучение? Самостоятелни задачи за търсене, които могат да бъдат опростени, с помощта на софтуер. Това е, което има за цел да бъде програмист - професионалист, който е един алгоритъм за решаване на този проблем, в противен случай пристрастия върви в посока на енкодер - също е важно умение, но не толкова в търсенето като програмист, който дава насока за енкодер, и това е обосновано от код алгоритъм (правилна, моля, ако греша). Личен опит - написана за програмата конзола от приятел, който се готвеше за изпита по английски език и му помогна да се справят със собствените си, избирайки случаен въпрос. Докато аз съм мислене за това как да се реши този проблем за него - всичко, което файлови отделни парчета, съединени в едно, и помогна да се приложи на практика почти всички теоретичния материал. Надявам се да вдъхнови учениците на този метод, и може да ви помогне на приятел, за да автоматизирате работата си;) Кой може да каже една добра, дъвчат материали на алгоритми за Python? Бих го оценявам :)

Да, знания и умения, свързани с всички професии, има само разлика е, че при цялата си инженерство, програмиране е доста творчески професия, където в допълнение към прост необходимите знания, за творчество, изобретателност и находчивост. И за да стане програмист, то е добре да има подходящите вродени качества: разузнаване, логическо мислене, любопитство и бърз обучаем, усвояването на нови ще има живот. Разбира се всичко това не се отнася за обикновен уеб formoshlepstvu или "програмиране в HTML" (с) - всеки студент тук, в сила, проблемът е, че тези ученици виждат себе си като програмисти.

Аз продължавам да мисля, как в света като govnokoderov. И тук е мястото, където един идиот е написал, а останалите се качват. Могат да се четат код в питон. И в релсите или 1C, той очевидно не е чел. Органите на управление следва да звучат по следния начин: 1. Първото нещо, което трябва да започнете е да се запознаят с района. Преглед на свободните работни места, заповеди за преглед, преглеждат съществуващите технологии и какви задачи могат да бъдат използвани за решаване. Какви са плюсовете и минусите, и т.н. Разберете, че има различни нива на езици, имат различни рамки и т.н. 2. Вторият е да изучава основните алгоритми, логика, основи на висшата математика, които биха били в главата ми всичко е по рафтовете на магазините. 3. За проучване на концепцията за структуриран програмиране, прочетете как да, как обърка и защо това е така. 4. Изберете произволна технология, макар и Паскал и прилагане на основните логически алгоритми върху него. 5. Измисли си няколко задачи, които Вие лично бихте искали да направите, или такива, които да ви помогне в живота си и да започнат да ги прилагат по нарастваща сложност. 6. Не забравяйте, веднъж завинаги, че езика за програмиране не е важно! Познаването на основите на алгоритми, а вие ще бъдете в състояние да се научат и да е език от помощ, форуми и т.н. Всъщност, трябва да се научите само синтаксиса. 7. Преминаването от високо ниво на езици от ниско ниво. Например, можете решихме да направим един конец на една проста уеб услуга. Вземете Руби на релси (рамката на Ruby) и прави. Когато са удобни в рамките можете да отидете до най-Ruby. Или в случая на Phyton верига изглежда така: Django - Phyton. В случай на Java. Играй - Java. С други думи, докато имате достатъчно капацитет на рамката не може да се изкачи 7. проекти започнете търсенето, той не се надценяват силата си. Или просто да кажа, че сте начинаещ, но желаят да не е много скъпо. За един обучен. Е, списъкът продължава и разработване на нови технологии.

Струва ми се, че много хора просто не разбират проблема, преди края на начинаещите програмисти. Те не мислят за такива въпроси като: "Аз съм почти нареди масив и какво е за мен да се справи - QSort или BubleSort". Или "Трябва да е възможно да се определи манипулатор на Специален бутон Какво ми модел от бандата на четиримата, най-добре тук?". Повечето начинаещи програмисти, е трудно да се разбере къде точно и запетая защо х = х + 3 - нормален код и т.н. Недостатъци като професионалисти могат да бъдат намерени във всеки модерен език. JS - един много интересен език, с оглед на патица да го пишете прощава. Има нещо в обекта - само да я добавите там. Забрави точката и запетаята? Няма значение, самата обвивка ще го добави. Да, и вие можете да програмирате, където и браузър. Въпреки това, той може да постави прасе, и в най-неочаквано място, и отстраняване на грешки се превръща в истински ад. PHP - достатъчно популярен език с голяма общност, но има толкова много вътрешни противоречия и нелогичност. По този въпрос много статии в Интернет. Да, и можете да напишете само от страна на сървъра скриптове. C ++ - аз просто не казвай нищо. Ако не знаете какво е "нарушение на достъп" или "изтичане на паметта" - и живеят на по щастлив си малък свят! Сериозно, не го правят. C # - доста модерен и популярен. Много лесен за използване език, за да се развива. Все пак, въпреки наличието на Mono, аз все още ще отнеме да езици, заточени под Windows. Java - много популярен език. Голяма общност, много компоненти. Въпреки това, неговата среда за разработка все още губи Visual Studio. Python - за същите забележки като за Java + трудности с прехода от 2.7 до 3, за които по-голямата част от библиотеките и остава при версия 2.7. Така че за това какво да учат? Ако не се страхуват от програмирането е основно за Windows - на C #, по мое мнение, е правилният избор. версия на Общността на Visual Studio ще ви спести много време - лесно откриване на грешки, умни съвети команди (IntelliScence), огромен брой компоненти и лесен начин да ги избави - NuGet - накратко, наистина си заслужава.

Момчета, хей! Помощ за начинаещи чайник :) завършили университет CAD посока, идващи от наивно мислех, че ще стане програмист, вместо преподава полезен само Visual C ++, но аз не искам да го развиват. Мега почивка много повърхностно. След уни тестер е работил в областта на уеб. Искам да отида там, просто уморени от проверка на грешките на другите, което искам да направя своя собствена. HTML, CSS в някои много широко проучен чрез различни средства, сега е самообучение JS. Голяма част от информацията, всички от различни източници (но различни хора виждат и са свързани с различни езици и представени, съответно) - получи каша в главата. Бих искал да получа някаква ясна картина. Като цяло, за себе си аз избрах PHP, JS, HTML + CSS, MySQL. Съветвам, PLZ как най-добре да се структурира на обучението, как да започнете и как да се процедира? Кой какви книги, ресурси, използвани, които са си струва да ги учи? Какъв софтуер yuzaete по време на работа и това, което се ръководи при избора? Благодаря предварително за отговора! Послепис Ако някои от въпросите, звучи глупаво и смешно, не съди строго: кана - да пием чай :)

Владимир I енергия за образование! Програмиране хоби. И в продължение на 20 години съм работил в ИТ индустрията (аз съм 40) от времето, когато той се върна от армията, той започва дори и без ИТ образование, добре, аз го имам така да се каже между delom.V момента ръководител на вътрешния автоматизация го държи в един от най-големите в Москва. Т.е. Служа не продавачи ITshnikov. И това е най-взискателните клиенти. Защо съм, добре, на първо място, това е самостоятелно обучение е довело до такива висоти, и на факта, че университетът не дава нищо, университети програма се забави най-малко 5 години. ИТ индустрията и планиране, не otlichaetsya от други специалитети. Един до 17 години със сигурност това, което искам да направя в живота. И това Schnick са всичко, особено след като видя Работа, Зукърбърг и други от този род. Следователно очевидният отговор е да се занимава с необходимостта от това, което е душата. И ако (според статия в) човек prodalzhay работата на нищото, а той не е станало програмист, тогава той не помогна. Аз не говоря за изключения от 1 до няколко милиона, които алгоритмично мислене не е така, и хората просто не знаят какво е в ума му и как тя се отнася.