С тех пор как из журнала ушли Форб и Крис Касперски, больше никто не пишет мне писем «Дай аську Докучаева, очень срочно!» и «Есть мыло Криса, которое он читает?». Зато стали появляться парни, которые, поработав после института пару лет в качестве разных офисных сотрудников, вдруг поняли, что на самом-то деле они читают журнал «Хакер» и хотят программировать.

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

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

Наши эксперты

  • Игорь Антонов, начальник отдела разработки программного обеспечения ОАО «Дальжасо», главный редактор vr-online.ru. Выступает в категории «Брутальный взгляд из-за МКАД».
  • Борис Вольфсон, технический директор компании HeadHunter. Для того чтобы ответить на наши вопросы, он провел целое исследование.
  • Артем Табалин, lead developer at DevExpress, выступает в категории «Крутой программист».
  • Александр Сергеевич Лыкошин, директор продуктового направления компании «Телигент». Член ACM, IEEE, IEEE Communications Society, IEEE Computer Society. Преподает в МЭСИ на кафедре АСОИУ Института компьютерных технологий. Выступает сразу в трех категориях: «Крутой парень», «Обладатель самого длинного резюме» и «Похож на Чака Норриса и еще на плохого Бенедикта из „Последнего героя боевиков“ с Шварцем».
  • Олег Придюк , Unity Technologies, Technical Evangelist, выступает в категории «Взгляд из-за бугра»

][: Самое главное: в каком языке программирования у нас сейчас водятся денежки?

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

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

Рис. 1. Количество вакансий программистов в Москве
Рис. 1. Количество вакансий программистов в Москве

По другим городам ситуация сходная: имеется распределение, близкое к нормальному.

Теперь перейдем к языкам программирования: я взял достаточно популярный и авторитетный рейтинг TIOBE (рис. 2).

Рис. 2. Популярный и авторитетный рейтинг TIOBE
Рис. 2. Популярный и авторитетный рейтинг TIOBE

Также я добавил российскую специфику в виде 1С, учел особенности составления вакансий HR-специалистами и убрал нулевые результаты. Чтобы понять, где водятся самые большие деньги, посмотрим, как распределяются топовые вакансии с зарплатой по языкам программирования (рис. 3).

Рис. 3. Как распределяются топовые вакансии с зарплатой по языкам программирования
Рис. 3. Как распределяются топовые вакансии с зарплатой по языкам программирования

Также интересно посмотреть на географическое распределение вакансий, для чего я взял пятнадцать самых насыщенных регионов (рис. 4).

Рис. 4. Распределение вакансий по регионам
Рис. 4. Распределение вакансий по регионам

Александр Лыкошин: Вообще, программировать чрезвычайно увлекательно, могу только искренне позавидовать тем, кто начинает этим заниматься. Профессиональная разработка, возможно, не столь интересна, но обычно более оплачиваема, чем кустарная разработка. 
Какой язык выбрать — вопрос, традиционно вызывающий ожесточенные споры, никогда не приводящие к однозначным выводам. Регулярно публикуются разнообразные исследования рынка труда, по которым можно оценить как размер зарплат, так и объем рынка труда. Конечно, каждый из них по-своему субъективен, но некоторое представление можно составить. Например, в обзоре рейтингов языков программирования 
на первых местах по распространенности C, Java, Objective-C/C++, PHP, C#, Visual Basic, Python, Perl, JavaScript. По количеству предложений работы также лидирует Java, за ней — PHP, Objective-C, Java (Android), SQL, JavaScript. По зарплатам можно помониторить сайты типа HeadHunter.

Олег Придюк: Деньги зависят не от языка программирования, а от умения программировать. Если у тебя десять лет опыта на Pascal или Basic — ты найдешь себе работу с хорошей зарплатой.  Рынок труда, конечно, наиболее лоялен к C# и .NET вообще. Java — корпоратив, интерпрайз… но там очень долго расти до хорошей зарплаты, с C# быстрее выходишь в люди.

Игорь Антонов: Денежки водятся там, где знаний больше. Все сильно зависит от конкретного города/региона. Например, в столице Дальнего Востока (г. Хабаровск) наиболее вкусные позиции предлагают 1С- и PHP-разработчикам. Причем первым, при хорошей подготовке, найти высокооплачиваемую работу значительно проще. По рассказам друзей, хорошие деньги платят за C/ASM, но такую работу (опять же на примере моего региона) найти проблематично. Что касается модных сегодня RoR, ASP.NET/C#, то тут все еще сложнее. Таких вакансий практически нет.

][: Однако большие деньги — больше требований, выше конкуренция. А что насчет вакансий? Кем сейчас легче всего устроиться?

Борис Вольфсон: Опять же благодаря дефициту кадров устроиться практически всем специалистам не так сложно, но в зависимости от языка программирования шансы действительно разные. Здесь для анализа я взял также резюме разработчиков, которые были созданы за последний месяц, и посчитал «конкурс» на вакансию. Данные я отобразил на пузырьковой диаграмме, на которой по осям отложены количество резюме и вакансий, а размер кружков означает количество резюме на одну вакансию (рис. 5).

Рис. 5. Конкурс по языкам программирования
Рис. 5. Конкурс по языкам программирования

Кроме размера кружков, можно проанализировать и кластеры языков программирования: для этого разделим нашу диаграмму на четыре квадранта по линии в 1250 вакансий и 12 500 резюме. Для начала отметим, что верхний левый квадрант («мало вакансий, много резюме») пустой, а в верхнем правом («много вакансий, много резюме») находится только 1С.

Дальше у нас идет большой кластер языков, которые находятся в левом нижнем квадранте («мало вакансий, мало резюме»). Здесь обращу внимание на две фактора:

Очень большой конкурс на Delphi (многие учили его в вузе и указывают это в резюме) и на Visual Basic, который в форме VBA присутствует во многих резюме, в том числе и не совсем программистских. По количеству в этом кластере вырывается Python, что говорит о растущем спросе на него среди работодателей. Далее идут «топовые» языки программирования в левом нижнем квадранте («много вакансий, много резюме»). Эти языки программирования наиболее востребованы на рынке, и на них стоит обратить особое внимание. Также замечу, что из этих четырех лидеров отстающим (или догоняющим, учитывая его возраст) является C#. Интересно также посмотреть, какова ситуация с соотношением резюме и вакансий по регионам (рис. 6).

Рис. 6. Соотношение резюме и вакансий
Рис. 6. Соотношение резюме и вакансий

Артем Табалин: По данным ITmozg, самые востребованные на сегодняшний день языки программирования в России — это C, Java и С++, в порядке убывания популярности. Эти данные коррелируют с рейтингом от craigslist, который представляет статистику по всему миру. Вакансии именно по этим языкам программирования предлагают самые большие зарплаты. PHP с относительно меньшим уровнем ожидаемого вознаграждения занимает четвертую строчку рейтинга. Далее следуют Objective-C и Ruby. Они значительно проигрывают PHP по популярности, и уровень предлагаемой заработной платы для них также ниже. Движимый ростом спроса на фронтенд-разработчиков, JavaScript медленно, но верно набирает популярность и также на сегодняшний день пользуется высоким спросом.

Игорь Антонов: Опять же все зависит от компетенции соискателя. Если не углубляться в профессиональные навыки, то легче всего найти работу начинающим 1С’никам и PHP-девелоперам. Порог вхождения в обе технологии достаточно низок, поэтому нередко на такие позиции принимаются соискатели прям совсем с минимальным опытом программирования. При работе с обоими языками есть много рутинных задач, на которые все и стараются посадить новичков. Вдвойне везет соискателям, желающим устроиться на позицию 1С-девелопера, которые имеют опыт работы со смежными технологиями. Например, если есть опыт работы с базами данных и четкое понимание вещей вроде «индекс, ключ», то шансы влиться в круг любителей покодить на «русском» очень высоки.

][: ПК или мобильные платформы? Веб или офлайн?

Борис Вольфсон: Если сравнивать веб и десктоп, то веб сейчас практически поработил, если можно так выразиться, практически все сферы. А вот мобильное направление только начало расти, и на этом сегменте рынка наблюдается значительный ажиотаж. Сражение между Android’ом и iOS’ом по вакансиям выигрывает Android (рис. 7).

Рис. 7. Соотношение вакансий по мобильным платформам
Рис. 7. Соотношение вакансий по мобильным платформам

Артем Табалин: Еще 10–15 лет назад можно было бы однозначно ответить, что разработка ПО под ПК — это то, чему надо уделять больше внимания. Конечно, в эпоху интернета веб занял лидирующие позиции. Тут от обычных информационных сайтов до крупных социальных сетей и корпоративных интранет-порталов настоящее непаханое поле, на котором хватит места потрудиться каждому желающему. При этом нельзя не отметить настоящий бум роста популярности мобильных приложений. И хотя множество мобильных кросс-платформенных HTML5-фреймворков пытается свести разработку под мобильные к вебу, большинство кастомеров все-таки предпочитает нативные приложения под каждую платформу. Так что популярность Objective-C, Java и C# под соответственно iOS, Android и WinPhone обещает только увеличиваться.

Олег Придюк: А что больше нравится? Растет все. Попробуй веб, попробуй девайсы — точка входа минимальная в любую индустрию. Сходи на хакатоны и буткэмпы, поучаствуй в конкурсах. Тебе надо понять, что тебя прет, куда ты хочешь расти. Не сковывай себя наличием предложений по работе в твоем городе. Мир большой.

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

][: А есть ли сейчас понятие «Язык программирования для начинающего»? Начнем с Turbo Pascal? 😉

Александр Лыкошин: Мне для учебных целей нравится Python. Кроме того, что этот язык хорошо подходит для образования, он очень приятен для работы, моден и популярен, для него существует очень большое число библиотек, огромное сообщество разработчиков, и он может применяться для решения очень серьезных задач. 
Однако для разработки приложений я бы смотрел в сторону Java, C++, JavaScript. И наверное, с какого-то из них и начинал. Конечно, при выборе надо не только уровень зарплат принимать в расчет, но и собственные предпочтения. Если нравится веб и пользовательский интерфейс, который постепенно мигрирует в сторону веба, — это направление JavaScript, плюс, разумеется, HTML + CSS. В HTML5 сейчас непрерывно появляется такое количество новых возможностей, что дух захватывает, очень много интересного. Если низкоуровневые задачи, драйверы, высокая производительность, тонкая оптимизация, хочется выжать из железа максимум — C++; прикладные серверные задачи — Java. У C# тоже есть свое место на рынке, под Microsoft много пользователей работает.
 Если интересен фриланс, то нужно учитывать, что это особый мир, со своими правилами игры, в котором, безусловно, востребованы профессионалы во всех областях, но, пожалуй, прежде всего в веб-разработке, и путь к более-менее заметным деньгам труден. Стоит самому посмотреть на фриланс-биржах, какие расценки, каких проектов больше.

Артем Табалин: Да, большинство спецов предложат начать с Pascal. Это, как говорится, классика жанра. На этом языке так просто объяснить основы процедурного и структурного программирования. При этом, если поспрашивать относительно «молодых» разработчиков, с какого же языка программирования начать, многие предложат PHP, в силу популярности веба и простоты этого языка в освоении. Начинать с С++ или Java не стоит, так как языки достаточно сложные и комплексные для того, чтобы с них стартовать.

Олег Придюк: Программист — это человек, который умеет составлять алгоритмы и решать сложные математические задачи лучше, чем все остальное, ему язык программирования не важен, он и на бумаге может псевдокодом описать задачу. Не нравится мой ответ? Хорошо, тогда пусть будет C#.

Игорь Антонов: Что касается самоучек, то все зависит от интереса изучающего. Кто-то сразу рвется в миры .NET, а кого-то прет от популярного нынче JavaScript/Ruby. У самоучек все индивидуально. Однако, рассматривая этот вопрос с позиции человека, разрабатывающего боевой код в течение последних десяти лет, скажу, что начинать разбираться в программировании лучше действительно с Pascal (лучше сразу с Object). Это относительно простой и понятный язык для новичков. Тут и базовые принципы ООП, и работа с указателями, и много других фундаментальных вещей.

][: Выбираем среду разработки. А может быть, редактор FAR’a?

Артем Табалин: Очень часто среда разработки диктуется выбранным языком программирования. Почти для любого языка на первых порах вполне хватит Notepad++ (под Windows или Linux), Vim (под Linux) или не бесплатного, но тем не менее популярного Sublime Text. Многим хватает этих редакторов для профессиональной деятельности. Например, Дейв Метвин (Dave Methvin), президент jQuery Foundation, пишет в Notepad++. Разработчики PHP с более высокими запросами к IDE часто выбирают PhpStorm от JetBrains. Любители Java выбирают между Eclipse, NetBeans или Intellij IDEA. В случае C# выбор очевиден — Visual Studio. Objective-C скорее всего приведет к X-Code. Очень популярной IDE для фронтенд-разработки является WebStorm.

Игорь Антонов: Да, писать код можно в чем угодно (даже на iPad, см. соответствующую статью в нашем журнале), но «писать» и «разрабатывать полноценное приложение» — вещи полностью противоположные. Например, один из моих последних проектов (софт для продажи страховых полисов в режиме online) насчитывает около 200 файлов.

Как ориентироваться между ними, используя редакторы вроде Notepad++, я себе смутно представляю. Без специально заточенной IDE тут просто не обойтись. К счастью, сегодня выбрать среду разработки не составляет труда. Есть как официальные решения (Delphi, Visual Studio, Zend Studio и прочие), так и продвинутые альтернативы (PhpStorm, ReSharper). Выбор зависит от личных предпочтений и толщины кошелька. Я предпочитаю использовать официальные решения там, где они покрывают мои потребности. Visual Studio — прекрасная среда для разработки на C#, но вот Zend Studio для PHP меня категорически не устраивает (неудобно и тормозит), так что для этого языка я прикупил PhpStorm.

][: Хорошо, ПО установлено. Что теперь? Книжка, сайт, аудиоурок?

Артем Табалин: Пожалуй, для быстрого старта лучше всего нагуглить какой-нибудь популярный интернет-ресурс по изучаемой технологии. Почитать, попробовать примеры, написать свое простое приложение. Очень полезно написать блог об изучаемой технологии. Описать, через что пришлось пройти, и поделиться советами на тему «набитых шишек». Конечно, если тебе нужно по-настоящему освоить выбранную технологию, тут без книги не обойтись. Хорошая книга заполнит все пробелы и позволит увидеть лес за деревьями. Нужно почитать отзывы и найти действительно стоящие книги, чтобы не потратить время зря.

Олег Придюк: Книжка, сайт, видеоурок, документация… все, что влазит, главное, чтобы было побольше практики. Теория забывается моментально. Постарайся в себя впихивать максимальное количество информации: устали глаза от текста — вот ушам аудиокнига, а вот видеоурок. Отошел, немного отвлекся, теперь закрепить выученное своим собственным Hello World. Веди список завершенных задач и майлстоунов, с датами. Сколько ты завершил на прошлой неделе? А на позапрошлой?

][: И все-таки бумажная книжка — это сила. Она не отвлекает фейсбуком, в ней нет тетриса, и она не жрет электричество. Какую купить? Букварь и синяя уже есть.

Артем Табалин: Как правило, в выборе книги помогают отзывы людей, успешно прошедших предстоящий тебе путь. Это могут быть друзья, знакомые, люди с форума или автор понравившегося отзыва на Ozon. Небольшой сбор статистики сразу укажет на ту самую must read, которую нужно освоить.

Игорь Антонов: Выбирая книги по программированию, я первым делом смотрю на автора. В 99,9% я отдаю предпочтение зарубежным коллегам и издательству O’Reilly. Почти всегда такие книги раскрывают тему подробно и сразу учат правильным методикам разработки. Увы, зачастую на русском свежих книг от O’Reilly не найти — перевод всегда запаздывает. Приходится покупать в Amazon на языке оригинала и зачитывать его до дыр. Если честно, то читать оригинал всегда интереснее. Терминология у англоговорящих почти всегда едина. Наши же переводчики иногда выдают такие перлы, что даже с опытом разработки не всегда понимаешь, о чем идет речь. За примером далеко ходить не надо. Есть такая прекрасная книжка от уважаемого Рихтера — CLR via C#. Я читал второе издание, а не так давно вышло четвертое. Пробежавшись по оглавлению новинки, я пришел в ужас от новой терминологии. Переводчики даже не удосужились слизать с прошлых изданий название глав, которые были переведены правильно. В итоге получилась солянка, полностью непригодная к прочтению.

Золотой фонд программерской литературы по версии ][. Не для чайников!

  • С. Макконнелл «Совершенный код»
  • М. Фаулер «Рефакторинг»
  • Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
  • Р. Мартин «Чистый код»
  • Д. Кнут «Искусство программирования»
  • Э. Хант, Д. Томас «Программист-прагматик»
  • К. Ларман «Применение UML 2.0 и шаблонов проектирования»
  • М. Фаулер «Архитектура корпоративных программных приложений»
  • К. Бек «Экстремальное программирование»
  • К. Бек «Экстремальное программирование. Разработка через тестирование»
  • Э. Эванс «Предметно-ориентированное проектирование»
  • Ф. Брукс «Мифический человеко-месяц»

][: Не пойти ли на самые настоящие офлайн-курсы, поучиться у умных людей и за денежку? Куда?

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

Игорь Антонов: Если курсы стоящие, то почему бы и нет. Мне здесь трудно рассуждать, на офлайновых курсах (в моем городе проблематично найти стоящие курсы) я был всего дважды, и они были посвящены разработке конфигураций на платформе 1С. Официальная часть была чрезвычайно скучна, порадовал только профессионализм преподавателя и его примеры кода из реальной жизни. В остальном курс для меня прошел скучно, так как всю необходимую информацию я изучил по книгам.

Олег Придюк: Умные люди — это хорошо, это лучший способ обучения, лучше книг и форумов. Разнообразные конкурсы (хакатоны, буткэмпы, прочие мероприятия, где надо что-то быстро запрограммировать) лучше всего массажируют мозг, потому что есть дата сдачи проекта. А время — прекрасный мотиватор, реально коррелирующий с твоими скиллами.

][: А где будем тусоваться? Артём рассказал нам про книжки, Игорь — про онлайн-курсы (см. врезки), а где мы будем спрашивать совета умных людей, на каких форумах?

Александр Лыкошин: В прошлом году появилось новое поколение онлайн-курсов, открылись сайты Coursera, Udacity, edX. Отличные, качественные, продуманные курсы от ведущих зарубежных вузов. На русском языке курсов пока нет, но к некоторым энтузиастами сделаны русские субтитры.
Codecademy — отличный обучающий ресурс для начинающих JavaScript, jQuery, HTML/CSS, Python, а также PHP и Ruby.

Артём Табалин: Если у тебя возник вопрос по программированию независимо от технологии, языка и специфики — stackoverflow.com, без сомнения, форум номер один. Сложно представить, какое количество спецов одновременно отвечает на вопросы, ведь на 80% вопросов ответ поступает в течение первых трех-пяти минут. Полезным будет также мониторинг вопросов по интересующей тематике. По каждой технологии или языку существует ряд популярных ресурсов. Сделай закладки и периодически посещай их. Чтобы быть в курсе всех новинок, подпишись на email-рассылки. Так, большинство фронтендщиков подписаны на рассылки HTML5 Weekly, CSS Weekly и JavaScript Weekly.

Игорь Антонов: Для меня таким ресурсом уже достаточно давно является Stack Overflow. 90% типичных вопросов, возникающих у разработчика, тут уже разобраны вдоль и поперек. Достаточно вбить правильный запрос, и тут же получаешь на него ответ. Минус ресурса опять же один — все на английском. Так что если есть проблемы с чтением на английском, то ресурс вряд ли подойдет. В этом случае можно обратиться за помощью к одному из старейших форумов для разработчиков в рунете — Vingrad. Комьюнити там всегда было одним из самых сильных, но за глупые вопросы могут запросто послать в… Google.

Олег Придюк: Люди, которые могут дать дельный совет, редко торчат на форумах. Максимум — в твиттере, иногда ведут свои блоги. Читайте людей, которые пишут на инглише, — почувствуете мир, а не локальную деревню. Это важно. Не фокусируйтесь на локальных историях успеха, ваша цель — глобальная.

][: Надо ли стремиться к реализации какого-нибудь своего мини-проекта (вроде порта игры из детства), или надо учиться прямо «по книжке», разбирая готовые примеры?

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

Артём Табалин: Любые теоретические знания нужно подкреплять на практике. Иначе буквально через пару недель в голове почти ничего не останется. Повторять примеры из книжки или статьи слишком скучно. Скорее всего, тебя хватит только на первый Hello World. Намного круче заняться реализацией пускай простого, но все-таки реального приложения. Конечно, в процессе работы будет возникать множество вопросов. Их решение и дает очень сильный толчок в развитии и кучу знаний. А помогает нам в решении проблем, конечно, гугл, ну и в тяжелых случаях stackoverflow.

Олег Придюк: Люди разные, их способности тоже разные. Логично начать с примеров из книги, но ты также должен постоянно понимать и чувствовать, зачем ты переставляешь эти цифры, сортируешь строки и решаешь уравнения. Внимание — самый главный совет: постарайся учиться вместе с кем-то. В RPG-играх экспа делится на всех партнеров, в реальной жизни она умножается на их количество. Труъ стори!

Игорь Антонов: Одно другому не мешает. Я не стыжусь разобрать по строчкам обучающий пример из книги, а после завершения чтения однозначно берусь за реализацию какого-нибудь простенького проекта. Так и свои знания получается проверить, и столкнуться с реальными проблемами, над решением которых придется поломать голову. Формула хорошего разработчика уже давно известна — чтение и практика. Причем практики должно быть на 25% обязательно больше, чем новой теории. Только она оттачивает скилл и дает понять, с какими реальными задачами я готов столкнуться и качественно их решить.

][: Ваши пять советов поздно начинающему программисту

Артём Табалин:

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

Трудись на 110%. Терпение и труд все перетрут. Да, ты выбрал непростой, но зато очень интересный путь. Никто не обещает, что будет легко. Неминуемо придется много работать. Но если ты последуешь наставлению Уинстона Черчилля «Никогда, никогда, никогда, никогда не сдавайтесь», тебя ждет успех.

Поставь перед собой цель. Очень сложно добиться успеха, не поставив себе конкретные цели. Просто необходимо спланировать свою будущую карьеру. И не забывай про SMART принцип постановки целей. Что именно ты хочешь изучить и за какой срок. Каких результатов ты ожидаешь: получение заказа, запуск своего сервиса, создание open source тулзы.

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

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

Олег Придюк:

  1. Не зацикливайся на деталях, усади себя и начни уже что-то делать.
  2. Разберись, какие скиллы ты хочешь и можешь прокачать (за неделю, месяц, год).
  3. Участвуй в конкурсах — они помогают тебе развиваться, находить друзей, устроиться на работу.
  4. Думай глобально, ориентируйся на лучших в мире, а не «на районе».
  5. Инглиш. Читать, слушать, говорить. Хотя бы отключи русские титры в своих сериалах…

Игорь Антонов:

Учи английский. Без этого в нашем деле просто никуда. Даже если ты программируешь на 1С — английский все равно не помешает, так как качественное описание паттернов/методик разработки в первую очередь доступно именно на английском.

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

Веди свой блог. Новичок мало что может рассказать полезного акулам кодинга, но он вполне способен помочь таким же новичкам, как он. Тут как в старой поговорке: «Одна голова хорошо, а две лучше». К тому же запись своих мыслей в заметки положительно сказывается на систематизации своих знаний.

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

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

WWW

Золотой фонд онлайн-обучалок

PeepCode

Платно и бесплатно Язык: английский peepcode.com

Coursera

Бесплатно Язык: английский https://www.coursera.org

Mozilla Developer Network

Бесплатно Язык: английский https://developer.mozilla.org/en-US/learn/html

CodePlayer

Бесплатно Язык: английский thecodeplayer.com

Khan Academy

Бесплатно Язык: английский www.khanacademy.org

Bloc

Платно www.bloc.io

Programmr

Бесплатно Язык: английский www.programr.com

Pluralsight

Платно и бесплатно Язык: английский pluralsight.com

Code School

Платно и бесплатно Язык: английский www.codeschool.com

Специалист

Платно Язык: русский www.specialist.ru

ИНТУИТ

Платно и бесплатно Язык: русский www.intuit.ru

Hexlet

Бесплатно Язык: русский hexlet.org

Опубликовано в Хакере #12/179

25 комментариев

  1. https://vk.com/dolmatov_aleksey

    25.08.2014 at 13:15

    Спасибо за статью, лень меня губит cc::

  2. 25.08.2014 at 13:57

    +1 русскоязычный обучающий проект: http://javarush.ru/

    • 29.08.2014 at 14:16

      Почитал начало. Много воды. мало обучения. 5 занятий подряд про вывод текста — это перебор. Да ещё заставляют футураму смотреть, которую я видел. И диалоги какие-то детские ни о чём.
      Короче, закрывай проект, делай по-человечески.

  3. 25.08.2014 at 15:21

    Так все-таки что учить-то?

  4. 25.08.2014 at 16:20

    Как говориться, поциент скорее мертв, чем жив. Так к чему такие «полезные» статьи от утопающих? Уже давно ходят убедительные слухи, что осенью журнал закроется. И, скорее всего, не вернет деньги за подписку за те месяцы, как было с позорным «Железом» в прошлом году. Так что Бобик уже сдох, да и крысы разбежались.

  5. 25.08.2014 at 16:23

    Прочитал. Спасибо автору. Единственное что, в самом начале написано

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

    Вопрос. Вывод то какой? Типа в 22 это на столько тяжело начинать с нуля что лучше и не пытаться а сломать себе жизнь и остаться офисным планктоном или продавцом в супермаркете? Или все таки скажем и в 30 лет можно начать и прийти к какому то успеху?

    • 25.08.2014 at 23:32

      Хех.. Мне 38, работаю в автотранспорте, ради интереса начал учить C#, увлекся, пишу программку для нашего отдела кадров, иногда лезу в учебники по ассемблеру, уж дюже интересно, может тру кодером и не стану, но(!) у меня хобби программирование, а у соседа пьянки..

  6. 25.08.2014 at 21:10

    Спасибо за статью! Считаю очень круто и познавательно всё описано. Лично я наверно буду долбить 1С…

  7. 26.08.2014 at 01:56

    Классная статья!

  8. 26.08.2014 at 20:16

    Полное и сепарабельное бла-бла-бла.

  9. 26.08.2014 at 21:25

    > обращу внимание на две фактора:

  10. 26.08.2014 at 21:28

    > в левом нижнем квадранте («много вакансий, много резюме»)
    Вообще-то, в тексте речь о правом нижнем (много вакансий, мало резюме). Ну сами-то читаете, что пишете? Много вакансий и много резюме — это 1С, сами же выше об этом писали. Правый верхний.

  11. 26.08.2014 at 21:53

  12. 27.08.2014 at 14:26

    >как настоящий мужик, сидеть с красными глазами

    Что за ерунда! Настоящий мужик в наше время берет автомат и едет в Новороссию мочить укропов.

  13. 29.08.2014 at 15:27

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

    • 01.09.2014 at 16:26

      А я живой пример тому что можно пробиться) Так что тут раз на раз не приходится.

      • 02.09.2014 at 13:13

        Случайности везде бывают.

        • 02.09.2014 at 15:20

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

          • 02.09.2014 at 15:38

            • 02.09.2014 at 15:47

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

    • 03.09.2014 at 20:54

      Главное слово тут «счет». Конечно если ты идешь стажером или джуниором, а зарплату хочешь как у синьора, то тебя не возьмут. Без опыта работы хочешь не хочешь попадешь под эксплуатацию. Все через это проходят. Главное не задерживаться у такого работодателя.

  14. 27.04.2015 at 09:40

    «А ведь учиться программировать, когда тебе уже за двадцать два,»
    да 22 года, ты уже пиздец старый и уже нихуя не понимаешь

Оставить мнение

Check Also

Страдания с ReactOS. Почему в заменителе Windows работают трояны, но не работает Word

Сегодня в нашей кунсткамере демонстрируется необычайный организм — двадцатилетний зародыш …