Как стать программистом с нуля? Что для этого нужно знать и уметь? Чтобы стать программистом что надо


Как стать программистом с нуля? С чего начать, какая литература есть и что сделать первым делом???

В своём повествовании я буду рассказывать только о десктопном программировании (программировании для компьютеров) .Итак, поехали.

В самом-самом начале достаньте где-нибудь школьный учебник по информатике, в котором есть тема "Алгоритмизация" или "Алгоритмы". Прочитайте и освойте эту тему от корки до корки. Это самые основы, которые нужно знать. Выполните все задания из учебника. Без понятия алгоритмов и умения их составлять дальнейшее обучение программированию не имеет смысла.

После можно переходить к изучению языков программирования.Но для начала забудьте такие слова, как "перспективность", "востребованность" и "популярность".Вы только учитесь программировать, поэтому не слушайте никого, кто будет говорить "%LANGUAGE_NAME% перспективен и очень востребован, учите его". Почему? Простой пример: перспективно строить нефтяные вышки. Но глупо будет бросаться их возводить, ни разу не держав в руках молоток и не зная, с какой стороны подойти к бетономешалке. Точно так же и с языками программирования. Глупо изучать довольно сложные для новичка объектно-ориентированные языки, не имея базовых навыков программирования. Поэтому шлите лесом тех, кто говорит, что надо учиться программировать с C# (Java, Delphi, C++).

Начните с Pascal. Это идеальный язык для изучения основ программирования. Гуру известного cyberforum'а считают так же - cyberforum.ru/programming-theory/thread46213.html Врать не буду.

После изучения Pascal и получения первоначальных навыков программирования переходите на другие языки. Подробную информацию можете прочитать здесь - http://otvet.mail.ru/answer/1702520704 и http://otvet.mail.ru/answer/1703161328 (здесь обратить внимание на строго обязательную к прочтению литературу) .

Также помните о том, что не существует понятия "плохого" языка программирования. Есть понятие "подходит для данной задачи" и "не подходит для данной задачи". Пример: научившись обращаться с дрелью, не стоит пытаться с её помощью забивать гвозди. Точно так же и с языками программирования. Поэтому программистам необходимо овладеть как можно большим числом языков программирования, чтобы потом оптимально подобрать нужный "инструмент" под конкретные цели и задачи.

Список языков, которые необходимо знать каждому десктопному девелоперу (разработчику) :> C> С++> Delphi/Object Pascal> C#> Java

Каждый из этих языков хорош по-своему. С/С++ идеально подходят для разработки быстрых и производительных программ. Delphi/OP - для быстрой разработки приложений без геморроя для конечного пользователя. C# - быстрая разработка программ с дозой геморроя для разработчика и конечного пользователя (http://otvet.mail.ru/answer/1702481321). Так же и Java со своей JVM. Но Java очень хороша для разработки программ для смартфонов/планшетов под Android.

Есть ещё язык ассемблера со множеством диалектов. Это низкоуровневый ЯП. По возможности, с ним тоже нужно ознакомиться. Хотя бы для того, чтобы понять, как работает ЭВМ. Используется он, в основном, в виде "вставок" в более высокоуровневые ЯП для ускорения работы критических ("медленных") участков кода. Писать десктопные приложения полностью на языке ассемблера - дело долгое, трудоёмкое и часто неоправданное.

P.S. Всё сказанное выше - моё собственное мнение. Оно не претендует на абсолютную истину и может не совпадать с мнением остальных.

otvet.mail.ru

Как стать программистом

Всем привет. Мне часто пишут и спрашивают: "как стать программистом, какие технологии учить и с чего начинать". В этом видео я постараюсь ответить на вопросы с чего начинать с моей точки зрения и исходя из моего опыта.

Итак для начала, что такое программирование, за которое платят деньги? Это решение задач бизнеса самым быстрым и простым способом. Соответственно задача узнать, какими языками и технологиями нужно овладеть, чтобы эти самые проблемы мочь решить.

Самый важный пункт - это чтобы то направление, в котором вы разрабатываете что-то было вам интересно, будь то разработка компьютерных игр, сайты или приложения для телефонов. Сейчас очень много людей на волне хайпа, что в программировании можно заработать много денег. Но нужно понимать, что для того, чтобы эти много денег зарабатывать нужно несколько лет учить и писать достаточно много. Да и потом на работе человек проводит треть жизни. Поэтому интерес - это самое важное.

Для многих людей, у которых нет знакомых программистов и которые не знают в какой области и что они хотят делать я бы посоветовал для начала посмотреть популярность и востребованность языков программирования. После этого хорошо бы посмотреть по выбраным языкам, вакансии и зарплаты. Также важно понимать, что есть языки за которые платят больше, но там сложнее сменить работу, так как меньше вакансий. Я предпочитаю технологии, зная которые, можно поменять работу меньше чем за неделю. Тогда появляется ощущении независимости от работодателя, когда легко можно свичнуться на другую работу.

Дальше я бы посоветовал проверить а действительно ли направление и технологии, которые вы выбрали востребованые. Для этого лучше всего получить фидбек живых людей. Банально можно на linkedin написать 10-20 писем с вопросами людей, которых мы найдете в поиске по этим технологиям и спросить. Уверен, что большинство не откажется ответить на ваши вопросы. Также видя списки технологий этих людей в профиле легко понять какие технологии популярны у всех из тех, что вы выбрали.

В начале изучения всегда складывается ощущение, что нужно выучить миллион технологий, чтобы стать программистом. Особенно просматривая профили людей с 7 лет опыта и больше. Поэтому нужно написать план, что и в какой последовательности нужно изучать, чтобы не распыляться на много направлений сразу. Список того, что нужно знать фронтендщику на позицию junior, middle, senior я разберу в следующих видео, если интересно.

Очень важным моментом является английский. Вся документация к фреймворкам и библиотекам на английском. Все комментарии на stack overflow или github на английском, а ответы на ошибки найти на русском в гугле практически нереально. Все новые книги доступны только на английском, а на русском перевод появляется намного позже и книга успевает устареть. Как минимум читать, не обязательно быстро, на английском вы должны свободно. Так как множество проектов аутсорсится с снг и англоязычных стран, то знание разговорного английского будет плюсом в работе, разговорах с иностранными заказчиками либо командировок. Вобщем мой вывод - английский очень важен.

Также часто возникает вопрос можно ли стать программистом самостоятельно. Да можно, но не в самом начале. Быстрее всего ваши скиллы может прокачать только работа. Даже с низкой зарплатой, но реальные задачи в офисе в команде прокачивают очень быстро. Поэтому на начальных порах лучше выбирать работу в офисе, а не фриланс или удаленную работу.

Другой очень популярный вопрос - это что делать. Я знаю какие технологии я хочу учить, но не знаю что мне делать. Я могу посоветовать выбрать проект, который вы хотите сделать и делать его. Даже с маленькими знаниями. И каждый возникающий у вас вопрос по ходу разработки гуглить. И ествестенно улучшать и улучшать проект, по мере освоения новых вещей. Даже если вы будете писать проект год, и не закончите полностью - это нормально, так как вы делаете проект не чтобы закончить и сдать, а чтобы попробовать сделать реальный продукт с своими знаниями. Главное, чтобы этот проект был вам интересен. Например можно делать свой блог, реализовывая все новые и новые фичи. Либо что угодно другое, что вам по душе.

В одном видео очень сложно ответить сразу на все вопросы, так что задавайте ваши вопросы в комментариях и я отвечу на них либо сниму еще видео, если ваши вопросы будут очень обьемные.

monsterlessons.com

Как стать программистом с нуля? Что для этого нужно знать и уметь?

Оглавление:

  1. Где получить образование?
  2. Как выбрать язык программирования для изучения?
  3. Где и как получить начальный опыт?
  4. Что ещё нужно знать будущему программисту?

Затянувшийся кризис заставляет многих людей менять не только место работы, но и специальность. Им приходится принимать порой нелегкое решение о смене профессии, осваивая новые горизонты. Профессия программиста может стать в этом случае прекрасной заменой, поскольку она не только прибыльна, но и интересна. Но сложно ли стать программистом?

Где получить образование?

Есть несколько путей к тому, как стать хорошим программистом. В первом случае родители-программисты учат своему ремеслу детей, которым для этого не нужно даже идти в ВУЗ. Во втором случае сказывается модность профессии программиста. После школы всем приходится выбирать свою будущую стезю, поэтому молодёжь особенно активно клюёт на модное направление, связанное с компьютерами. Есть ещё и третий вариант — когда первоначальное увлечение постепенно перерастает в профессию.

Существует несколько способов получения навыков программиста:
  • Самообразование. Способ, как стать программистом с нуля самостоятельно, можно использовать как в чистом виде, так и комбинируя его с другими способами. Есть множество книг, сайтов и компьютерных приложений, позволяющие изучать разнообразные технологии и компьютерные языки. Правда, для начинающих это самый трудный путь.
  • ВУЗ. Если, ещё учась в школе, ученик мечтает стать программистом, то ему лучше пойти в соответствующий ВУЗ, где можно получить не только знания, но и диплом, без которого трудно найти достойную работу. В процессе учёбы не следует пренебрегать и самообучением, ведь в ВУЗе может попросту не быть преподавателей со знаниями новых веяний в этой сфере. ВУЗ нужно выбирать очень ответственно — изучить предлагаемые им программы обучения, предпочитая лучшие технические учебные заведения.
  • Учитель. Отличным вариантом будет найти специалиста, который согласится научить новичка премудростям профессии. Он может порекомендовать лучшие ресурсы и книги, сможет дать множество полезных советов. Такого наставника можно искать в среде знакомых программистов, на их конференциях, онлайн-форумах и тусовках.
  • Специальные курсы с практикой. Можно поискать в своём городе курсы, на которых учат компьютерным языкам и технологиям. В больших городах таких может быть множество, иногда даже с последующим трудоустройством. Не пренебрегайте и онлайн-курсами, они также могут подтолкнуть вас к более глубокому изучению профессии.

Как выбрать язык программирования для изучения?

Вопрос, какие предметы нужно знать, чтобы стать программистом, можно уточнить после получения основ, когда уже можно будет выбирать тот язык программирования, который больше нравится. При выборе же самого первого языка новичок должен руководствоваться следующими моментами:

  • Наличием вакансий на рынке труда. Если же на рынке вакансий разработчики на выученном соискателем языке востребованы не будут, то и работу будет сложнее найти. Для ориентирования в этой сфере полезно проштудировать сайты с вакансиями, определив десятку наиболее востребованных языков. После этого можно переходить к следующему моменту.
  • Поскольку языки — это первое, что нужно изучать, чтобы стать программистом, то слишком долгое изучение какого-либо языка может в принципе отбить охоту к освоению данной профессии. Поэтому стоит бегло просмотреть учебную литературу по ним и выбрать те из них, которые позиционируются как лёгкие или показались таковыми самому читателю. Чаще всего, речь идёт о Python, Ruby, PHP.
  • Удовольствие от учёбы. Если писать код на выбранном языке человеку не нравится, то он не сможет получать удовольствия и от последующей работы с ним. Стоит ли сразу загонять в себя в такую кабальную деятельность?

Ещё, что надо знать, чтобы стать программистом — определиться с направлением программирования, которое может быть:

  • Десктопным.
  • Мобильным.
  • Игровым.
  • Низкоуровневым.
  • WEB и прочим.

Относительно лёгкие и наиболее популярные направления — десктопные и мобильные клиенты, разработка под WEB. Каждое направление может работать с одним языком и не работать с другим, что необходимо будет учитывать ещё на стадии выбора языка программирования.

WEB-технологии нужно изучить в любом случае. К ним относятся стили JavaScript и CSS, языки разметки HTML, ведь только с помощью этого и можно сделать страницу динамической.

Следующим шагом должно стать изучение серверных языков (PHP, Python, Ruby и прочие) и соответствующих им WEB-фреймворков. Полезно также изучить базы данных, поскольку они востребованы почти в каждой вакансии программиста.

Видео о том, как стать программистом с нуля самостоятельно

Первый язык программирования следует выбирать из самых простых и востребованных на рынке. Одним из них является Python, его чаще всего рекомендуют в качестве начального языка программирования. В нём легко читается код программы. С ним не нужно даже быть программистом, чтобы догадаться, что происходит в программе. Несложный синтаксис Python потребует меньше времени, чтобы написать программу, чем та же Java. Сэкономить много времени и нервов поможет огромная база библиотек. Это язык высокого уровня, поэтому не требует заботы о том, что и как размещать в ячейках памяти.

Java может также стать для новичка неплохим выбором в качестве первого языка. Он популярнее «змеиного» языка, хотя и несколько сложнее его. Но инструменты для разработки на Java проработаны гораздо лучше (если сравнить IDLE и Eclipse). Изучение Java поможет легче перейти на работу с низкоуровневыми программными языками.

Очень популярен также язык PHP. С ним легко найти решение вопроса на форуме или найти себе наставника. Объясняется это обилием в мире РНР-программистов, работающих на разных уровнях. Здесь нет нормального импорта, зато одну и ту же задачу можно решить множеством способов, что, впрочем, усложняет обучение. Этот язык предназначен только для WEB.

А вот языки C и С# для новичка слишком сложны.

Ruby лучше изучать как второй язык.

Где и как получить начальный опыт?

Начальный опыт — это то, что нужно, чтобы стать программистом, ведь без него не получить хорошей работы. Таков жизненный замкнутый круг.

Во-первых, не нужно ждать прочтения абсолютно всей литературы по избранному языку. Первые строки нужно пытаться писать, прочитав уже пару глав книги. Нужно выполнять задания, предложенные в книге, разбирать примеры. Задания из книг можно усложнять своими идеями, придумывать к пройденному материалу собственные задачи и решать их.

Во-вторых, желательно быстрее найти первый проект. Знание английского языка поможет в регистрации на англоязычных биржах, где рынок обширнее. Этот фактор совершенно бесспорен при выполнении задачи, как стать программистом. Просто необходим, поэтому английский нужно не только учить, но и совершенствовать, учиться делать на английском всё, а не только читать и писать. Отдавать предпочтение технической литературе, слушать подкасты на английском, изучать программирование по англоязычным учебникам.

Тем, кто пока только учит английский, помогут русскоязычные фриланс-биржи. Можно найти пару десятков небольших проектов, соответствующих текущему уровню знаний или чуть выше его, подать на них заявку. В основном будет много отказов, но если останется пара заявок, то можно получить первый опыт. Другим вариантом для получения практического опыта являются открытые источники, которым нужны новые люди, пусть и новички. Увидев в проекте на GitHub или иных сервисах для хостинга кода баги и заглянув в баг-трекер, можно предложить способы их решения.

Видео о том, как стать хорошим программистом

Что ещё нужно знать будущему программисту?

Что ещё изучать помимо английского и языков программирования — зависит от выбранного направления.

  • Так, WEB-программисту нужно знать JavaScript, CSS, HTML, программисту десктопов — различные фреймворки и API операционной системы, разработчикам мобильных предложений требуются фреймворки Windows Phone, iOS или Android.
  • Алгоритмы нужно изучать всем: найдя подходящую книгу по алгоритмам или отучившись на Coursera.
  • Кроме того, необходимо знание какой-либо базы данных, структуры данных, паттернов программирования.
  • Полезно изучить хотя бы один репозиторий кода. Знать обязательно систему версионного контроля (лучше выбрать наиболее популярный Git).
  • Программист должен знать операционную систему, рабочие инструменты и среду разработки, а так же уметь пользоваться Google.

nazvania.net

Каким программистом стать

Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Правильный ответ - хорошим )))

А вы не знали?

Удивительно, но многие не знают.

Большинство новичков “чешут репу” и думают, каким же мне стать программистом?

Программистом баз данных, веб-программистом, прикладным программистом, системным программистом? А может программистом микроконтроллеров или станков с ЧПУ?

И на каком языке писать программы?

На Делфи? На С++?

“Да это же всё безвозвратно устарело!” - скажет кто-нибудь новичку. Вот С# - это круто. Это то, что надо.

И новичок бросает Паскаль, который почти уже изучил, и начинает ковырять C++, C#, Ассемблер или ещё чего-нибудь, бросаясь из крайности в крайность. В итоге, погнавшись “за двумя зайцами”, он так ни одного и не поймает.

Почему?

Да потому что нельзя одновременно стать профессионалом в нескольких профессиях, также как нельзя одновременно хорошо изучить несколько языков программирования.

Ключевое слово здесь - хорошо.

А каким программистом мы хотим стать? Правильно - хорошим.

Поэтому забудьте всё, что вы слышали от “крутых” программистов, которые в реальности не написали ни одной стоящей программы. Пошлите их всех на…

И начните с начала - с самых азов:

ЗДЕСЬ

И постепенно вы выйдите на тот уровень мастерства, когда без ложной скромности сможете сказать, что вы - хороший программист. А в какой области - это не так уж и важно.

Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

info-master.su