Инструкция для тех, кто хочет стать программистом с нуля

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

mayrum/Shutterstock.com

mayrum/Shutterstock.com

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

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

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

Какой язык, технологию и направление выбрать

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

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

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

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

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

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

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

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.

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

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

Почему стоит выбрать Python

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

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

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

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

www.vitaliypodoba.com
Max Tatarchenko
Max Tatarchenko
2015-05-06 13:23:34
<blockquote><cite>Стоит только сравнить Eclipse и IDLE.</cite></blockquote> IDLE, Карл!
Vladimir Burenko
2015-05-06 13:26:08
<blockquote><cite>Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет.</cite></blockquote> Вот это поворот!
Алексей Старцев
Алексей Старцев
2015-05-06 13:28:11
Обстоятельства такие, что ВО нужно всем. Например, для получения рабочей визы. Но! Самообучение даст больше пользы для работы программистом. То есть, стоит совмещать.
Dennis Sadovsky
2015-05-06 13:52:17
Нанимают программиста, который обладает потрясающим навыком гуглить. Дают нетривиальную задачу, и ОМГ! В гугле решения нет! В SOF только вопросы без ответов! В итоге задача не решена. Программист ищет новую работу. Задача ждет true-программиста. "И главный навык программиста" - уметь максимально качественно решать поставленную задачу в поставленные сроки, подобрав для этого наиболее подходящие инструменты (имхо). Гугл (в частности stack overflow) - лишь помощник (имхо). Язык программирования - всего лишь очередной инструмент (имхо). Чем лучше программист - тем качественнее и эффективнее его работа, количество языков/изученных технологий роли особой не играет (хотя в увеличением стажа - это количество растет )(имхо). В университетах развивают системное мышление и закладывают весьма годную основу для саморазвития. Без этой основы человек будет ориентироваться в про-ИТ сфере с трудом. Если человека программирование интересует лишь в 8-часовое рабочее время - хорошим программистом он не станет (и тут тоже имхо). От себя добавлю, что изучать любую технологию удобно с ее истории создания, ибо там кроется та самая истина, а именно причина создания, и, как следствие - ее предназначение (true-использование). Помните про правило 10000 часов. За 24 часа по видеоурокам с рутрекера программистом не стать. Трэш-педагогов типо Евгения Попова - в игнор. Почитывать хабру. Гонять на Digital October и в таком духе. К статье особо придираться не хотел, тк в основном написано верно, хоть это очень обобщенно и выглядит больше как пособие для желающих подработать программистом, все же у каждого своя дорога, свои цели и способы их достижения.
Дмитрий Колотилин
2015-05-06 14:24:50
И приходят потом ко мне на работу устраиваться такие вот горе программеры, не знающие что такое хеш и что такое тег, но отлично знающие про хештег
Дмитрий Колотилин
2015-05-06 14:28:54
быть программистом это не веселое прикольное развлекалово + типа влегкую срубить бабла, это напряженный труд, огромное количество знаний и умение использовать эти знания, тк просто код, даже очень хороший мало кому нужен, кроме самого автора. А вот чтобы решить чью-то задачу, автоматизировать хоть какой нибудь процесс нужно не только уметь "кодить"
Алексей Старцев
Алексей Старцев
2015-05-06 14:30:12
Дайте свои советы новичкам.
Игорь Журавлев
2015-05-06 16:40:02
Ваш комментарий , впрочем, можно отнести к любой профессии - любая профессия это труд, знания и умения, порой дающиеся кровью и потом. Если ты профессионал или хочешь им стать. В остальном - это все будем твоим ремеслом, а ты ремесленником ;)
Сергей Волков
2015-05-06 17:25:23
Дмитрий, а можно подробнее? Какие знания, умения и навыки нужны программистам?
Michael Miriti
Michael Miriti
2015-05-06 17:33:26
<blockquote><cite>JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.</cite></blockquote> Потрясающая глупость.
Алексей Старцев
Алексей Старцев
2015-05-06 17:45:16
Там даже ООП в классическом виде нет.
Pavel Ivanichenko
2015-05-06 18:18:30
Видимо автор фанат Python и у него не особо вяжется в голове прототипирование. Не стоит относиться к данной статье серьёзно.
Rashad Khalilov
Rashad Khalilov
2015-05-06 19:57:43
Касательно IDLE - многие учебники советуют использовать его, но ребята из JetBrains предлагают отличную IDE - PyCharm Educational Edition, приятный интерфейс, ненавязчиво приучающий начинающего кодера к средам вроде VisualStudio. Успехов всем, кто изучает Python, неплохое начало для изучения программирования и не надо слушать людей, которые норовят пересадить на true-C и прочие языки. Язык значение не имеет, это всего лишь инструмент. Но что мне нравится в Python - благодаря синтаксису многие учителя на популярных Coursera и edX успевают в своём курсе посвящать больше времени алгоритмам, увлекательным заданиям и практическому применению, что позволяет не терять интереса к программированию из-за сложности освоения синтаксиса. От себя хочу добавить курс Programming for Everybody на Coursera, курс ведет харизматичный Charles Severance, который в легкой форме познакомит не только с Python, но и с основными паттернами программирования. Благодаря нему я в своё время наконец смог освоить такие базовые понятия, как "цикл", "функции", "массив данных", и впоследствии, сталкиваясь с ними, уже мог вспомнить практический пример. Что лучше всего помогает обучению? Самостоятельный поиск задач, которые можно упростить при помощи программирования. Именно это настраивает на то, чтоб быть программистом - профессионалом, который находит алгоритм решения этой задачи, в противном случае уклон пойдёт в сторону кодера - тоже важному навыку, но не настолько востребованному, как программист, который даёт направление кодеру, а тот находит подходящий под алгоритм код (поправьте, пожалуйста, если ошибаюсь). Личный опыт - написал консольную программку для друга, который готовился к экзамену по английскому, и помогла ему самостоятельно заниматься, выбирая случайный вопрос. Пока думал, как решить для него эту задачу - все, что подавалось отдельными кусочками соединилось в одно и помогло применить на практике почти весь теоретический материал. Надеюсь, обучающихся вдохновит этот метод, и может, вы поможете друзьям автоматизировать их труд ;) Кто может подсказать хороший, разжёванный материал по алгоритмам на Python? Буду признателен :)
i_prudnik
2015-05-06 20:03:25
Как копирайтер-любитель скажу, что нормальная статья. Как программист скажу то, что статья по большей части бесполезна. Просто обобщенная информация которая и так понятна. Как предприниматель скажу, что не нужно что-то брать первым, что-то вторым. Нужно сразу лезть во что-то серьезное и по ходу разбираться, иначе получается пустая трата времени. А изучать программирование нужно далеко не с языка, а с основ информатики и технических устройств (хотя бы в общем виде), иначе человек превращается в кодера, он пишет код, но не понимает сути... Язык всего лишь инструмент который позволяет что-то создать или решить задачу. Поэтому программист своего рода творец, инженер и изобретатель, а не кодер. Конечно, современный технологии портят дух программирования, когда у тебя есть ограничения по памяти и ресурсам, а ты должен ухитриться решить поставленную задачу (посмотрите код старых игр для NES например, они действительно оптимизированы). Сейчас же подключил компоненты(фреймворки), все скомпоновал, мышкой накидал объекты интерфейса и тому подобное. Я учился в элитном российском политехническом вузе. Там конечно пытаются научить студентов учиться, но вот вас ничему другому там не научат. Максимум основам того или иного языка, в общем ничего того там нет, что присутствует в требованиях по вакансиям (я про фреймворки и технологии). Вам придется всему учится самому, поэтому с этого и лучше начать. Большинство тех "программистов" что я знаю, умеют лишь гуглить и совмещать участки кода, они не понимают суть того, что они пишут, они гуглят ошибки которые им подсказывает компилятор, интерпритатор или ide. Они не понимают ООП, не знают паттернов программирования и т. п. Они не изобретатели по своей сути, им сложно что-то создать самостоятельно, они могут просто решить задачу шаблонным методом. Спасибо за внимание...
Max Tatarchenko
Max Tatarchenko
2015-05-06 21:22:22
Да, знание и умения относятся ко всем профессиям, разница тут только в том, что при всей своей инженерности, программирование довольно творческая профессия, где кроме простых знаний нужна креативность, изобретательство и изворотливость. И чтоб стать программистом, хорошо бы иметь соответствующие врожденные качества: ум, логичность мышления, любознательность и быструю обучаемость, учится новому придется всю жизнь. Конечно это все не относится к обычному веб-формошлепству или "программированию на HTML"(c) - тут любому школьнику по силам, беда в том, что эти школьники мнят себя программистами.
Алексей Старцев
Алексей Старцев
2015-05-06 23:28:57
<blockquote><cite>хорошо бы иметь соответствующие врожденные качества: ум</cite></blockquote>
Ivan Artemov
2015-05-06 23:57:38
Тихо, пришел крутой JS-разработчик и всех поставил на место ) Причем тут вяжется или не вяжется ? Начинающему это точно не нужно.
Max Tatarchenko
Max Tatarchenko
2015-05-07 09:13:23
Что не нужно? не нужно знать парадигм программирования? Вы серьезно? JS - прототипно-ориентированный язык с элементами функционального подхода. Глупо от него ждать классического ООП. И что с того? Ну, такой вот язык. <blockquote><cite>Причем тут вяжется или не вяжется ? Начинающему это точно не нужно.</cite></blockquote> При том, что не надо возносить профанацию.
Алексей Старцев
Алексей Старцев
2015-05-07 10:48:27
Вопрос в том, что для новичка лучше – классическое ООП или прототипирование.
Сергей Волков
2015-05-07 11:33:51
Угу.. что-то прояснилось. :)
Max Tatarchenko
Max Tatarchenko
2015-05-07 11:41:56
Для новичка надо учить общий подход и понятия разных парадигм. Вообще в идеале язык, на котором учишься, должен быть вообще оторван от промышленности, чтоб не нести в индустрию "детские стереотипы и ошибки", вошедшие в привычку при обучении. Как это не абсурдно, но для первого языка вполне себе катит тот же Паскаль, какой бы многословный, негибкий и устаревший бы он не был. Потом программист должен будет при надобности осваивать новые технологии/языки/инфраструктуры в сжатые сроки и никого не будет интересовать учил он их или нет. Да, специализация важна, но также надо быть готовым перейти на все что угодно. А тут нужны фундаментальные знания, общие подходы и тд.
Алексей Старцев
Алексей Старцев
2015-05-07 11:51:24
В Германии ещё хуже, через ML обучают.
Max Tatarchenko
Max Tatarchenko
2015-05-07 11:53:53
главное, чтоб не Basic))))
Денис Садовский
2015-05-07 12:48:12
Я всегда считал, что учиться учат в школе, а в университете этот навык уже надо использовать.
Станислав Пьянов
2015-05-07 15:13:43
Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет Как вообще такой бред может в голову прийти? нет слов!
Динара Алеева
2015-05-08 09:08:48
Алексей Старцев, а кто Вы по образованию и какое отношение имеете к программированию?
Alexander Zhurovich
Alexander Zhurovich
2015-05-08 09:28:24
Если список рекомендаций на тему как стать программистом начинается с того, какой язык выбрать, — можно сразу закрывать. Именно благодаря таким материалам в программировании множится число профанов, вооруженных лишь чужими шаблонами для решения конкретных задач, мало понимая суть этих шаблонов. Программист начинается со знания теории алгоритмов и структур данных, а эта дисциплина не зависит от конкретного языка — все языки устроены в соответствии с этой дисциплиной. Язык — всего лишь инструмент для реализации решения, сформированного на уровне общего алгоритма. А если ты не знаешь, как будешь решать задачу, на какие этапы ты разобьешь это решение, как оптимизируешь его, чтобы машина не тратила свои вычислительные ресурсы впустую, отнимая их у других полезных процессов — язык не поможет тебе стать хоть сколь-нибудь толковым программистом, будь он хоть в сто раз проще «Питона» или PHP. Ты просто из чайника превратишься в ламера, который, научившись строить какие-то элементарные языковые конструкции, уже пишет резюме крутого программиста.
Алексей Старцев
Алексей Старцев
2015-05-09 02:12:04
Как хорошо, что наш список начинается не с выбора ЯП.
Алексей Старцев
Алексей Старцев
2015-05-09 02:12:37
Телекоммуникации. Изучаю.
Alexander Zhurovich
Alexander Zhurovich
2015-05-09 08:37:12
Но и не с базовой теории. Ментор ментору рознь, курсы курсам рознь, вуз вузу рознь… Вы не даете нужной инфы, чтобы человек не попал не пойми к кому.
Алексей Старцев
Алексей Старцев
2015-05-09 11:38:59
Добавьте полезный комментарий.
Alexander Zhurovich
Alexander Zhurovich
2015-05-09 12:14:50
См. мой первый комментарий.
Алексей Старцев
Алексей Старцев
2015-05-09 12:36:23
Учить алгоритмы и структуры данных? Кидайте ссылками на книги. А то ж книги книгам рознь.
Alexander Zhurovich
Alexander Zhurovich
2015-05-09 12:42:30
Это я хотел увидеть в вашей статье. Вы ж взялись советовать другим.
Nopa Pasaran
2015-05-09 12:49:58
есть ли такая же инструкция для тех, кто хочет стать UX/ UI Designer 'ом и проектировщиком пользовательских интерфейсов в вебе и приложениях?)
Динара Алеева
2015-05-09 19:14:23
Как видите, практикующие программисты весьма озадачены вашей статьей) Наверное после таких советов и появляются студенты, которые хвастаются тем, чем учатся на каких-то там курсах и могут написать около тысячи строк игры))) Новичкам все ж совет - загляните на хабрахабр. Извиняюсь за рекламу.
Динара Алеева
2015-05-09 19:17:23
Вам действительно знающие люди замечания делают, а вы огрызаетесь. Фу таким быть.
Алексей Старцев
Алексей Старцев
2015-05-09 20:38:34
Я пока не понял, что этот человек знающий. Критикан – да.
Алексей Старцев
Алексей Старцев
2015-05-09 20:38:58
Видимо, вы переоценили полезность своего комментария.
Alexander Zhurovich
Alexander Zhurovich
2015-05-09 20:42:10
По отношению к вам, видимо, переоценил.
Alexander Zhurovich
Alexander Zhurovich
2015-05-09 20:49:51
Так эту же инструкцию и давайте. Пару слов изменить: и получите наставление для будущих генетиков или сталеваров.
Liubov Kosinskaya
2015-05-10 23:07:18
В вашем комментарии больше полезного, чем во всей статье :)
Liubov Kosinskaya
2015-05-10 23:11:18
Во множестве профессий гораздо проще закончить что-нибудь, дающее право работы в желаемом месте, чем получить признание российского диплома. Необходимость ВО "всем" - крайне спорное утверждение. У меня их два, к примеру. Интересно было. К заработку денег и образу жизни ни одно из них отношения не имеет.
Liubov Kosinskaya
2015-05-10 23:18:30
Умоляю вас, не надо на каждой строчке писать "имхо". Всем и так понятно, что вы своё мнение пишете, а не энциклопедию цитируете. А то хороший по сути комментарий с этими имхами становится невозможно читать.
Liubov Kosinskaya
2015-05-10 23:25:49
Я, как человек не знающий о программировании ничего, но имеющий к теме интерес, из этого комментария извлекла больше пользы, чем из всей статьи.
qlmoriarty
2015-05-11 02:11:58
<blockquote><cite>JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.</cite></blockquote> Это в с чем сравниваете? Автор вы хоть понимаете сами что вы пишете? Более неудачной статьи у вас я не видел. Python уныл, и ничему хорошему вот он точно не научит также как php и ruby. Если что и выбирать первым языком это должен быть C/C++ иначе понимания нет, выходит один *овнокод и толпа нелепых джуниоров (вероятно и автор в том числе), пытаются писать статьи на тему первого языка . Совет: Автор разберитесь в теме прежде чем писать статьи на тему, это не про уровень воды в организме писать. Вывод: Лайфхакер стает хуже из за подобного творчества подобных "Авторов".
Алексей Старцев
Алексей Старцев
2015-05-11 10:38:25
Почитайте требования по рабочим визам, например, в Европу или США.
Алексей Старцев
Алексей Старцев
2015-05-11 10:39:32
Взгляните на источник статьи.
Алексей Старцев
Алексей Старцев
2015-05-11 10:40:39
Замечательно, что для вас статья послужила местом, где были опубликованы два полезных для вас комментария.
Алексей Старцев
Алексей Старцев
2015-05-11 10:43:01
Советовать С/С++ новичкам – не надо так делать.
Liubov Kosinskaya
2015-05-11 13:21:21
При чём тут требования? Ну почитайте требования к тому, чтобы стать президентом США и впадите в уныне от того, что вам это не светит :) Примерно такой же совет. Я говорю о том, что для желающих жить за границей вариант получения рабочей визы - один из самых трудоёмких путей. Есть масса иных.
Aleksandr Karachev
2015-05-13 00:12:00
Не дочитал. Остановился на моменте, где вы советуете пойти учиться в универ, что бы научиться программировать. Понял, что статья из цикла "записки сумасшедшего".
Василий Теркин
2015-05-20 23:25:36
<blockquote><div><cite>тут любому школьнику по силам, беда в том, что эти школьники мнят себя программистами</cite></div></blockquote> ) <blockquote><div><cite>программированию на HTML</cite></div></blockquote> ) Не каждый "школьник" осилит сверстать страницу без применения дримвивера и прочего ... Видимо "бекендщики" возомнили о себе что-то несоответствующее действительности)
loadaverage
2015-05-22 01:33:46
<blockquote><div><cite>JavaScript — очень простой язык, но ничему хорошему он вас не научит</cite></div></blockquote> После этого можно не читать. Автор как бы намекает что non-bloking i/o это фуфло и хипстерство. Совет автору: man асинхронность man node.js man callbacks Кстати, не стоит путать разработчика и программиста - это две разные вещи. Если конечно мы не про говнокодинг. А вообще совет - единственный способ выучить язык - это писать код параллельно учёбе под конкретные задачи, хеллоуворд не покатит
loadaverage
2015-05-22 01:38:28
<blockquote><div><cite>Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.</cite></div></blockquote> Ржал. А если серьезно - какие? И главное куда, уже весь средний бизнес+ свалил давно.
loadaverage
2015-05-22 01:42:02
<blockquote><div><cite>Почитывать хабру.</cite></div></blockquote> Мои 5 центов - хабра полное фуфло (99% нормального материала - перепечатка, причем не всегда с указанием первоисточника), гораздно полезнее читать нормальные ресурсы, правда они все на английском, но это только плюс.
Денис Садовский
2015-05-22 11:46:17
@Liubov Это осознанная мера. Как показывает практика, многие не понимают, что это личное мнение, поэтому приходится упоминать об этом чуть ли не в каждом предложении ("Всем и так понятно" работает далеко не всегда). Без этого мой комментарий породил бы тонну аналогичных с попыткой что-либо мне доказать. Мы же в интернете!
Денис Садовский
2015-05-22 11:46:35
@ loadaverage На хабре есть новости ИТ индустрии, это удобный русскоязычный способ быть в курсе. А технические статьи - да, лучше искать оригинал. Именно поэтому написал не "читать хабру", а "почитывать хабру".
Александр Кострюков
2015-05-22 13:30:43
Я все думаю, откуда в мире столько говнокодеров... А вот оказывается откуда, один идиот написал, остальные подхватили. Удобочитаемый код в питоне ? А в рельсах или 1С он видимо вообще не читаемый. Советы должны примерно так звучать: 1. Первое с чего нужно начать, это ознакомление с областью. Посмотреть вакансии, посмотреть заказы, посмотреть существующие технологии и какие задачи при их помощи можно решать. Какие плюсы и минусы имеют и т.д. Понять, что есть языки разных уровней, есть различные фреймворки и т.д. 2. Второе, это изучение базовых алгоритмов, логики, азов высшей математики, что бы в голове все лежало по полочкам. 3. Изучить концепции структурного программирования, почитать как правильно, как неправильно и почему оно так. 4. Выбрать произвольную технологию, хоть паскаль и реализовать базовые логические алгоритмы на ней. 5. Придумать себе несколько задач, которые вам лично хотелось бы сделать или те, которые помогут вам в жизни и начать их реализовывать в порядке возрастания сложности. 6. Запомнить раз и на всегда, что язык программирования не важен! Зная алгоритмы и основы вы сможете освоить любой язык посредством хелпов, форумов и т.д. Фактически, вам нужно выучить только синтаксис. 7. Двигаться от высокоуровневых к низкоуровневым языкам. Например, решили вы сделать какой-нить простенький веб сервис. Берете Ruby on Rails (фреймворк на Ruby) и делаете. Когда освоитесь в рамках фреймворка можно переходить к самому Ruby. Или в случае с Phyton цепочка выглядит примерно так: Django - Phyton. В случае с Java : Play - Java. Иными словами, до тех пор пока вам хватает возможностей фреймворка дальше можно не лезть 7. Начать поиск проектов, при этом не переоценивать свои силы. Или сразу говорить, что вы начинающий, но готовы сделать не очень дорого. За одно обучитесь. Ну и далее по списку осваивать новые технологии...
aleksej.kyzmin
2015-06-04 08:24:25
Мне кажется, что многие просто не понимают до конца проблемы начинающих программистов. Они не думают над вопросами типа "У меня есть почти упорядоченный массив и чем же мне его отсортировать - QSort или BubleSort" или "Должна быть возможность назначить обработчик моей кастомной кнопке. Какой паттерн из банды четырех тут лучше подойдет?". Большинству начинающих программистов сложно понять где именно ставить точку с запятой, почему x = x + 3 - это нормальный код и т.п. Минусы, как и плюсы можно найти у любого современного языка. JS - очень интересный язык, ввиду своей утиной типизации он многое прощает. Нет чего-то в объекте - просто добавьте это туда. Забыли точку с запятой? Не беда, интерпретатор сам её добавит. Да и программировать Вы сможете везде, где есть браузер. Однако он может и подложить свинью в самом неожиданном месте, а его отладка становится сущим адом. PHP - достаточно популярный язык с большим community, но в нем очень много внутренней нелогичности и противоречивости. На эту тему очень много статей в интернете. Да и писать Вы сможете только серверные скрипты. C++ - я просто промолчу. Если Вы не знаете что такое "Access violation" или "Memory leak" - живите и дальше в своем счастливом мирке! Серьёзно, не надо. C# - достаточно модный и популярный. Очень удобный язык для разработки. Однако, несмотря на наличие Mono, я бы все таки отнес его к языкам, заточенным под Windows. Java - очень популярный язык. Огромное сообщество, множество компонент. Однако его среды разработки всё-таки проигрывают Visual Studio. Python - примерно те же замечания, что и про Java + сложности с переходом с 2.7 на 3, из-за которых большинство библиотек так и осталось на версии 2.7. Так на чем же учиться? Если Вас не пугает программирование в основном для Windows - то C#, на мой взгляд, самый правильный выбор. Community версия Visual Studio сэкономит Вам кучу времени - легкая отладка, умные подсказки комманд (IntelliScence), огромное количество компонент и легкий способ их доставки - nuget - в общем, действительно того стоит.
id299464309
2015-06-18 13:22:58
Здравствуйте! Не так давно наткнулся на свежеиспеченный фриланс сервис под названием «kitwork». По старой привычке, зарегистрировал там аккаунт, так сказать «на всякий случай» и отписался в нескольких существующих темах, которые соответствуют моей деятельности. Пока я проявлял любопытство новым фрилансом, мне пришло сообщение в лк от заказчика из одной из тем, где я отметился 15-20 минут назад. После общения с заказчиком, сложилось мнение, что это фейк, но когда дело дошло до оценки тз и последующей предоплаты за предстоящую работу, я резко поменял свое мнение. Заказчик оказался реальным как и проект, который я выполнил. Не смотря на достаточно молодой возраст, на сервисе уже есть реальные заказы и реальные исполнители. В плане юзабилити, достаточно неплохой ресурс. Рекомендую к знакомству! Ссылка на ресурс: http://kitwork.net
Ahmad Oripov
2015-08-06 07:23:27
И почему же тут только C# и C? Вы забыли C++.
Ahmad Oripov
2015-08-06 08:05:16
Я сам начинал с Пайтона , после перешел на C++. И все норм )
Александр
2015-10-26 00:52:00
По этой-же теме интересно написано http://kak-stat-programmistom.ru
Дмитрий Соколов
2015-11-03 02:29:37
Java ментора можно тут найти http://becomejavasenior.com/blog/category/mentor/
Alex Trust
2015-11-05 01:12:31
Я начинал с курсов по Java на Hexlet, хотя по профессии экономист. Сейчас фрилансю, мне нравится.
Татьяна Лисненко
2015-11-29 23:15:19
Ребята, привет! Помогите начинающему чайнику :) Закончила универ по направлению САПР, поступала с наивными мыслями, что стану программером, вместо этого учили из полезного только Visual С++, но в нем развиваться не хочу. А все остальное очень мега поверхностно... После универа работала тестером в сфере веб. Хочу податься туда, только надоело проверять чужие ошибки, хочу делать свои. HTML, CSS в каких-то очень общих чертах изучила благодаря разным ресурсам, сейчас самостоятельно изучаю JS. Очень много инфы, вся с разных ресурсов (а разные люди видят и относятся к языкам по-разному и преподносят соответственно) - получается каша в голове. Хотелось бы получить какую-то целостную картинку. В общем, для себя выбрала PHP, JS, HTML+CSS, MySQL. Посоветуйте, плз, как лучше структурировать обучение, с чего начинать и как двигаться дальше? Кто какие книги, ресурсы использовал, которые стоят того, чтобы их изучить? Какой софт юзаете при работе и чем руководствовались при выборе? Заранее спасибо за ответ! P.S.: Если какие-то вопросы звучат глупо и смешно, не судите строго: чайник - есть чайник :)
Stepan Lenevich
2015-12-01 00:33:13
Половины еще не прочитал, но уже понятно Автор отвечает на вопросы, которые я и задать-то не успел. Спасибо огромное. PhD ... (в химии), решивший превратить программирование из хобби в работу.
Виталий Агапов
2015-12-04 12:58:56
У меня есть желание стать веб-программистом. Для этого я уже освоил html/CSS. Теперь нужно идти дальше. В этой связи возник вопрос, с освоения какой программы лучше начать: с PHP или с JavaScript? Знаю, что в идеале веб-программисту следует уметь писать и на той, и на другой? Но всё же, с какой лучше начать новичку?
Алексей Пономарь
Алексей Пономарь
2015-12-04 19:52:11
Начинайте с PHP, если пойдет — JS подтянется сам собой.
Влад Луган
2016-01-15 22:22:13
Автор, ты с Киева? Напиши мне пожалуйста - http://vk.com/est_mal . Я с Киева, и хочу узнать к кому записаться на хорошие курсы в Киеве. Спасибо.
Alexander Shurik
2016-01-17 23:23:55
'JavaScript — очень простой язык, но ничему хорошему он вас не научит. ' Автор кроме анимации снежинок на сайте к Новому году ничего не делал?
Алексей Главизнин
2016-01-18 01:19:01
Владимир, я энергетик по образованию! Программирование хобби. И уже 20 лет я работаю в ИТ отрасли(мне 40) с момента как вернулся из армии, начинал даже без ИТ образования, ну и получил я его так сказать между делом.В данный момент руководитель отдела внутренней автоматизации в ИТ холдинге в одном из крупнейшем в Москве. Т.е. я обслуживаю не продавцов, ИТшников. А это самые требовательный клиент. К чему я это,ну во первых, это самообразование привело к таким высотам, и к тому что университет ничего не даст, программа университетов запаздывает лет на 5 минимум. ИТ отрасль и программирование ничем не отличаеться от других специальностей. Единицы к 17 годам уверенны чем они хотят заниматься в жизни. И на ИТ шников идут всё, особенно насмотревшись на Джобсов, Цукербергов и иже с ними. Отсюда очевидный ответ, заниматься нужно тем к чему душа лежит. А если(согласно статьи) человек продалжает работать непонятно где, и сам не стал программистом, то ему ничего не поможет. Я не говорю об исключениях 1 на несколько миллионов, у кого алгоритмический склад ума был без дела, и человек просто не знал что это у него в голове и как это применит.
Samael.96
2016-01-19 14:58:02
Автор молодец, правильно продвигаемый бложик, сейчас тоже задумываюсь об программировании. А коменты гуру, конечно хороши и в основной массе даже верны, но на то они и гуру чтобы бросаться во всех какашками, причем не зависимо от направления, программирование это или СЕО, или просто гуру дядя Вася с завода.
Алмас Уразов
2016-03-02 12:30:38
ВО лучше получить за границей в популярных вузах, а у нас послесоветское время, много чего не освоено
Mixail Svetlov
2016-03-09 22:34:32
Статья далека от истины. Все совсем не так. Начинать с Pyton это самоубийство. На Pyton вы выведете привет мир ! И все тупик. Начинать надо однозначно только с HTML и CSS , PHP, mySQL. Потом можете переходить куда хотите. На любой язык . Почему так и не иначе. Просто это самый низкий порог вхождения в программирование. Вы получите экранную часть и серверную + базы данных. Без этих базовых знаний вы никуда не двинетесь. ЗАПОМНИТЕ ! Программирование это не знание набора операторов, а знание взаимодействия (опрераторов-языков-и частей программы).
Александр Сорокин
2016-05-06 12:28:13
Ребята, если хотите научиться программировать, учавствуйте в кодабатлах. С их помощью можно не просто научиться программировать на каком-либо языке, но и сразу же изучить основные алгоритмы. Лично я программирую на PHP и постоянно батлюсь на кодфайтсе ( http://vk.cc/57YySx ) чтобы постоянно изучать что то новое с легкостью. Когда освоитесь на сайте, ВЫЗЫВАЙТЕ МЕНЯ НА БОЙ ;) Мой ник: Alexandr52281