AMA
47K

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

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

* «Медуза» внесена Минюстом в реестр иноагентов

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

В этом отлично разбирается бывший технический директор «Медузы»* и «Букмейта» Самат Галимов, который поделился с читателями опытом и рекомендациями в формате 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 от условного «Микрософта» должны быть ок, но они, скорее всего, совсем базовые.

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