воскресенье, 30 июня 2019 г.

Tinkoff.ru. Сколько зарабатывает программист



Прикольную статью нашел на журнал.тинькоф.ру, комментарии в ней обязательно почитайте.
Ссылка на всю статью с картинками и комментариями: https://journal.tinkoff.ru/programmer/

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

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


Аноним
программист
В 2000 году компьютер появился уже дома, и я продолжил копаться в железках — разбирать и собирать все глубже и глубже. А к десятому классу мы наконец начали программировать на паскале на уроках информатики, и мне понравилось. Учительница это заметила, стала гонять по дополнительной программе, отговорила идти в железячники — по ее словам, отношение к ним везде как к обслуживающему персоналу — и одобрила мой выбор вуза: я решил пойти в ИТМО на факультет информационных технологий и программирования.
Первые пару лет программирование оставалось на заднем плане, главным было «не вылететь по физике и матану», но с третьего курса учеба стала в удовольствие, к тому же оставалось много времени на самообразование, работу и пет-проекты — то есть мои собственные.
Первый гонорар в 7000 рублей я получил на третьем курсе, в 2008 году, за небольшой скрипт лотереи для онлайн-игрушки. Он был на PHP, собрал все худшие практики, но работал и радовал людей.
Так все и закрутилось: заказы не то чтобы посыпались, но добавляли карманных денег — 5—10 тысяч рублей раз в пару месяцев. Я тогда много играл в онлайн-игру, у которой средний возраст аудитории был сильно за 30, поэтому мне стали перепадать задачи от вполне уже взрослых людей для их рабочих, личных и игровых нужд.
На первую официальную работу на полный день я вышел в 2010 году. Это был один из питерских хостинг-провайдеров, я там разрабатывал и поддерживал большой сайт для клиентов. Изначально мне платили 30 тысяч рублей. Бизнес высококонкурентный, поэтому не шибко доходный, так что поднимали зарплату неохотно. К тому же я формально совмещал работу с учебой, хотя по факту потраченное на пары время отрабатывал. За почти два года моя зарплата выросла до 37 тысяч.
30 000 Р
первая официальная зарплата
Как раз после последнего повышения я получил диплом и ушел оттуда. К слову, сразу на 90 тысяч.
Нужна ли программерам вышка — больной вопрос для сообщества.
Он всегда вызывает дискуссии с переходом на личности. Я встречал отличных программеров как с вузовскими дипломами, так и с девятью классами образования. Но с дипломами я их встречал больше. Возможно, их просто в принципе больше.
Мне кажется, что важно не высшее образование как таковое, а отношение человека к нему. Я встречал людей, которые отстаивают мнение, что любая вышка — трата времени, и мне совсем не нравились результаты их работы.

Суть профессии
Суть программирования — в автоматизации процессов или действий. То есть ты записываешь в понятном компьютеру виде, что он должен для тебя делать и как тебе отвечать, а он все исполняет. Это я больше всего и люблю в своей работе: огромное удовольствие доставляет сама мысль о том, чтобы в очередной раз заставить мешок железа перелопачивать кучу информации и вычитать циферки.
Программирование бывает очень разным — и за очень разные деньги. Я бы сказал, что больше всего на текущий момент платят хорошим спецам, которые согласны копаться в старых проектах из банковской сферы. Хайповое машинное обучение тоже сейчас должно быть в цене, но тут уже многое зависит от проекта.
Я работаю в области разработки под веб, при этом занимаюсь почти исключительно бэкендом: пишу код, который исполняется не у вас в браузере, а на сервере, так что конечный пользователь сайта никогда его не увидит.
Объясню на примере: вы заходите на главную Яндекса, видите страничку, новости и поисковую строку — эту красоту сделали фронтенд-программисты. Вводите поисковый запрос и ждете, что Яндекс найдет вам все, — этот вот поиск делаю условный я, это уже бэкенд. Ну а когда я отдаю вам результаты, они красиво выводятся табличкой, и это вновь работа фронтенд-программистов.
Я бы рекомендовал бэкенд тем, кто любит делать красиво, но не визуально, а концептуально. Веб — если интересно работать с сетью. А программирование в принципе — если вы ленивы настолько, что готовы работать сутки, чтобы потом компьютер сделал вашу работу за минуту.
Ну и конечно, вам должно нравиться сидеть за компом днями и ночами, без этого код не заведется.
Самое трудное в разработке для меня — это постоянный бег. Поток новых техник, методов, библиотек, областей все время ускоряется, за этим нужно следить. Я бы сказал, что если на полгода-год отвлечься от освоенного языка на новый, то понадобится недельку-месяц изучать произошедшие за это время перемены, чтобы влиться обратно.
Готовьтесь много читать, чтобы просто быть в теме. Из более-менее универсальных ресурсов, которые тут могут помочь, я бы назвал «Хабр» и «Реддит». Чтобы не упустить ничего важного, есть простой лайфхак: читать только то, что вылезло в топ либо написано признанными профи.
Если же вы хотите развиваться, придется тратить время на усвоение сложного материала, на пощупать новое, на поболтать с людьми о работе не только на работе. Иначе через 3—5 лет вы будете динозавром рядом с молодыми млекопитающими.

Место работы
Свое место работы я нашел на «Хедхантере». Всего в тот раз прошел собеседования в три разные компании, причем в одну из них только потому, что она была рядом с домом. Каждое заняло часа полтора, никаких зубодробительных задачек не давали, скорее поболтали про опыт и технику. В итоге меня звали к себе все три компании, все три не торговались по зарплате, а даже накинули сверху. Поэтому я просто выбрал тех, что показались мне менее формальными. И не прогадал: через год вторая компания развалилась, несмотря на офис класса А.
В итоге уже около пяти лет работаю в главном офисе продуктовой ИТ-компании в Петербурге. Продуктовая — то есть разраба­ты­ва­ющая и продвигающая какой-то продукт. В нашем случае это поисково-аналитическая система — сайт с поисковой строкой и большим количеством графиков, табличек и выгрузок.
Сотрудников компания ценит и радует разными бонусами: это и печеньки с фруктами, и завтраки с ужинами, и игры, и конференции, ну и кофе, конечно.
Вообще, рынок ИТ сейчас испытывает большую нехватку кадров, так что работодатели не экономят на удержании специалистов. Конечно, ИТ-направление в вузах популярно последние лет десять, только вот, например, из моего потока в 30 человек университет окончили восемь, из которых программировать умеют четверо. Многие переезжают на Запад.
В итоге на рынке не хватает хороших середнячков с опытом и светлой головой, которые при этом еще и говорить не боятся.
Минусы у моего места работы тоже есть, но видеть их начинаешь не сразу. Первый год пребываешь в мире розовых пони и единорогов, особенно после других компаний. Например, у нас действительно нет бюрократии, от которой многие страдают, и никто не выжимает из тебя последние соки ради неинтересного проекта.
Из основных недостатков я бы назвал неявные процессы принятия решений и не самый прозрачный менеджмент: его как бы нет, но на самом деле он есть. Другими словами, у нас нет прямого начальства, например техдира или главы отдела, но есть высшее руководство, есть ребята, которые следят за технической стороной продукта и за тем, чтобы он развивался в нужном направлении.
Обилие встреч и обсуждений — обратная сторона отсутствия начальства: договоренности о межкомандном взаимодействии все равно нужны. Только вместо руководителя в них участвуют один-два члена команды, которые лучше разбираются в теме. Это специфика нашей компании. Видел я такие, где менеджмента много, — проблем это доставляет не меньше.

Обычный рабочий день
На работу я спешу к 12. Позднее начало рабочего дня — довольно стандартная фишка ИТ-компаний.
У нас по распорядку ты обязан быть в офисе до 18, хотя рабочих часов в дне как у всех. Так что, по идее, собираться домой в шесть ты бы не должен, однако никто за этим не следит, поскольку ценят результат работы, а не сидение в офисе. Интервал присутствия нужен, чтобы другие отделы легко могли найти тебя в рабочее время, а также чтобы народ не разбежался на удаленку, потому что настроить процесс работы в таком режиме довольно сложно. Если вы просто наберете ребят, которым «классно, что в офис не надо ехать», и посадите пилить сложный проект, я бы поставил на то, что работать они будут слабо и сроки будут завалены.
Мой рабочий день начинается с кофе, мороженки и «Слака». «Слак» — это мессенджер, который у нас в компании принят за основу, именно в нем тебе за ночь может нападать алертов, обращений, просьб и обратной связи от коллег.
В 12:30 проходит летучка про планы на день: у кого что в работе, кому нужна помощь, какие проблемы были вчера и как их решали.
В час дня ты мог бы взяться за дело, но, к несчастью, до 16 поработать над кодом тебе не дадут различные встречи, обсуждения, собеседования и обед.
А еще это время — самая жаркая пора для тестирования того, что ты наваял вчера. У нас этим занимаются тестировщики. Для программиста их работа — сущий ад: смотреть незамыленным взглядом на функционал и проверять одни и те же варианты ошибок в нем тяжело. Но им, говорят, нравится.
Я слышал о программистах, которые не делают багов, но сам таких не встречал.
Так что, когда тестировщик находит проблему в твоей вчерашней задаче, он ждет, что ты тут же все поправишь: ему проще ее дотестировать, чем переключаться на другие таски. Если жепроблем нет, самое время вылить задачу на пользователей, показать им новый функционал и проверить, что у них все работает как прежде или лучше.
В общем, раньше 4—5 вечера нет смысла браться за разработку и проектирование, так что если вдруг выдались свободные полчаса, то я беру чаю с лимончиком и листаю технические ресурсы или пул задач на будущее, болтаю с коллегами, читаю доки по технологиям, которые еще не успел пощупать.
Часов в пять наконец-то можно надеть наушники — я слушаю митол и хард-рок, работа с кодом и без фоновой музыки достаточно медитативна — и взяться за код.
Обычно я стараюсь делить задачу на логические блоки и делать по частям, фиксируя изменения. Также очень не люблю оставлять доделки на завтра, так что конец рабочего дня выходит плавающий. В среднем я заканчиваю часов в девять, но если процесс идет и голова еще не опухла, то могу залипнуть в офисе и до полуночи, сделать часть задач за следующий день.
Тут мне работать удобнее: у меня большой монитор, специальная мышка и неограниченный запас печенек и кофе. Дома я поленился обустраивать такое рабочее место, так что, если вдруг мне нужно что-то сделать в выходные, тоже еду в офис: это эффективнее.
В лучшие дни, когда все звезды сходятся, весь день ты никому не нужен и можно спокойно кодить, у меня получается решить задачи на две недели вперед. Да, иногда к ним приходится возвращаться после тестирования, но в целом такой подход дает кучу времени на пет-проекты и самообразование.

Случай
В нашем продукте есть форма регистрации новых пользователей. Незадолго до того, как я пришел в компанию, я делал аналогичную в своем проекте. Тогда мне нужно было защитить ее от нехороших людей, которые могут начать регистрировать пользователей с огромной скоростью и переполнить базу, тем самым положив всю систему. В своем проекте я остановился на не самом лучшем решении этой проблемы. Поэтому стал разбираться, как же борются с таким у нас на работе.
Я честно обошел всех, кто мог бы знать о таких вещах, но никто не смог мне ответить, как мы от этого защищаемся. Так что я перешел к практическим методам: сам встал на место плохих людей и начал регистрировать аккаунты со страшной скоростью, ожидая, что меня вот-вот каким-то образом ограничат. Подумать, что на таком большом проекте никто не предусмотрел защиты, я не мог.
Быстро регистрировать аккаунты оказалось не таким простым делом, так что я застрял в отладке кода, потом меня отвлекли рабочими задачами, а потом наступил вечер и пора было домой.
В середине пути мне в панике позвонила наша тестировщица, которую подняло высшее руководство с криками:
«Нас ломают!»
Она спрашивала, не в курсе ли я, как от этого защититься прямо сейчас. Узнав, как выглядят имена аккаунтов, которых было уже более 5 тысяч, я посоветовал выключить мой компьютер. Как ни странно, это помогло!
На тот момент я работал в компании месяца два, так что ожидал немедленного расчета за такой переполох. К моему удивлению, меня даже не журили, только попросили сделать защиту от подобных атак и не забывать работающие скрипты.
Доходы
Весь мой заработок — это оклад на основной работе. На данный момент это примерно 270 тысяч рублей в месяц.
Мне кажется, 200—250 тысяч чистыми в месяц в Санкт-Петербурге — вполне рыночная цена питон-программиста с опытом больше пяти лет и уклоном в веб.
250 000 Р
рыночная зарплата программиста с опытом работы на python
Найти зарплату в 250—300 тысяч в принципе тоже несложно: достаточно понравиться паре команд на собеседовании в успешную компанию, которая готова дать чуть больше, чем конкуренты, чтобы закрыть дыру в штате.
Если хочется роста зарплаты в полтора-два раза, нужно либо идти в менеджмент, либо заниматься более специфическими вещами — машинным обучением, AR, VR, но одних навыков программиста тут будет недостаточно, — либо переходить на более дорогой язык. Самые банальные примеры сейчас — это Java и Scala. Есть даже шутка про джуниоров на джаве, которые меньше двухсот не просят вообще.

Подработки
Подработки найти легко — тяжело отфильтровать интересные и те, за которые готовы платить адекватную часовую ставку.
За время работы у меня сложился достаточный пул клиентов, которые время от времени предлагают хорошие варианты за приличные деньги. Например, последний был где-то на 60 часов, растянулся на две с лишним недели и принес 80 тысяч. Поскольку проект попался интересный, я заведомо занизил стоимость и взял ее фиксом, а не почасовой оплатой.
5000 Р
могут платить за час работ
До этого была заморочная доработка своего же небольшого скрипта, написанного пару лет назад. Заниматься этим мне не хотелось, поэтому я загнул ценник в 20 тысяч за 3—4 часа работы, правда, в итоге потратил все шесть.
Бывает, такая халтура приносит до половины зарплаты.
Но ввиду ее непостоянства я даже не учитываю ее в бюджете. Доходы с подработок просто кидаю в подушку, ну или покупаю какой-нибудь ништячок, на который давно жаба душила тратить деньги. Например, недавно наконец обновил велосипед.

Расходы
Мы с женой и двухлетней дочкой живем в своей квартире, ипотека на нее давно закрыта: выплатили ее за год. Правда, пришлось потратить предыдущие накопления: было очень тоскливо смотреть, сколько денег уходит банку на процент. Зато теперь платим только коммуналку.
Жена в отпуске по уходу за ребенком, в будущем планирует выйти на работу, но пока не знает, чем хотела бы заниматься. По профессии она дизайнер, но ей это надоело, так что сейчас она в раздумьях.
Более восьми лет я подробно вел учет трат, но в последнее время потерял к этому интерес. Изначально это помогало понять, куда уходят средства, но потом важнее стало регулярно откладывать часть зарплаты на ипотеку и в подушку. Для этого неважно знать, куда ты тратишь деньги, важнее не давать себе тратить больше, чем можешь.
Поэтому я придумал, как ограничить траты: просто первого числа каждого месяца перевожу по 40 000 себе и жене на карты и еще 20 000 кладу на запасной счет. Выходит 80 000 расходов на семью и еще 20 000 в запасе на всякий случай, например на отпуск или обслуживание машины. На машине ездит жена: я предпочитаю общественный транспорт, мне нравится читать книжки по дороге на работу. Если приходится лезть в запас в течение обычного месяца, я очень расстраиваюсь и могу урезать бюджет на следующий.
100 000 Р
максимальные расходы в месяц на всю семью
Деньги между картами мы с женой можем гонять по потребности, бюджет у нас общий. Бывает, она тратит на ребенка больше обычного. Тогда я урезаю себе карманные, задерживаю квартплату или начинаю питаться гречей.
Все остальные доходы — 170 тысяч — переводятся в подушку, на данный момент это пополняемый депозит. Раз в полгода подушка отдает лишнее на брокерские счета и депозиты в других банках, где участвует в ребалансе портфеля. Раньше я заводил для этих целей регулярные платежи, но сейчас делаю все руками. Учет веду в экселе, там удобно строить красивые графики и тоже можно программировать.
Сейчас я не коплю ни на что конкретное. Но, возможно, когда-нибудь мы соберемся переехать в более просторную квартиру или за границу.
Желание потратить много и сразу бывает, но моя схема не позволяет расходовать больше, чем есть в подушках: банально жаба задушит проценты терять.
Наверное, всего один раз я поддался порыву и купил себе мотоцикл, о котором мечтал с детства. Гормоны улеглись достаточно быстро, и я пожалел о скоропалительном решении: подойди я к вопросу рассудительно, взял бы что попроще.

Будущее
Мне нравится программировать, так что я постараюсь держаться на этой позиции, пока смогу. Область молодая, но стареет вместе со мной, так что на своем опыте предстоит узнать, как там программистам в 35—40. После этого возраста может быть тяжко менять работу, поскольку в молодой коллектив скорее возьмут молодого же человека, а дяденьку под 40 чаще видят руководителем всего этого безобразия. Но я надеюсь, что возрастной ценз будет расти с годами. Я себя в роли руководителя пока не вижу совсем: на этой позиции нужна другая компетенция.
Учиться новому — часть моей работы, так что я постараюсь не отставать от отрасли и расти, в том числе по доходам. Для этого временами устраиваю себе забеги по собеседованиям — помогает быть в курсе рынка и держать себя в форме. Ну и предложения по работе с более высоким окладом, конечно, радуют и тушат синдром самозванца. Впрочем, я мог бы вписаться даже на меньшую зарплату, если будет интересный проект и классная команда.


Комментариев нет:

Отправить комментарий