7 навыков успешного программиста
От понимания чужого кода до избежания совещаний
Блогер с ником SeattleDataGuy в своей колонке на Medium рассказал о семи навыках, которыми должен обладать хороший программист.
1. Умение читать чужой код
Все кроме вас отвратительно пишут код. Поэтому отличный навык, который принесет вам только пользу – научиться читать чужой код. Неважно, насколько неряшливо и непродуманно он выглядит, вам все равно нужно его понять. В конце концов, это ваша работа.
Почему это полезный навык? Во-первых, способность понимать чужой код – отличная возможность увидеть, что значит плохое проектирование. Анализируя чужую работу, вы понимаете, что получается, а что – нет. Более того, вы осознаете, какой код легче понимать другим разработчикам, а какой – наоборот.
Способность читать беспорядочный код также упрощает процесс создания обновлений в случае необходимости.
2. Чутье на плохие проекты
Еще один важный навык – понимать, какие проекты не имеет смысла развивать. В больших компаниях всегда разрабатывается много проектов, большая часть их не доводится до конца. Есть бессмысленные проекты в плане бизнеса, есть проекты просто с плохим руководством. Конечно, это не означает, что вы должны сразу отказываться от идеи, если вы с ней не согласны. Однако если руководство не может нормально объяснить, что они будут делать с конечным результатом, возможно, на их предложение не стоит тратить свои силы.
Также некоторые проекты иногда настолько фокусируются на технологии, а не на решении, что с самого начала может быть понятно, что они не будут успешными. Чтобы развить этот навык, нужно набить шишки на плохих проектах, только тогда вы сможете их отличать.
3. Избегание совещаний
Фото: Medium
Неважно, кем вы работаете – разработчиком или аналитиком данным – совещания и встречи являются необходимостью, потому что вам нужно быть «на одной волне» с менеджерами, конечными пользователями и клиентами. Тем не менее, у таких собраний есть тенденция захватывать весь ваш рабочий график. Поэтому важно научиться избегать некоторые из них.
Самый распространенный метод – просто блокировать по два часа каждый день в расписании на совещание. Еще один способ – приходить на работу раньше всех, чтобы успеть сделать работу в тишине и покое и не отвлекаться.
4. Умение пользоваться Github
Некоторые студенты информатики начали использовать GitHub чуть ли не с пеленок. Другие впервые сталкиваются с GitHub на первой работе. Для них он кажется темным лесом со странными командами и процессами. Они никогда не уверены на 100%, что делают.
Независимо от того, какую систему использует ваша компания, она превращается в большую помеху, если использовать ее неправильно. Простой push или commit могут привести к тому, что вы часами будете пытаться распутать паутину из множества бранчей и форков. В дополнение к этому, если вы забудете о команде pull и не обновите последнюю версию репозитория, вам придется решать разные конфликты слияния, что вряд ли можно назвать интересным занятием.
Фото: Medium
5. Написание простого рабочего кода
Среди молодых инженеров есть одна тенденция – попытки имплементировать все, что они знают, в одном решении. Существует желание взять понимание объектно-ориентированного программирования, структур данных и новых технологий и использовать его в каждом бите своего кода. Но этого делать не стоит, вы просто создаете таким образом дополнительную и ненужную сложность.
Есть баланс между сложными концепциями проектирования и простым кодом. Шаблоны проектирования и объектно-ориентированное проектирование должны упрощать код в общей схеме вещей. Однако чем больше процесс абстрагируется, инкапсулируется и помещается в черный ящик, тем сложнее его отлаживать.
6. Умение говорить «нет» и расставлять приоритеты
На самом деле это касается любой должности. Но в частности кажется, что от сотрудников-технарей всегда всем что-то нужно.
Приоритезация и умение говорить «нет» – тесно связанные друг с другом навыки. Расставлять приоритеты – значит уделять время на задачи, которые окажут большое влияние на компанию. Говорить «нет» – значит избегать работу, которую должна делать другая команда.
Этому навыку довольно сложно обучиться, особенно если вы только что выпустились из университета. Вы не хотите никого расстраивать, поэтому берете на себя лишние обязательства. Тем не менее, работы всегда много, и нужно научиться говорить «нет».
7. Дизайн-мышление
Навык, который сложно протестировать во время собеседования и которому сложно обучиться в университете – умение понимать, как конечный пользователь может неправильно использовать ваш софт.
Например, поскольку основная часть программирования – это поддержание, это значит, что зачастую приходится менять запутанный код другим. Даже простое изменение требует отслеживания каждой возможной отсылки на объект, метод и/или API. Иначе вы можете случайно сломать привязанные модули, о существовании которых не знали. Даже если вы просто меняете тип данных в базе данных.
Это также включает продумывание пограничных случаев и всего высокоуровневого проектирования перед началом разработки.
В более сложных ситуациях, когда вы разрабатываете новые модули или микросервисы, важно продумать операционные сценарии того, что вы разрабатываете. Подумайте о том, как будущим пользователям нужно будет использовать ваш новый модуль, когда они будут использовать его неправильно, какие параметры понадобятся и есть ли возможность, что другому программисту понадобится ваш код.
Программирование – это лишь часть проблемы. Нетрудно создать софт, который будет хорошо работать на вашем компьютере. Но есть множество разных вариантов развития событий, когда деплой кода может пойти не по плану. А в продакшене уже сложно сказать, как он будет использоваться и какой другой код будет к нему привязан. Спустя пять лет будущего программиста могут огорчить ограничения вашего кода.
Материалы по теме:
Как выбрать язык программирования для изучения в 2019 году
Как познакомить ребенка с программированием без компьютера
-
Партнёрский материал Как компании из Архангельска растут на терпении, связях и самоиронии 29 мая 2026, 14:33
-
Банки Владимир Скворцов: «Наша задача — снизить страховые риски клиента и быстро выплатить, если что-то случится» 19 мая 2026, 16:00
-
Личное Фёдор Овчинников: «Пять месяцев в тундре — путешествие в другое измерение» 14 мая 2026, 13:18
-
Бизнес Екатерина Лапшина: «У меня всегда был чуть больший аппетит к риску» 07 мая 2026, 16:10
-
Личное Из фарцовщика в создателя дизайн-завода Flacon: как Николай Матушевский дважды бросал свой бизнес и начинал с нуля 05 мая 2026, 12:09
-
Личное «Успешным я стану, продав бизнес и уехав в Африку реабилитировать горилл». Интервью с ресторатором Денисом Бобковым 10 апреля 2026, 17:00
-
Технологии Александр Пьянов, «Яндекс Драйв»: «Мы готовы стать агрегатором для всего рынка каршеринга» 08 апреля 2026, 12:26
-
Банки Ирина Лебедева, Т2: «Ключевой принцип — без неприятных сюрпризов» 25 марта 2026, 09:14
-
Карьера Яндекс Маркет объявил о смене руководства: пост займёт Алексей Шлюнкин — ранее он развивал инфраструктуру Поиска 02 июня 2026, 15:00
-
Бизнес Кикшеринг Юрент теперь можно использовать как корпоративный транспорт — самокаты появились в СДЭК и SwiftDrive 02 июня 2026, 20:30
-
Россия В России утвердили новые правила подсчёта просмотров в онлайн-кинотеатрах: статистику привяжут к номеру телефона 02 июня 2026, 20:00
-
Технологии Яндекс Пэй разрешил подтверждать подозрительные переводы через доверенное лицо — для защиты от мошенников 02 июня 2026, 19:30
-
Стартапы В Москве прошёл фестиваль Startup Village — стартапы заключили 50 соглашений о запуске проектов в РФ и за рубежом 02 июня 2026, 19:00
-
Бизнес «Аэрофлот» опубликовал финансовые результаты за I квартал 2026 года: чистый убыток группы — 11,9 млрд ₽ 02 июня 2026, 18:05
-
Технологии 84% российских приложений содержат критические уязвимости — проблемы всё чаще возникают из-за некорректного ИИ-кода 02 июня 2026, 17:10
-
Бизнес МТС впервые с 2009 года привлекла кредит от российских банков — сумма займа может достичь 70 млрд ₽ 02 июня 2026, 15:40

