[Из песочницы] Почему не стоит начинать карьеру в маленькой не-IT компании

Привет!

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

vvhmfqb2dpw2q8odtzs5ufy_q4o.jpeg

Вводные


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

Я мог получать до 30–50 тыс. в месяц в лучшем раскладе и нормально совмещал работу с учёбой.

Причины искать работу в компании


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

Во-вторых, учиться писать код.

В-третьих, учиться организовывать работу.

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

Поиск работы


Я составил CV, заполнил резюме на hh.ru и там же начал поиск. Моей ошибкой было откликаться на всё, что вижу. В первую неделю откликнулись три компании, для двух я решил тестовое задание, а третья сразу пригласила на собеседование.

Что-то не так: Соискатели отправляют десятки откликов на вакансии в день, поэтому компании отсеивают их тестовыми заданиями. Если компания не прислала вам тестовое задание — значит, они не знают, как отсеять плохие кадры.

Собеседование


На панельном собеседовании были 10 человек. Все или студенты, или только что окончившие универ. Собеседование проводил директор компании.

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

Что-то не так: Посмотрите, чем занимаются другие разработчики в компании. Плохо, когда у них нет установленных функций, обязанностей и зоны ответственности.

Первые дни


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

Что-то не так: Никогда не выходите на работу без договора.

Во время экскурсии по офису, мне сказали, что я могу работать за любым рабочим местом, они не зафиксированы.

Что-то не так: Обязательно требуйте своё рабочее место — стол и стул. Сначала кажется, что работать, где захочется, здорово и современно, но это далеко не так.
Во-первых, вам понадобится монитор, чтобы не убить глаза в ноутбуке.
Во-вторых, через пару дней работы на диване начинает болеть поясница.

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

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

Менеджмент


Менеджер IT отдела оказался не программист, не сисадмин, не разработчик и даже не аналитик, а просто бывший проектный менеджер отдела продаж с дипломом «специалиста информационной безопасности».

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

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

Тайм-менеджменту мешают совещания ради совещаний. Иногда в день проходит 3–4 совещания по часу, где отделы рассказывают, что они успели сделать за прошедшие 2–3 часа. Такое же совещание по итогам дня вечером.

Что-то не так: Если вы разработчик, в вашем расписании должны быть блоки хотя бы по 3–4 часа, не меньше. Разработка — творческий, а не административный процесс, требующий концентрации. Это трудно объяснить в не-IT компании, где все процессы делятся на блоки по 15–30 минут.

Итог


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

Работа в маленькой не-IT компании стрессовая, потому что никто не понимает, что вы делаете. Вам придётся объяснять все основы работы над IT продуктам, и хорошо, если вы это понимаете. Менеджеру нужно объяснить, что первый этап работы над проектом — проектирование, и что без тестов проекту будет плохо. Вас могут отвлекать по мелочам каждые 15 минут, потому что в их сфере так принято.

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

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

© Habrahabr.ru