X

Говорят, что программисты много зарабатывают. Как стать таким программистом?

Далеко не каждый программист доволен своей зарплатой. Что нужно делать, учить и как тренироваться, чтобы зарабатывать больше? Спросим у экспертов.

Если вы не довольны оплатой своего труда в компании, подумайте об удалёнке. Программисты, которые работают на фрилансе, зарабатывают на 20–40 % больше, чем офисные сотрудники. Почему? Потому что есть возможность вести несколько проектов, а также работать на американском рынке. Поэтому если вы задумались о том, что хотите большего — рассмотрите возможность удалённой работы, почитайте истории фрилансеров и изучите сервисы, которые помогают искать заказчиков.

Также для программиста становятся важными soft skills: умение не только писать код, но и выстраивать отношения с заказчиком, понимать задачи бизнеса. Помимо стандартного повышения квалификации я бы советовал посещать профессиональные ивенты, развивать нетворкинг, изучать глобальный рынок — на каких специалистов повышается спрос за рубежом, какие тренды волнуют глобальные компании — это поможет стратегическому развитию на несколько лет вперёд. Если вы новичок, беритесь за интересные проекты, собирайте портфолио и отзывы клиентов, будьте проактивными, при сумме профессиональных и человеческих качеств вы непременно начнёте больше зарабатывать.

Высокий спрос на рабочую силу в IT-сфере выражается в больших в сравнении другими отраслями зарплатах. Это делает профессию программиста привлекательной. Те же, кто уже работают программистами, хотят зарабатывать больше, но не всегда знают как. Универсального совета «как стать востребованным и высокооплачиваемым программистом» нет: как и везде, на результат работает совокупность разнонаправленных усилий.

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

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

При этом важны не только знания и умения, но и опыт их практического применения. Его проще всего получить во время работы, поэтому в начале карьеры нужно принимать во внимание не только финансовые условия по вакансиям, но и возможности для профессионального роста, техническую культуру компании, используемый технологический стек. Желательно избегать «конвейерных» производств, особенно в компаниях с монопродуктом: есть шанс, что несколько лет придётся делать однотипные задачи в контексте одного продукта, никак не развиваясь.

Для расширения кругозора важно участвовать в разных IT-сообществах. Форматов участия сейчас много: традиционные конференции, митапы, opensource сообщества, тематические группы и чаты. Не будет лишним читать профессиональную литературу, в том числе и теоретическую, не привязанную к определённому инструменту или технологии.

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

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

Во-первых, «много» — понятие относительное. Одни получают 100 тысяч рублей в месяц и считают, что их недооценивают. Другие при таком же уровне дохода уверены, что это предел и нельзя хотеть большего. Важно не впасть в крайности. Первая — «я слишком крут, мне должны платить в 3 раза выше рынка». Вторая — «я не достоин, мне нужно учиться много лет и только потом проходить собеседования в крутые компании». Чтобы адекватно определить цель и начать «много зарабатывать», сначала стоит посмотреть на рынок, взвесить свои знания и опыт и посмотреть, сколько за них сегодня платят. Затем трезво оценить себя. «Много» получилось? Отлично.

Во-вторых, упорство. Речь идёт не только об упорстве в совершенствовании навыков, но и об упорстве в прохождении интервью. Будь вы хоть трижды сеньор, всё равно всегда готовьтесь к интервью. Новых технологий масса, и классно, если вы умеете виртуозно работать с ними. Однако всегда сможете претендовать на большее, если сможете ответить на вопрос, как всё устроено под капотом.

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

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

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

Если говорить подробнее, то хорошими программистами не рождаются — ими становятся путём многочасовой практики, бессонных ночей, тысяч страниц прочитанных книг и профессиональных форумов, а также после миллиона проб и ошибок. Такие жертвы под силу только тем, кто по-настоящему любит свою профессию и готов тратить на неё большую часть своего времени (в том числе нерабочего). Другими словами — нужно быть фанатиком, в хорошем смысле этого слова.

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

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

Это вопрос, на который нет единственно верного ответа. Если совсем коротко: стоит положить телефон экраном вниз и фигачить.

А для того чтобы дать более конкретные рекомендации, придётся немного переформулировать вопрос: «Что нужно делать разработчику, чтобы повысить уровень дохода?».

Самое очевидное — просить больше за свою работу. Конечно, это должно быть чем-то обусловлено и оправдано. Например, можно попросить больше обязанностей, проектов или дополнительной ответственности. Для того чтобы справиться с подобным вызовом, нужно прокачивать свои навыки, постоянно показывать своему руководителю желание расти и прогресс. Причём речь идёт как о hard skills, так и о soft skills. Во многих компаниях проводится регулярный assessment для ИТ-специалистов. И это отличная возможность показать свои достижения, заинтересованность в развитии и готовность к большей ответственности.

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

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

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

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

Соглашусь, что разработчики — это высокооплачиваемые сотрудники. С этим сложно поспорить. Но я не знаю людей, которые бы были довольны своей зарплатой дольше, чем один месяц после того, как им её подняли. «Как быть востребованным и высокооплачиваемым программистом?» — сформулируем вопрос так. Во-первых, нужно понимать, что работодатель платит не за твои знания, а за твой вклад в результат компании. Ты можешь знать 20 языков программирования, а компании нужен 21-й, значит, ты не подходишь. Во-вторых, хороший разработчик понимает, что никому не нужна программа ради программы. Важно решать задачу бизнеса оптимальным путём и не впадать при этом в крайности. Не нужно писать код низкого качества, который не поддерживается. Как у нас говорят, не нужно «говнокодить». При этом никого не интересует академически верный код, написанный за год. Нужен здоровый баланс, и разработчик должен это понимать.

В-третьих, нужно постоянное развитие, обучение, изучение нового. Индустрия развивается, появляются новые подходы, инструменты, методологии. Не нужно продолжать валить лес двуручными пилами. Опасна и другая крайность: как только появляется какой-то новый framework, не нужно предлагать всё на нём переделать. Должен быть здравый смысл. Он вообще всегда приветствуется.

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

В-пятых, не стоит прыгать из компании в компанию. Как известно, хороших специалистов перекупают. Это работает, когда нужен более высокий уровень зарплаты. Но есть последствия: можно попасть в компанию, которая не вкладывает в развитие людей, культуру. Это в какой-то момент надоест. Всё равно есть предел, выше которого платить не будут. А потом компании, в которых ценится командная работа, таких «прыгунов» чуть меньше хотят брать к себе на работу. Ступив на такую дорожку, сложно с неё свернуть. Да, это будет приносить удовлетворение зарплатой в первое время, но будет ли приносить удовольствие от творчества и самореализации? Сложный и тонкий вопрос.

Сначала об утверждении «программисты много зарабатывают»: все в курсе, что эта профессия в данный момент на пике востребованности. Да, отрасль испытывает кадровый голод, отсюда и высокие зарплаты. Мы ещё помним, как подобный бум переживали профессии экономиста и юриста, а когда он закончился, спрос остался только на действительно хороших специалистов. Можно ли ждать подобного от IT-сферы? Разумеется. Мы не знаем, как долго продлится период безграничной популярности программистов, поэтому имеет смысл идти в эту профессию, если она действительно по душе, а не потому, что здесь «много денег».

Дело не в том, что отрасль не терпит меркантильности, просто без любви к своему делу здесь не выжить. Один из «минусов» отрасли — если вы пришли сюда без интереса к работе, придётся постоянно и в огромных количествах заставлять себя изучать новое. Технологии обновляются постоянно и быстро, если не мониторить эти изменения, не вникать в них, можно «проспать» всё и остаться за бортом. В качестве примера можно привести тех программистов, которые работают на заводах, где используются технологии 20–30 летней давности. Да, они программисты, но они не могут перешагнуть технологический барьер, который естественным образом отделяет их от современных стандартов разработки.

Теперь о том, что стоит изучать, чтобы получать высокую зарплату вне зависимости от выбранной специализации:

  1. Математика, математическая логика и теория алгоритмов. Это базис, это возможность понимать внутренние процессы программирования, отвечать на вопрос: «Почему происходит так, а не иначе?», выбирать грамотно стратегии разработки. С этими знаниями человеку легче адаптироваться при работе с постоянно меняющимися технологиями.
  2. Математическая статистика и теория вероятности. Где не работает логика, там в игру вступает статистика. Искусственный интеллект, машинное обучение, компьютерное зрение и другие хайповые технологии — всё базируется на теории вероятности и математической статистике.

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

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

Если у вас нет идей, самый простой способ — задать менеджеру прямой вопрос: «как я могу повысить свою заработную плату до ХX»? Так вы узнаете, что он представляет себе достойным этой суммы, и сможете подсветить то, вы уже делали, но что осталось незамеченным, а также найти необходимые пробелы в функциях и заполнить их.

Что конкретно вам придётся выучить или натренировать, будет зависеть от множества факторов и ваших умений. Возможно, вам придётся сходить на тренинг по публичным выступлениям, чтобы проще объяснять свои решения или выступать на конференциях от имени компании, научиться писать CI/CD для ускорения доставки ценности, изучить новый язык, чтобы подменить уволившегося коллегу или переписать процессинг и обрабатывать больше платежей — вариантов масса.

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

Тем не менее главный задел для увеличения вашей ценности для бизнеса — это понимание его целей и проблем. Как зарабатывает ваша компания, какие у неё долгосрочные цели и нынешние трудности? Это вопросы, которые помогут вам найти точки роста вашей компании и вас самих как специалистов.

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

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

После первых шагов необходимо как можно больше практиковаться. Чтобы стать хорошим программистом и хорошо зарабатывать, нужно постоянно писать новый код. За этим следует провести минимум 200 часов. Этого времени достаточно, чтобы получались первые проекты.

Можно практиковаться самостоятельно, можно пройти обучение в университете, а можно пройти специализированные курсы. У нас в буткемпе, например, можно практически с нуля обучиться навыкам программирования за 2,5 месяца и получить первый офер на работу. Программистов сейчас нужно много — рынку их не хватает. Поэтому и зарплаты у них большие. Наши выпускники, например, получали предложения на первую работу с зарплатой от 100 тысяч рублей.

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

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

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

IT-сфера постоянно развивается, нельзя просто сидеть на месте и довольствоваться тем, что уже знаешь. Хотя, наверное, где-то и можно, но это точно не путь к высокооплачиваемой позиции и профессиональному росту. Для успешности требуется постоянно поддерживать знания и навыки в тонусе: изучать новые фреймворки, делиться знаниями с менее опытными программистами, самому учиться у гуру, разбираться, как разные задачи решаются в других подобных проектах.

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

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

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

Итак, как стать тем самым программистом, который много зарабатывает?

  • Изучайте новое, повышайте квалификацию;
  • Улучшайте soft skills, учитесь понимать заказчика и задачи бизнеса;
  • Участвуйте в разных IT-сообществах для расширения кругозора;
  • Будьте готовы брать на себя ответственность, например, за архитектурные решения;
  • Станьте специалистом по редкой технологии, на которую есть спрос, но нет предложения;
  • Попробуйте открыть свой бизнес/запустить стартап;
  • Наконец, спросите у руководства, как можно повысить свою зарплату.

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Также рекомендуем: