12.11
21K
61

«Возьмите бесплатно, буду делать, что скажете»: 7 советов тем, кто хочет программировать

Экс-техдиректор «Медузы» и «Букмейта» помогает устроиться в жизни

«Возьмите бесплатно, буду делать, что скажете»: 7 советов тем, кто хочет программировать

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

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

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

Елена Глубко
выбирает, что учить

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

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

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

Во-первых, можно верстать что-то по мелочи самому. Тогда — HTML и CSS, а потом JavaScript. Последний — самый настоящий язык программирования.

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

А я бы учил тот язык, который по-настоящему захочется учить.

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

Если вам хочется попробовать сделать мобильное приложение и вы пользуетесь Айфоном и Макбуком — попробуйте Swift, там все как у «Эпла» — «красиво». Если Андроид — есть Kotlin.

При прочих равных я бы выбрал JavaScript и Python. По обоим языкам тонна бесплатных источников самого разного формата в интернете, начиная от полноценных учебных курсов на том же «Яндекс-практикуме» и заканчивая классными текстовыми туториалами и ютуб-лекциями.

Я думаю, что для входа в программирование важнее подходящий по вайбу, темпу и настроению учитель, пусть и на «Ютубе». А еще личный интерес — что-то, что даст положительную обратную связь — positive feedback loop — в начале обучения, а язык и конкретные технологии гораздо менее важны.

Где получить обратную связь и совет от других программистов?

Karina Todorowski
ищет поддержки в профессиональном сообществе

Подскажите ресурсы — форумы, каналы, чаты, — где тусят опытные программисты, в частности С++, на суд которых можно выложить свой труд и получить объективную профессиональную оценку на предмет полезности/бесполезности?

Опытные плюсовики водятся в Nginx, PostgreSQL, Linux и прочих серьезных проектах. Я бы в их IRC-чатах или даже в dev-рассылках посмотрел и спросил.

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

А полезность или бесполезность определяет не программист, а конечный пользователь. Пользуются и решают свою проблему вашим кодом — значит, полезный код. Не пользуются и не решают — бесполезный. Хотя учебный код полезен тем, что вы его написали!

Должен ли программист быть разносторонним специалистом?

Pavel Perelman
нацелен на высокий доход

Нужно ли программисту разбираться в чем-то, кроме программирования, чтобы стать высокооплачиваемым специалистом?

Да, нужно уметь приносить пользу бизнесу, а не просто «прогать за деньги». Это умение состоит из многих компонентов: говорить человеческим языком с непрограммистами, понимать их боль, разбираться в бизнес-проблеме, уметь предлагать максимально простые решения, объяснять свое решение и потом его продвигать, по пути передоговорившись, потому что с ходу наверняка все придумали неправильно.

Это скилл, за который платят нереальные деньги. А все потому, что вы приносите пользу, а не просто «прогаете за деньги».

Где учиться на фронтенд-разработчика?

Игорь Воробьев
думает взять кредит на обучение

Как правильно учиться программированию? Например, я хочу стать фронтенд-разработчиком. Беру кредит и покупаю дорогой годовой курс. Так нормально или я просто потеряю год жизни?

Я бы пошел на «Яндекс-практикум». Самый безопасный и простой вариант — там не только знания, но и менторы адекватные. Аналогичные школы есть у «Мэйл-ру» и Сбера. Они готовят джунов и потом сразу берут их на работу — это классный вариант, если учите не просто для души, а для работы.

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

Если вы в провинции, хотите человеческого контакта и любите рисковать, найдите нормальную ИТ-компанию поблизости — они обычно проводят всякие локальные митапы — и говорите им буквально: «Очень хочу работать программистом, возьмите меня бесплатно, буду делать, что скажете». Я знаю, что в Твери ребята так делают и реально учат с нуля.

Как увлечь детей программированием?

Амели Пулен
занимается развитием сыновей

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

Как к нему подступиться? Можно, конечно, отдать в кружок робототехники — их сейчас тысячи. Но подозреваю, что там просто собирают лего-роботов по инструкции, без понимания принципов, особенно не погружаясь в предмет. С чего начать? Как увлечь? Важна ли здесь системность, какой-то план? Курсы для детей? Сообщества? Может, написаны интересные книжки по теме?

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

Из ресурсов и технологий: есть программирование под «Майнкрафт» — это чистый героин и при этом полезный. Там есть даже русская версия сайта, но в основном все на английском, конечно. Список книжек — на сайте Brightly. Насчет курсов — посмотрите, как препод говорит с ребенком, как мотивированы дети. То, что их научат делать что-то руками, даже не понимая принципов, — думаю, не суперстрашно. Я считаю, что главное, чтобы ребенку было интересно. Если он будет сам сидеть копаться — mission accomplished.

Что почитать будущему программисту?

Вова Лазарев
тяготеет к литературе

Какие твои любимые книги о программировании и почему?

Я очень люблю FreeBSD Handbook и PostgreSQL Documentation. Это книги, которые помогают решать конкретные проблемы, но при этом объясняют базовые принципы. Академически выверены, но написаны простым и понятным языком. Правда, это скорее про сисадминство и SQL.

По программированию у меня хорошие воспоминания о Кормене — «Алгоритмы: построение и анализ», я в школе им зачитывался, когда участвовал в олимпиадах. Книга «Язык программирования Си» Кернигана и Ритчи классная, потому что короткая и понятная, и туториал по Go — чистое продолжение этой книги и один из немногих туториалов, который я честно прошел до конца (ну или почти до конца). Я пытался читать книжку Pragmatic Programmer по Ruby — она, кажется, хорошая, и вообще вся серия достойная.

Про менеджмент я в свое время без остановки прочитал «Deadline: роман об управлении проектами» и влюбился в эту книгу.

На каких курсах учить Java?

Ivo Narozashvili
ищет образовательные возможности

Какие курсы Java вы порекомендуете?

Я не назову с ходу, но уверен, что и Сбер, и «Мэйл-ру» в своих образовательных программах обучают Java. Оба варианта должны быть нестыдными. И онлайн-курсы на «Курсере», и Udemy от условного «Микрософта» должны быть ок, но они, скорее всего, совсем базовые.

Соня Емельянова
Уже занимаетесь программированием? Расскажите, как учились и какие советы можете дать новичкам:
УЧЕБНИК

Расскажем, как получать пассивный доход

Бесплатный аудиокурс для начинающих инвесторов: слушайте уроки по 10 минут в день — и уже через неделю вы сможете собрать свой первый портфель
  Скачать для Айфона  
Лучшее за неделю
Море полезных статей о финансах
В вашей почте дважды в неделю. Рассказываем только о том, что касается вас и ваших денег