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

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

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

Будет неверно говорить о всех разработчиках, но мой опыт подтверждает сказанное выше. Где бы я ни работал, повторяется одно и то же. Если на горизонте появляется интересная задача, ее проработка достается тому, кто в тесном контакте с руководством. Это, кстати, не гарантирует навыков в разработке; гораздо чаще я вижу что-то вроде обратной зависимости.

Может быть, вы пошли на обед, обдумывая новый сервис. В это время тимлид и коллега из офиса тоже пошли в “Жареный жир” и славно поболтали. К возвращению в офис уже все решено, формальности обговорены. На следующий день на созвоне вы излагаете свое видение сервиса, не зная, что в этом нет смысла. Вас вежливо выслушают и скажут, что решение отличное и его приберегут для будующих проектов. А пока что Джон уже приступил к разработке, и мы с нетерпением ждем.

Сделав черновик, Джон с пафосом презентует его фирме, после чего его роль выполнена. Он уходит в другую команду или приступает к проработке нового проекта. Дальше наступает рутина удаленщика — поддержка этого чуда. Ваш выход! Моментально находятся краевые случаи, которые Джон не предусмотрел, недостаток тестов, банальные баги. Ты их чинишь. Дни становятся неделями, месяцами, годами. Когда проект заработает стабильно, вас перебросят на поддержку новой сырой поделки.

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

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

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

Вот, пожалуй, что нужно держать в уме, собираясь на удаленку. Да, она сделает вас самостоятельным и пробивным, да, вы будете получать больше коллег из яндексов и сберов. Но чтобы обсуждать ключевые вопросы, чтобы принимать решения, нанимать, руководить — будьте добры в офис.