Как писать код, который будет актуален и через 10 лет?
"Войти в айти" стало трендом в СНГ за последние 2 года. Рынок оброс специалистами, однако далеко не все понимают, что такое инженерная культура в IT-компаниях и чем программный инжиниринг отличается от программирования.
Мы, в Kolesa Group, активно развиваем IT-рынок, запускаем бесплатные образовательные проекты, набираем молодые таланты, поэтому хотим поговорить на тему IT-культуры.
Гостем второго эпизода подкаста "Код и кофе" стал Антон Сергеев, тимлид в Kolesa Group. Антон в разработке уже больше 10 лет и успел попробовать себя в разных областях помимо веба — от десктопного софта до устройств IoT, занимался синхронизацией времени в беспроводных сетях, писал на самых разных языках — от Java, C, ActionScript до Go и PHP.
В статье ниже мы собрали самые важные отрывки из подкаста.
Есть ли код, который жив спустя 10-15 лет?
Не весь код выдержал проверку временем. Есть часть кода, которая морально устарела, но служит верой и правдой из последних сил. Есть действительно качественный код, которому 10 лет. К его созданию подошли ответственно и сделали инфраструктуру, которая до сих пор хорошо работает.
Программный инжиниринг vs программирование
В книге Software Engineering at Google ребята из Google описали, в чем, по их мнению, отличие между этими двумя понятиями.
Программный инжиниринг — программирование, интегрированное во времени. То есть многократно повторенное во времени.
Одноразовый код, который написали для решения сиюминутной задачи — это программирование.
Если надо поддерживать и улучшать код на протяжении длительного времени, это переход в разряд программного инжиниринга. Можно написать код, который решает задачу здесь и сейчас, часто костыльный, и выкинуть его. Но сделать так, чтобы код работал долго и надежно — это уже задача другого уровня.
Инженерная культура: что это и как ее развивать
Это то, как в компании принято разрабатывать программы. Не обязательно даже специально проговаривать правила и объявлять, что "теперь у нас есть инженерная культура". Многие о ней даже не задумываются, но отношение/подходы к программированию и то, как устроена разработка — это и есть та самая культура.
Хорошая инженерная культура — это когда люди пишут код качественно, постоянно его улучшают, выносят уроки из ошибок и внедряют автотесты.
Также мы поговорили о:
- культуре экспериментов;
- выборе технологий и их внедрении;
- синьорах и джунах;
- разработческих мифах: нелюбовь к планеркам и ведению документации.
Послушать полную версию можно по ссылке.