AMA
47K

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

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

77

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

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

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

Аватар автора

Соня Емельянова

выбирала вопросы

Аватар автора

Самат Галимов

ответил на все вопросы

Лейбл заголовка

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

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

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

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

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

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

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

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

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

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

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

Лейбл заголовка

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

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

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

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

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

Лейбл заголовка

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

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

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

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

Лейбл заголовка

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

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

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

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

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

Лейбл заголовка

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

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

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

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

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

Лейбл заголовка

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

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

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

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

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

Лейбл заголовка

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

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

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

Уже занимаетесь программированием? Расскажите, как учились и какие советы можете дать новичкам:
Комментарии проходят модерацию по правилам журнала
Загрузка
0
Герой

13.11.20, 07:19

Отредактировано

1) Не верьте рекламе "как за месяц стать лидом"
2) Не платите за курсы, есть огромное количество бесплатных на русском на Stepik, на английском - Coursera
3) Не бояться сложностей
4) Не заучивать - все не запомните, даже если забыли - в памяти останется закладка
5) Для большинства задач не нужен PhD по математике
6) Вас НИКТО не научит, только покажут путь, учитесь сами

45

Руслан, Плюс платных курсов в общении.
1. Общение с сокурсниками на тему программирования.
2. Общение с преподавателем. Полезно, если что-то не даётся или если есть вопросы, выходящие за курс. Он быстрее направит.
3. Самое главное - твой код смотрят, проверяют и показывают как делать не надо и как надо.

А тут уже сам человек может решить, стоит ли за это платить, или он найдёт эти вещи в другом месте.

1

Комментарий удален пользователем

Viktor, Java то вышла, а как скоро она в продакшн уйдет хотя бы в половине компаний?

4

Комментарий удален пользователем

Viktor, только новички не знают)

1
0

Да господи, что вы все лезете в разработку и айти в целом. Тут работать не просто, тут переработки на работе и последующее самообучение по ночам. Тут тебя могут разбудить посреди ночи с криками «прод упал!!!!11». Тут тебя постоянно таскают по всяким встречам, а программируешь в свободное от работы время. Тут не пишешь легкие проекты, а разбираешься с адом, доставшимся от предыдущей команды. Тут дедлайны. Тут кучу денег получает далеко не каждый, а один из десяти. Подумайте лишний раз, прежде чем сюда лезть.

21

Valentin, проработала редактором и на телеке и в компаниях и могу сказать, что все то же самое: те же крики посреди ночи, переработки... а вот зарплата уж далеко не 100-200к в месяц. так может лучше терпеть это все за лучшие деньги?))

10

Valentin, ну а как же печеньки на работе? :) Вы все правильно сказали, но если голова варит, то лучше зарабатывать так по 100-200К в месяц, чем 40К на стройке, правда? Другое дело, что далеко не каждый потянет!

4

Андрей, 100-200к можно зарабатывать на практически любой офисной работе уровня 3-5 лет опыта, естественно постоянно вкладываясь в свое обучение и создавая что-то полезное + никто не отменял вертикальный рост в менеджмент, опять же при аналогичных усилиях, и естественно проживая в крупном городе. В ИТ все ровно так же - без усилий и постоянного самообразования, без принесения пользы компании, которая выражается в новых клиентах и деньгах, эффект будет как на стройке - будете класть кирпичи за 40к

0

Андрей, если голова варит, то можно на менее тяжелых профессиях зарабатывать не меньше. Опять же, это все ИМХО

0

Valentin, золотые слова.

3

Valentin, Полностью согласен) Эта сфера видимо самая непонятная для народа, вот и пиарят ее курсами и обещаниями. Хотите легких денег - откройте палатку с шаурмой на вокзале, успех придет гораздо быстрее, а в ит надо жить не ради денег.

2

Valentin, в любой профессии важен специалист увлекающейся своей профессией настолько что это не работа а хобби (отсюда и переработки), но идти сюда с одной мыслью платят лучше не стоит, через 1-2 года понимаешь что ты абсолютный 0 а признание придет при активной работе от 3-5 лет (когда открывая любой проект ты начинаешь буквально читать что в нем описано без комментариев), вот и считайте. Это не халява, это большой труд, кстати порой и неблагодарный, рядовой пользователь на за год не определит порой систему написанную классным спецом от гавонокода и соответственно для них мы весьма заменимы пока не начинаем делать невозможное.

1

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

0
0

Всем привет! Служил по контракту в ВС РФ 13 лет, за год до увольнения начал учить html css js, уволился на пенсию, с этими знаниями которые были на работу не устроился (в Иркутске живу), потратил ещё пол года на изучение react и этого хватило чтоб устроится официально на удаленку в Москву! Теперь react фронтенд разработчик. На hh.ru 4500 вакансий! Изучал документацию, которая на русском и бесплатно вот этот курс на ютубе https://www.youtube.com/playlist?list=PLcvhF2Wqh7DNVy1OCUpG3i5lyxyBWhGZ8 , мне этого хватило! Уже как год работаю!

18

Сергей, на пенсионера не похож что-то..

0

Forr приветствую, Служил по контракту с 2001 по 2019, этого хватило чтоб заработать на пенсию)

1
0

По Java есть академия Hyperskill от Jetbrains (там также есть пайтон и котлин) и MOOC от Helsinki University. На русском языке есть JavaRush. Мне понравился Hyperskill, потому что там обучение основано на проектном подходе: сначала изучаешь теорию, делаешь задачки для закрепления, а потом делаешь этап выбранного проекта. В конце получается полноценная программа. Для всех заданий есть автопроверка. Проекты бывают от легких (крестики-нолики) до довольно сложных вроде текстового редактора. Hyperskill и JavaRush платные, а MOOC бесплатный, но по нему ничего сказать не могу, однако на реддите хвалят.

9
0

Чо сразу наставников менторами обзывать-то

8
0
Герой Т—Ж

13.11.20, 07:06

Отредактировано

>>> Очень хочу работать программистом, возьмите меня бесплатно, буду делать, что скажете». Я знаю, что в Твери ребята так делают и реально учат с нуля

Так нельзя делать, скорее порофлят. Это означает, что человек настолько в себе не уверен, что даже денег за свою работу получать не хочет. Как такому человеку можно доверять? Даже если джун, все равно надо адекватно просить денег по рынку, а не работать за еду. А по рынку, это хотя бы 1к $

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

8

Шевалье, а за что платить человеку деньги если он ничего не знает в сфере? За то, что приходит посидеть? У меня есть близкий друг, кто так и сделал. Парень хороший, но из бедной семьи, ему даже курсы за 3000 рублей на то время были не по карману. Он честно сказал, что будет работать за бесплатно, если компания (на тот момент стартап) научит его. И все...сначала "практика", через 6 месяцев был на минималке, потом рос-рос. Сейчас работает на себя уже. Мне кажется неуверенность тут совсем не вяжется, а скорее желание...

14

Шевалье, а почему неуверенность сразу означает полную профессиональную бесполезность сразу?

3

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

12

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

0

Артём, в айти ценится самостоятельность и амбициозность. Люди, которые смотрят на эту профессию как на мешок денег, по моим наблюдениям всегда слабее тех, кто в первую очередь кайфует от процесса. А люди из категории «буду делать что скажете» как правило не из интереса вкатываются. Было бы интересно — погуглили бы, статей типа этой в интернете немало, понять с чего начать для вкатывания в то или иное направление сегодня несложно. Достичь уровня, чтобы не стыдно было стажёром устроиться, можно за относительно короткий срок. А совсем нулевых типов я даже не представляю кто в здравом уме брать будет, как по мне это крайне неэффективная трата времени других сотрудников.

5
0

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

8
0

И ни слова про .net и c#, ну и ну.

5
0

1С: "Да да, пошел я нафиг"

5

Комментарий удален пользователем

0

Главное — практика. Как в другом комментарии пишут: вас никто не научит, учиться необходимо самому.

Выбрать интересуещее направление, найти ментора. И делать, делать, делать.

Изучать сначала узкую тему вглубь. Потом вширь. Потом опять вглубь. Потом вширь.

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

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

5
0

Не скажу про совсем детей, их воспитание и мотивация находится вне зоны моего понимания.
Для всех остальных, главное — это заинтересовать и пройти ту самую грань между ничего не смыслящим (кому нужен «наставник») и тем, кто способен сам добывать и агрегировать информацию.
Первый этап очень болезненный, особенно если нет никого рядом, кто бы мог помочь! Тут нужна сила воли и действительно желание… все можно найти в интернет, но пока вы не знаете, как и что конкретно вы хотите найти – будет тяжело.
Одной из моих первых задач (после всяких Hello World) было написание простенькой программки на C++ которая бы могла выполнять некоторые простые действия в игре, на которой стоит античит (эта разработка вдохновляла меня достаточно долго и ради неё я даже отрывался от самой игры, получив при этом огромный опыт по WinAPI и STL). Я уже обладал некоторой базой, и вот это было реально интересно.
По языкам:
– если вы хотите стать профессионалом в будущем и у вас есть время – начните с тяжелого: низкоуровневых языков. Я не говорю про Assembler (его изучать только если вы хотите прогать под микроконтроллер, вы хотите через 30 лет стать хакером или вы больной на голову), ‘C’ или ‘С++’ помогут разобраться с тем как устроена память, её виды, многопоточность, что такое стек, ссылки и многое другое. (если конечно, вы не разобьете компьютер при изучении этого), дальше определитесь с платформой (Windows\Linus\Apple\Android или все) дальше к высокоуровневым C# (.NET) или Java или Swift \ Objective C (если для IOS). Кстати, C++ специалисты на большом счету, но не стоит надеется, что это будет ваша профессия, если вы читаете эту статью 😊
- если времени нет, но хотите копеечку зарабатывать: html\css\javascript\php. Но как показала практика, кто начинает с этого там и остается. Когда нет опыта ни в чем – можно начать и с низов, потом к низам возвращаться не захотите и так и застрянете в мусоре (html) не понимая, как это все работает.

4
0

Э, у меня вот дилемма как у спрашивающих. В этом году я столкнулась с SEO. Самое для меня интересное из этого было изучать основы HTML и технического аудита сайтов, про то, как работают поисковики и сервера. Было (и есть) интересно, как это работает изнутри. .. Но я полный гуманитарий, и я много чего из общих вещей не знаю. Страшно ли это, если фронтендер не знает, как писать макросы и Excel и как настроить принтер?

3

Анастасия, не страшно, фронтенд и макросы в экселе не связаны никак.

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

12

Анастасия, не страшно )

3

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

3
0

Вопрос про С++ улыбнул. Если человек разобрался с С++, чтобы что-то годное написать и еще куда-то выложить, то ему не совсем нужны оценки окружающих))
Не берете С++, упаси Б-г Haskell и прочую ересь за основу.
Я бы советовал начать с JavaScript, чтобы просто понять как и что работает. Вы быстро увидите результаты.
Также рекоммендовал бы взять нормальный очный курс (на год).
Уточняю: стоит взять какое-нибудь "базовое программирование" (2 месяца максимус) и далее нормальный, чтобы не потратить впустую средства на нелюбимое занятие.

Тем, кто хочет взять кредит и долго учиться стоит помнить, что первую работу можно искать несколько месяцев. Обычно, я советую "не поднимать головы", пока не пройдете как минимум 30 собеседований (надо уметь о себе рассказать, пройти всякую алгоритмическую "ересь", ответить на разные технические и HR вопросы. Навык как раз вырабатывается к 30му собеседованию, но может и быстрее, если быстро "хватаете").

Курс (на любом языке) ОБЯЗАН включать в себя многопоточность, сети и алгоритмику. Иначе - лесом их. Курс обязан давать опыт в проекте (псевдо реальном или реальном), с ментором, методологиями работы и всем, что есть на рынке
Не берите курсы по PHP, возьмите промышленные Java (хуже C#). Python хотя и популярный, имеет слишком много ответвлений, не связанных между собой (Data Science, Big Data, Backend) - будьте внимательны с ним: уча всего по чуть-чуть можно за год стать "никем"
У фронтенда база - JavaScript и "слова-язык" на выбор
Angular - TypeScript
Vue - JavaScript
React - JSX (самый популярный, но и порог входа соотвественно - высокий)

3
0

Как я люблю статьи, которые, вроде бы, призваны объяснить даже не новичку, а только ЖЕЛАЮЩЕМУ им стать, что конкретно выбрать, но при этом изобилующие жаргонами. Да-да, я просто умираю от желания "парсить". А что это? Погуглить? Так я тогда лучше статью другую на эту тему погуглю сразу - и всё.
Какая разница, что ты любишь, программист-автор? Вопрос о плюсах и минусах того или иного языка. О его специфике, о его возможностях, о областях применения.

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

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

3
0

Maximilian Schwarzmuller + Colt Steele наше всё.

2
0

У EPAM есть https://rs.school/

2

Артём, это будет непросто, на питоне больше всего джунов по понятным причинам. От того и требования гораздо выше, чем, например, к java джуну. Но в любом случае удачи, главное не сдавать, собеседования на первую работу могут растянуться на долгие месяцы, а то год+

2

Шевалье, спасибо за поддержку, в итоге стал Джава-джуном!

3

Артём, поздравляю, очень рад за вас

3

Артём, возьми пайчарму и отлаживай дебагером, какой лог, ну?

1

Максим, вначале по книге Хорстманна, потом Спринг уже на сайте "Баелдунг" учил, плюс официальная документация к Джаве, Спрингу и Ломбоку.

1

Комментарий удален пользователем

Viktor, добрый день!
Не подскажите, как с Вами можно выйти на связь?
Хотел уточнить пару вопросов.

0

Комментарий удален пользователем

Viktor, а что если я скажу, что телеграмм совпадает с моим никнеймом?)

0

Сообщество