17 Янв 2023
5 мин
263

Какие качества нужны программисту: мнения и советы работодателей

Мнения представителей «Цифроидеи», Auriga, «Инносети», MANGO OFFICE, «Неотех», WEEEK, Myresume.ru.

Содержание

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

Какими личными качествами должен обладать программист

💺Усидчивость. Программист обдумывает логику программы, пишет коды или ловит баги — и всё это время он за компьютером. Кому-то это может показаться трудным: как можно сидеть на одном месте часами? Но такова реальность. Чтобы отладить код или улучшить алгоритм, нужно немало времени. А если отвлекаться, мысли разбегутся и ничего не получится.

«Не стоит расстраиваться, если вы неусидчивый. Усидчивость — это то качество, которое можно в себе развить.

1) Составляйте план действий на рабочий день и сверяйтесь с ним. Так работа будет более продуктивной.

2) Постарайтесь убрать все гаджеты из поля зрения, чтобы не отвлекаться постоянно.

3) Можно придерживаться метода Pomodoro. Поставьте таймер и работайте над задачей 20–25 минут, ни на что не отвлекаясь до сигнала. После чего сделайте перерыв на пять минут. После каждого четвертого «помидора» отдыхайте 15–30 минут.

4) Не забывайте про отдых: каждые час-два отвлекайтесь от работы и переключайтесь на другой вид деятельности хотя бы на 15 минут».

Рекрутер компании Auriga

🎯Умение концентрироваться. Программист должен придумать код, который решит задачу. Но иногда приходится часами обдумывать решение. Если человек не умеет концентрироваться на работе и постоянно отвлекается на соцсети или ютуб, ничего не получится: он либо не придумает решение, либо придумает, но не то. Такому специалисту будет трудно на рынке труда.

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

Иван Мараховка
Основатель российского стартапа WEEEK

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

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

Феликс Хачатрян
Основатель и владелец компании по IT-разработке информационных систем, сервисов и мобильных приложений «Неотех»

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

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

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

Рекрутер компании Auriga

«Широкий кругозор дает взгляд на задачу и ситуацию с разных сторон, вариативность решений. Консерватизм мышления и боязнь перемен ― это буквально гибель в качестве разработчика».

Дмитрий Юдаев
Отвечает за создание и развитие продуктов компании «Инносети», создатель крупнейшей транзакционной сети на блокчейне в России.

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

«Я обращаю внимание на упорство в достижении результата. Как с первого взгляда, так и через несколько дней разработки, задача может казаться нерешаемой. Хороший специалист не станет опускать руки, столкнувшись с трудностями, а будет разбираться в головоломке и обязательно найдет элегантное решение».

Борис Сысоев
Основатель HR-стартапа Myresume.ru, специалист по отбору и развитию персонала

🙋Открытость. Важно высказывать мысли, идеи или предложения без страха и стеснения. Плохо, если программист замкнут. Он может промолчать об ошибке, которая со временем сломает код, или не предложить оптимальное решение по задаче. В итоге результат получится посредственным. Бизнес на нем не заработает.

«В работе точно поможет коммуникабельность. Если задача понята правильно, специалист задал вопросы — больше шансов, что он успешно сделает работу. Еще пригодятся усидчивость, умение давать себе право на ошибку и принимать их, проактивность, ответственность. Точно не помогут: раздутое эго, раздражительность, нетерпеливость, неаккуратность, мотивация „заработать денег“ (следствие: быстрое выгорание)».

Цифроидеи

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

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

Рекрутер компании Auriga

👥Работа в команде. Программист не создает в одиночку IT-продукты. Над условным приложением трудится команда: дизайнеры, разработчики, проект-менеджер, маркетологи. Если айтишник не командный игрок, разработка зайдет в тупик, а продакшн сорвется. Всё потому, что программист не придет на помощь коллеге, не подскажет новичку и не станет учитывать чужие замечания.
Идеально, если программист отзывчив, общителен, готов делится знаниями и болеет за общую идею. Он будет надежным плечом для своих коллег.

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

«Цифроидеи»

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

Елена Колесова
Руководитель отдела персонала MANGO OFFICE

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

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

Иван Мараховка
Основатель российского стартапа WEEEK

⏱ Управление временем. Чтобы все работали сообща, устанавливают трудовую дисциплину. Например, каждый участник должен подготовить и сдать часть работы к определенному сроку. Если с дисциплиной у программиста беда — он подведет команду: сорвет сроки, нагрубит заказчику, опоздает на совещание. Это повлияет на выпуск продукта и испортит репутацию работодателя.

«Любой программист должен уметь распределять рабочее время и выставлять ориентировочный срок выполнения задач бэклога. Из-за нелинейности процесса сделать это точно получается не всегда, но в основной массе задачи все-таки стандартные. Да и команда не даст искусственно затянуть процесс разработки.
Например, в нашей компании приняты ежедневные пятиминутные созвоны. Каждый сотрудник кратко рассказывает о том, что сделал вчера, какие сложности возникли и что предстоит выполнить сегодня».

Борис Сысоев
Основатель HR-стартапа Myresume.ru, специалист по отбору и развитию персонала

Какие профессиональные качества нужны программисту

🖥Умение писать понятный код. Это код, который не содержит лишних строчек, его легко читать другим разработчикам. А вот если надо тратить часы, значит, у специалиста мало опыта.

«Еще важно умение читать чужой код и понимать его логику. Этот навык понадобится, если над одним продуктом трудятся разные разработчики, а в финале необходимо собрать все модули воедино. Пригодится и умение пользоваться чужим опытом: быстро находить, разбирать и использовать решения с форумов программистов, к примеру, с портала stackoverflow.com».

Елена Колесова
Руководитель отдела персонала MANGO OFFICE

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

Структур много, но в обязательном порядке разработчик должен уметь работать с массивами, связанными списками, стеками и очередями. Это основа, без нее не решить даже простые задачки.

🖥Знание библиотек. Специалисту не надо писать скрипты с нуля — он берет заготовки из библиотеки и внедряет в код. Так разработка идет быстрее. Библиотеки в каждом языке программирования разные. Достаточно знать основные. Например, если код на Java, то программист должен работать с библиотеками java.lang или java.util. А если на Python — то с Pandas и NumPy.

🖥Владение несколькими языками программирования. Это помогает разработчику менять язык, если он не подходит для решения конкретной задачи. А еще такой специалист более востребован на рынке труда: требования работодателей разнятся. Не получится знать один язык и подходить под все вакансии.

🖥Понимание математики. Углубленная математика нужна в специфических сферах разработки вроде машинного обучения или больших данных. Но даже базовые знания алгебры, логики и статистики помогают в работе.

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

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

Рекрутер компании Auriga

Должен ли программист быть многозадачным

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

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

Рекрутер компании Auriga

«Для новичка важно брать разные задачи, но не одновременно. Нужно давать себе время, хорошенько разбираться в каждом кейсе. Так сказать, заливать хороший фундамент, на котором потом построится дом из разных комнат — новых задач».

«Цифроидеи»

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

Елена Колесова
Руководитель отдела персонала MANGO OFFICE

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

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

Иван Мараховка
Основатель российского стартапа WEEEK

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

Феликс Хачатрян
Основатель и владелец компании по IT-разработке информационных систем, сервисов и мобильных приложений «Неотех»

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

Дмитрий Юдаев
Отвечает за создание и развитие продуктов компании «Инносети», создатель крупнейшей транзакционной сети на блокчейне в России

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

Учитесь на Python- или Java-разработчика в онлайн-университете Skypro. Освоите все необходимые навыки меньше чем за год, научитесь читать и писать код, решать типовые задачи. Не просто обучаем с нуля, а помогаем собрать полноценное портфолио. А еще устраиваем на работу: гарантия трудоустройства прописана в договоре.

Краткие итоги: какие качества нужны программисту

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

    Оставляя заявку, вы принимаете условия соглашения

    Учёба ради учёбы — это не прикольно. На наших курсах вы ставите конкретные цели и достигаете их в заданные сроки. Начинайте карьеру с первых достижений!

    Добавить комментарий

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить