Что делать, чтобы получать нормальные деньги и работать в комфортных условиях будучи программистом

Этот пост я решил опубликовать как ответ на некоторые комментарии к недавнему посту (О хорошем руководителе, а именно, комментарии вида "Где вы находите такие компании? Я сам программист, денег платят мало, отношение фиговое..."  Честно говоря, я N лет назад мог бы написать такой же комментарий. Сейчас не могу :)


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


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


Итак, поехали.


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

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

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

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


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


Ну и бонусом «совковый менеджмент» и административный маразм типа «рабочий день строго с 8 утра, за опоздание на 1 минуту лишение премии», бесконечное написание отчетов и служебок с целью прикрыть задницу, и т.д.


2. Очень осторожно рассматривайте позиции в конторах, для которых разработка ПО не является видом деятельности, приносящим основной доход, в том числе всякие НИИ, КБ, инжиниринговые конторы и заводы, торговые компании, магазины, и т.д.


В одном профессиональном сообществе даже есть в ходу шутка

"Если ваша должность называется не «Senior Developer» или «Team Lead», а «Инженер 1-ой категории» или «Ведущий специалист отдела информационных технологий», то значит вы где-то свернули не туда"

Почему такой совет в целом? Процитирую, опять же, высказывание, которое очень хорошо описывает суть происходящего:

"Концептуальное отличие айтишной конторы от неайтишной заключается, разумеется, в том, что в айтишной конторе ты – будучи программистом, тестировщиком, аналитиком, IT-менеджером, наконец – являешься частью доходной части бюджета (ну, по большей части), а в неайтишной – только лишь расходной его статьёй, причём зачастую одной из самых заметных. Соответственно, к внутренним айтишникам выстраивается соответствующее отношение – как к некоторым нахлебникам, которых мы, бизнес, вынуждены оплачивать из своего кармана, а они ещё и осмеливаются чего-то там себе хотеть."

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


Вторая причина -- технологическое отставание, часто бывает так, что команда программистов вроде что-то разрабатывает, и продукт даже вроде работает, но по факту всё варится в собственном соку в изоляции от окружающего мира, никто особо не саморазвивается, и действительно знающие и талантливые люди там не задерживаются. Увы, подобное я наблюдал своими глазами. Как такое выявить? Можно задавать себе простые вопросы: Используются ли системы контроля версий и баг-трекинга с четко установленным workflow? Есть ли налаженный процесс continuos integration? Есть ли обязательный ли code review при любых коммитах? Приняты и утверждены ли стандарты написания и оформления кода, документирования изменений, соблюдают ли их? Использует ли команда актуальные версии языка, инструментов и библиотек при разработке новых модулей и проектов? Используются ли стандартные фреймворки, и библиотеки, а не новоизобретенных велосипеды при отсутствии обоснованных причин к их изобретению? Пишутся ли тесты, модульные или интеграционные? Если хотя бы на пару из этих вопросов ответ "нет", то это повод хорошо задуматься, а в правильном ли направлении вы движетесь.


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

Во-вторых, опять же, хорошая цитата с обоснованием:

"«Разработка аппаратуры по статистике, это чаще всего, само-окупаемое, само-финансируемое российское предприятие, с российскими же заказчиками, российским рынком сбыта и российским начальником — бывшим инженером возрастом 50+, ранее также работавшим за копейки. Поэтому мысль у него такая: «Я всю жизнь пахал, чтобы я какому-то молодому платил? Перебьется!» Таким образом, сильно больших денег у подобных предприятий нет, а если и есть, то вкладываться они будут отнюдь не в вашу зарплату»."


Ну и в-третьих… В таких местах часто не разделяют программистов и других инженеров. Да, безусловно, программиста тоже можно считать инженером, и даже само понятие «software engineering» как бы намекает. Нюанс в том, что в нынешней ситуации, сложившейся на рынке труда, эти категории очень по-разному оплачиваются. Я не говорю что так и должно быть, я сам считаю что это неправильно, но, увы, на текущий момент это факт: зарплаты «программистов» и других «инженеров» могут различаться в два-три раза, а иногда и больше. И во многих инженерных и околоинженерных предприятиях руководство это не осознает и не хочет осознавать. Поэтому на хорошие деньги, опять же, можно не рассчитывать.


По АСУТПшным пабликам, одно время, ходила картинка со скриншотом вакансий в Питере, которая прекрасно характеризует эту ситуацию:

Что делать, чтобы получать нормальные деньги и работать в комфортных условиях будучи программистом IT, Программист, Работа, Зарплата, Длиннопост

3. Не работайте с военными. Тут все просто, достаточно прочитать вот эту ветвь комментариев: #comment_151089915


4. Не работайте "мастером на все руки", это типа когда вы одновременно и программист, и админ, и монтажник сетей, и закупщик железа, и заправщик картриджей, и DBA, и техподдержка, и телефонист. Если вы на своем месте занимаетесь сразу «всем и сразу», то скорее всего вы не будете являться экспертом каждой из этих областей, а значит вас при желании можно заменить на нескольких студентов или джунов, которых даже за небольшие деньги найти не проблема. Что делать? Выбрать узкую специализацию и развиваться в ее сторону.


5. Попробуйте работать в разных типах компаний. Есть большие IT-компании, есть маленькие. Есть стартапы, есть кровавый энтепрайз. Есть "галеры" (аутсорс/консалтинг), есть продуктовые фирмы. В каждом случае есть свои особенности, свои плюсы и свои минусы -- нужно только сравнить всё на своей шкуре, и выбрать то, что по душе.


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


Ну и отдельно добавлю, что не нужно бояться "галер" - так называют фирмы по заказной разработке (оно же аутсорс или консалтинг, самые известные примеры: EPAM, Luxoft, DataArt, и т.д.). Да, там есть свои особенности рабочего процесса, но в любом случае, адекватная галера скорее всего окажется гораздо лучше госконторы или НИИ. Плюс в таких местах, как правило, бывает бешенный boost в профессиональном плане -- а потом, набравшись опыта, можно свалить туда, где теплее и спокойнее.


6. Учите английский. Серьезно. Даже если он сейчас вам особо не нужен


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


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


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


7.

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


8. Не верьте мифам:


Миф 1. "Да сейчас везде плюс-минус одинаково".


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


Миф 2. "В вакансиях пишут фейковые зарплаты, на самом деле таких денег никто платить не будет". Нет, и еще раз нет. IT-это одна из немногих отраслей у нас, где сложилось так, что если в описании вакансии компания пишет, что готова платить специалисту 100-150-200 тысяч, то скорее всего она действительно готова и будет.


Миф 3. "У меня плохое образование, меня никуда возьмут". Тоже выдумки. За 10 с лишним лет работы в IT, я свой диплом мухосранского заборостроительного показывал только один раз -- на самом первом месте работы, да и то потому, что кроме него показаться было нечего. Во всех остальных случаях его или вообще не спрашивали, или же говорили уже после оффера "Кстати, а у тебя диплом есть? Если есть, принеси как-нибудь потом в кадры, они копию себе сделают".


Миф 4. "Хорошие деньги получают только крутые разработчики, а я посредственность". Это ни что иное, как Синдром Самозванца (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B4%D1%80...). Избавляйтесь от него. Не надо думать, что вы чем-то хуже, менее квалифицированнее или еще в чем-то уступаете другим соискателям. И уж тем более не надо основываясь на этих фактах просить зарплату ниже среднерыночной — наоборот, _всегда_ закладывайте сумму хоть немного выше средней, но при этом явно давайте понять, что готовы её обсуждать.


9. Если же все упирается в малое количество вакансий в городе (иными словами, если «других мест», где требуются люди с вашей квалификацией особо-то и нет, или туда не так-то просто попасть)… То повышайте скилл и переезжайте в другой город, если есть возможность. Я лично знаю людей, кто из миллионников переезжал в СПб и Мск сразу с двухкратным повышением дохода, причем даже при переходе на более низкую позицию. Многие компании, кстати, предлагают релокационные пакеты для переезжающих к ним из регионов.


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


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


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

Лига программистов

1.5K поста11.3K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Вы смотрите срез комментариев. Показать все
ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку