С чего начать программисту обучение. Необходимые личные и деловые качества, профессиональные умения и навыки для работы программистом – что необходимо знать и уметь? Освоить серверный язык программирования

С чего начать учится программированию с нуля чайнику?
В этой статье я постарался подробно разобрать, можно ли стать программистом с нуля самостоятельно и какие варианты есть для того, чтобы освоить программирование самостоятельно и начать зарабатывать на этом.
UPD : Тем, кто ищет, с чего начать изучать программирование с нуля в 2018 (или пока только собирается и приступит в 2019:)), сильно повезло благодаря книге Якова Крамаренко «Введение в разработку программного обеспечения». Я искренне рекомендую с ней ознакомится — она стоит того, чтобы обновить статью №1 по рейтингу Google и отзывам читателей для тех, кто изучает программирование самостоятельно.

Постарался дать самый лучший — на мой взгляд — путь. Предупреждаю — он не из легких! Дальнейшее прочтение может стоить вам многих часов интересных занятий:)

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

Если вы найдёте, чем дополнить эту статью, чтобы сделать её полезнее для людей — напишите в комментариях.

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

Книга по веб-программированию для начинающих

Версия 2016 года есть в переводе: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about .

Лучше пройти курс на английском. И язык прокачаете, и информация посвежее. Хотя сильно курс не менялся — только в 2017 вместо PHP начал использоваться Python.

Прохождение курса займёт время, но даст довольно полное понимание, которое сложно иначе получить самостоятельно.

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

Лучший выбор в такой ситуации — на мой взгляд — начать изучать веб-разработку. Здесь ниже порог входа для новичков и есть возможность раньше начать выполнять несложные заказы.

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

Если бы я начинал с нуля изучать веб-разработку самостоятельно (понимая, что без вложения денег это более долгий путь), то сам себе я бы порекомендовал такой путь:

1. Разобраться в HTML и CSS

Хороший курс для базового освоения HTML и CSS: https://learn.shayhowe.com/html-css/ (English) или https://webref.ru/layout/ learn-html-css (перевод).

После этого стоит посмотреть на возможности Bootstrap, который стал стандартом де-факто для ускоренной разработки веб-приложений: http://getbootstrap.com/

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

На этом тоже можно зарабатывать — как на фрилансе, так и работая в ИТ-компании, которая специализируется на веб-разработке.

Но раз мы решили стать программистом — двигаемся дальше!

2. Познакомиться с jQuery

Если понравилось — можно продолжить разбираться с frontend и начать изучать Javascript .

Если следом пойдет https://angularjs.org/ или http://backbonejs.org/ — то это путь во фронт-енд разработку. Хорошая специальность, тем более, что такие знания пригодятся любому программисту, который выбрал веб-разработку.

Мой совет — пока остановиться на jQuery и двигаться дальше.

3. Освоить серверный язык программирования

Тут выбор большой. Самые перспективные языки программирования — Ruby, Java, Python, Node.JS (Javascript для сервера).

Самым простым языком программирования для начинающего будет Python. Если вы изучите Python, а затем фреймворк Django для веб-разработки — у вас будет все необходимое для самостоятельной реализации довольно сложных проектов.

Хороший вариант — язык программирования Python и Django

Плюс — Python и Django научат вас «правильному» программированию. Python стабильно входит в ТОП5-10 самых востребованных языков, а хорошие специалисты в Python одни из самых высокооплачиваемых программистов. Python одновременно простой и понятный для начинающих программистов язык программирования, и при этом используется во многих крупных компаниях и на больших проектах.

Для самостоятельного освоения прочтите «Python для детей» Джейсона Бриггса или посмотрите:

Среди других материалов рекомендую Learn Python The Hard Way . книгу «Простой Python. Современный стиль программирования». И, конечно The Python 2 Tutorial и The Python 3 Tutorial .

Django — возможно лучший фреймворк для веб-разработки

Лучший инструмент на все случаи жизни очень сложно найти. Django имеет все шансы стать таким инструментом для веб-разработки.

С чего начать для изучения Django:

Начните с официальной документации, там очень хороший tutorial: https://docs.djangoproject.com/en/2.1/intro/

Tango with Django — это хорошая возможность подтянуть английский и одновременно получить понимание того, как устроены веб-проекты и как всё работает.

Вариант №2 — PHP и WordPress

Другой путь — начать с PHP и работы с популярными CMS. Если вы изучаете программирование сами и хотите быстро начать работать — начните с PHP.

Многие считают PHP «не совсем настоящим» языком программирования и для этого есть основания. PHP редко используется в крупных веб-приложениях и заточен только для веб — использовать его в других областях не получится.

С другой стороны — PHP лидирует по количеству запущенных в мире сайтов. На нем основаны самые популярные CMS (системы управления сайтами).

После этого разберитесь с созданием тем под WordPress — это вероятно самая популярная CMS в мире, если оценивать по количеству запущенных сайтов.

Хорошо разобравшись с этим, уже можно найти работу. Под PHP и WordPress очень много сайтов, поэтому работы хватит всем.

Как начать зарабатывать программистом

Многие представляют работу программиста-фрилансера так:

На самом деле это выглядит примерно так:

Если вы готовы к работе программиста и ищете способ зарабатывать — добро пожаловать на фриланс! Фриланс-биржи позволят вам найти простые заказы (возможно почти бесплатно на первых порах) — чтобы получить практику. Как правило, работа в ИТ-компании может быть прибыльнее, если вы просто ищете работу программиста.

Уже после пункта 2 — освоив HTML, CSS и jQuery — можно идти на фриланс биржи и брать несложные заказы, нарабатывая профиль.

Знаете английский? https://www.upwork.com/

Совсем нет, даже со словарем? http://freelance.ru/

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

Быстрый путь в веб-разработчики

Исходя из моего опыта, на изучение программирования с нуля уйдет от 6 до 12 месяцев в лучшем случае, при этом 6 месяцев — это если вам кто-то помогает.

Чтобы ускорить процесс входа в ИТ — ищите возможность пойти на тренинг (возможно понадобится не один) или найдите человека, который будет заниматься с вами. Реально без человека, который передаст вам свои знания — очень сложно, можно просидеть год за книгами и так и не начать. А со знающим человеком, который может просто рассказать о сложных вещах — намного легче.

В свое время я выбрал путь входа через тренинг. При том, что я много знал о разработке, это позволило мне за 2 месяца освоить то, на что могло уйти полгода. Ищите свой путь.

У меня есть , которые серьезно приняли решение начать карьеру программиста, и хотят ускорить этот процесс. Есть много других курсов. Если вы найдёте себе ментора — человека, который проведёт вас за руку — это заметно сократит ваш путь в разработчики.

Как только почуствуете уверенность в том, что можете что-то создать — ищите компанию, где сможете развиваться дальше или клиентов.

HTML, CSS, Python и Javascript — это только базовые знания, первый этап. Дальше очень важна практика, изучение алгоритмов и инструментов для разработки.

Если есть вопросы — задавайте в комментариях! Надеюсь эта статья поможет вам сделать первый шаг. Успехов!

Многие новички боятся, что уже не в том возрасте, чтобы учиться кодить. Поэтому, специально для пользователей GeekBrains, мы поинтересовались у разработчиков известных компаний, есть ли возраст, в котором уже поздно начинать изучать программирование.

Александр Агуленко, Software Engineering Intern в Google

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

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

Я слышал историю о том, что двукратный чемпион мира по программированию Евгений Капун (из университета ИТМО) начал заниматься программированием только в университете и всего за несколько лет достиг больших успехов. Не берусь говорить, насколько правдива эта история, лучше уточнить её у ребят из ИТМО:)".

Сергей Миронов, руководитель направления eCommerce Software Development в Techport

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

Я компьютерами увлекался ещё с детства. ZX Spectrum - с него всё и поехало, после школы поступил на факультет информатики и радиоэлектроники, там начал программировать, но по сути ничего не выходило, да и всё это был детский лепет. Программировать научился когда уже закончил универ и попал на работу стажером. Поздно, думаю, не бывает, тут больше вопросы "зачем?" и "для чего?". Научиться кодить - проще, чем кажется, а вот разбираться в бизнесе, в котором работаешь, и решать его задачи с помощью программирования намного сложнее. Основная проблема поколения, которое сейчас приходит в эту профессию, - это амбиции и заблуждения. Со старта каждый хочет получать не менее 100 тысяч рублей, и, конечно же, все думают, что это очень весело, все начитались красивых статей на хабре про сводный график, кучу еды, гамаки, насмотрелись красочных фото офиса Яндекса и т.п. На самом деле, платить просто так никто не будет, без хорошего опыта, какое бы не было образование, ты никому не нужен. Я начал с 12 тысяч (в Макдональдсе в то время платили бы больше) со временем эта цифра, конечно, изменилась более чем в 10 раз, но это было непросто".

Валерий Попов, iOS developer в Rambler&Co

"В 19 лет начал, до этого даже в школе не было программирования. Правда, был олимпиадником по математике. Начинал с Delphi в универе, потом C++, Java, и так далее. Мне кажется, что и в 19 с нуля учить достаточно поздно, но если более объективно, то, думаю, не позже 30 стоит начать. Зависит от таланта и состояния мозгов. Конечно, есть исключения, но обычно люди за 30 уже хуже обучаемы, да и не могут кодить сутками".

Юрий Волков, разработчик в Яндекс

"Несмотря на то, что мне программирование было интересно почти всю жизнь (первые попытки были классе в седьмом), «изучать» программирование я начал где-то на третьем курсе.Тогда это были академические "плюсы" и немного питон. Ну, и почитывал «совершенный код» и ещё что-то. Осознал, что такое «настоящая разработка», уже в 2013-м и то, это были свои маленькие домашние проекты из разряда «сделай себе идеальный линукс».

Насчёт возраста, когда уже поздно: всё зависит от предметной области. Если ты хочешь стать БОГОМ АЛГОРИТМОВ - то начинать следует очень рано и готовить математическую базу в университете, изучая вышмат, в том числе и самостоятельно, ибо именно то, что тебе понадобится, забудут рассказать. Если тебе интересно быть в IT и/или тебе просто хочется иметь ненапряжную работу с большой зарплатой/соцпакетом/и т.д. - вряд ли поздно.Разве что за твоей спиной могут пошучивать что-нибудь типа «стажёр в команде старше сеньора».

Возраст, когда не стоит идти в разработку, - это возраст, когда становится тяжело изучать что-то новое. И если тебе это тяжело уже сейчас - скорее всего, эта работа не для тебя.

О себе:). Зарабатывать деньги разработкой я начал чуть больше полугода назад (а почти все мои друзья из этой сферы - 3–5 лет назад). До этого год работал админом в вузе, потом два года - в яндексовом хэлпдеске. То есть, места, где программирование никогда не было основным занятием".

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

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

Сразу можно ответить, что начать можно с любого возраста, главное, чтобы было желание и мотивация заниматься программированием. Рассмотрим подробнее вопрос о возрасте для начала обучения программированию и о том, что нужно учитывать и как поступать в тех или иных случаях.

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

Программирование и возраст

Учить программирование можно начать в любом возрасте. Работать программистом можно в любом возрасте, включая пенсионный. Каких-то явных и жестких ограничений в этих вопросах нет. Но есть важные критерии: склонность к программированию, мотивация, а с возрастом – определенные знания, навыки и умения в этой сфере.

Начать учить программирование можно в любом из трех возрастных категорий:

– Те, кому 11-12 лет или меньше, и они задумываются о начале обучения. Точнее, задумываются, как правило, их родители;

– Люди, кому от 14 до 18 лет;

– Те, кому от 20 – 30 лет и старше.

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

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

Мой ребенок, когда ему было 6 лет, лекции по программированию и даже старался успеть все записать за преподавателем «с доски» в свою тетрадку. А на практические занятия на ПК в компьютерном классе ребенок не любил ходить, хотя и не отказывался там присутствовать.

Как понять предрасположенность ребенка?

Есть два пути:

  1. Лучше узнать свое чадо, дабы понять, есть ли у него логическое мышление, тяга к науке, к технике и какие-либо необычные способности, умения и знания. Все это вместе взятое поможет понять, является ли программирование той сферой, в которой может преуспеть юный ум.
  2. Второй путь – просто предложить будущему программисту эту сферу и заинтересовать его, ненавязчиво подтолкнув к ней.

Где учат программированию

Ранее во многих городах были так называемые Дома пионеров, которые потом стали называться иначе, например, Центр технического творчества детей и молодежи, либо Центр дополнительного образования или как-то иначе. В этих центрах есть различные кружки, в том числе, по программированию.

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

В некоторых школах есть кружки по программированию.

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

Если ребенок попробует учиться программированию, то, возможно, сможет понять, подходит ему это или категорически не годится. И это уже плюс, ибо тогда можно попробовать для ребенка другое направление, не связанное с программированием.

Как направить ребенка?

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

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

Надо показать ребенку, как пишутся программы. На примере какой-нибудь простой игрушки. Неплохо для этого подходит Visual Basic, имеющийся внутри стандартного Microsoft Office, точнее, внутри Excel. Да и сам Excel – это возможность писать простые формулы, и тем самым автоматизировать вычисления. Можно привлечь для этого, например, знакомого студента или репетитора.

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

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

Как выбрать направленность в сфере программирования?

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

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

Какой язык программирования учить?

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

Как уже упоминалось, Visual Basic встроен внутри Excel. Либо можно установить его отдельно.

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

  • Бейсик,
  • Паскаль или
  • Делфи.

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

Если учить программирование в возрасте с 14 до 18 лет

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

Как правило, в этом возрасте подростки активно используют компьютер с телефоном и уже сами решают, кем им стать. По крайней мере, те, кому интересен этот вопрос как таковой.

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

Взрослые люди тоже учат программирование

Возрастной диапазон от 20-30 лет и выше относится к той категории, в которой человек является сформировавшейся личностью и точно знает, чего он хочет добиться, и потому идет к своей цели прямолинейной поступью.

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

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

Люди, которые после 20-30 лет, начинают осваивать программирование с полного нуля и зачастую достигают замечательных результатов.

Можно стать программистом и в 40 лет при наличии сильной мотивации и склонности к написанию кода (программ).

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

Программирование - один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker .

10. Выясните, почему вы хотите программировать

Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать - это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.

9. Выберите правильный язык

7. Попробуйте приложения для детей

Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).

6. Воспользуйтесь бесплатными онлайн-тренингами

Бесплатные онлайн тренинги и проекты (Codecademy , Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись . Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

5. Пройдите онлайн-курс

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности . Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов .

4. Бесплатные книги по программированию

Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.

3. Изучайте, играя

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

2. Найдите наставника или станьте им

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

1. Разберите чужой код