Главная | Все статьи | Карьера

Что такое инженерная культура и как джуну понять, есть ли она в компании: рассказывает ведущий программист «Контура»

Время чтения статьи ~5 минут
Что такое инженерная культура и как джуну понять, есть ли она в компании: рас... главное изображение

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

«Контур» — это экосистема продуктов для бизнеса. С 1988 года продукты «Контура» помогают клиентам тратить меньше времени на рутину, делают общение с ведомствами проще и прозрачнее.

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

Хекслет давно сотрудничает с «Контуром» — проводит партнерские программы и помогает студентам попасть на стажировку в компанию. Чтобы узнать подробнее об условиях и направлениях стажировки, переходите на сайт компании.

Что такое инженерная культура

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

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

Как понять, какая в компании инженерная культура: высокая или низкая

Спросите на собеседовании, есть ли в командах общепринятые практики

Узнайте, по каким принципам в компании пишут код, какие приемы используют, есть ли у команды единое понимание того, как она должна функционировать.

Например, команда «Контура» сформировала практики с помощью единого информационного пространства: собрала код и полезную информацию по задачам в Git, YouTrack, Jira и других сервисах, которые помогают наладить работу. С их помощью команда может ориентироваться в коде и понимать процессы.

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

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

Читайте также: Как устроена работа программистов в «Контуре»

Разберитесь в технических процессах

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

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

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

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

Узнайте, есть ли в команде архитектор

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

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

Узнайте про возможность обучаться внутри компании

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

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

Итог

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

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

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях

Аватар пользователя Контур
Контур 29 сентября 2022
4
Похожие статьи
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 26 декабря
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 26 декабря
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 26 декабря
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 26 декабря
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 26 декабря