До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итог

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

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

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

Аватар пользователя Контур
Контур 29 сентября 2022
4
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября