Если вы этого не умеете, то с чего вы взяли, что вы разработчик: 7 обязательных навыков программиста
На YouTube-канале Сергея Немчинского, основателя школы программирования FoxmindEd, появилось видео, где он рассказал, какие знания и умения обязательны для каждого разработчика.
Highload публикует этот перечень.
Базовые технические знания
Может, вы думали, что список начнется с чего-то другого? Но база есть база. Каждый разработчик должен обладать базовыми техническими знаниями не только по своей, но и по всем смежным профессиям. Если вы этим не обладаете, то с чего вы вообще взяли, что вы разработчик?
Быстро учиться
Без этого никуда в любой области, но именно в разработке все меняется особенно быстро. Даже в таких консервативных языках, как Java, много чего происходит. В результате, попадая на новый проект, вы всегда обнаруживаете что-то, чего не знаете. Так что доучивать — это часть профессии разработчика.
Отлаживать код
Фактически, вся зарплата программиста сводится к тому, чтобы он никогда не говорил: «я не знаю, как это решить», а работал и находил решение. В некоторых случаях заказчик может отказаться от этого решения, потому что оно займет слишком много времени, но это не ваша, как программиста, проблема. В большинстве случаев заказчику выгодно, чтобы вы исправили проблему в коде, даже если это займет год.
Поэтому умение упереться в одну точку рогом и пытаться исправить код — это необходимо. И, конечно, умение пользоваться инструментами, которые помогают это сделать.
Правильно строить work-life balance
Многие говорят: «надо быть готовым к переработкам». Но ирония в том, что к переработкам программисты, которые пришли в профессию из любви к ней, и так готовы. Их надо за уши оттаскивать от кода.
Но если у вас и работа — это разработка, и хобби — это разработка, вы очень скоро выгорите. Научитесь получать удовольствие от чего-то еще. В идеале это должно быть что-то, где не надо смотреть в монитор. Спорт — да. Компьютерные игры — нет.
Видеть общую картину
Когда вы что-то кодите, вы должны понимать, какую роль это исполняет в проекте. Потому что часто бывает так, что то, над чем заморачивается программист, для проекта вообще не важно. А важна, даже критична, какая-то примитивная вещь, которой никто не занимается.
Проблема еще и в том, что большинство менеджеров не имеют технического бэкграунда и не в состоянии оценить, нужно ли то, что вы делаете. А тимлид может за вами просто не уследить. А бывает, что и сам тимлид направляет разработчиков в сторону, которая им интересна, вместо того, чтобы делать то, что важно для проекта.
Взять максимум от минимума
Довольно часто в разработке встречается такая ситуация, когда вы долго работали, а в итоге поняли, что пошли не туда. Имейте храбрость, чтобы удалить весь результат работы нескольких дней и пойти другой дорогой. Это часто очень больно, но вложить еще тонну времени и тонну сил в явно неработающий вариант — гораздо хуже. И оставлять такой код в комментариях тоже не вариант — он будет захламлять проект.
Другая крайность — хвататься за другое решение при первой же ошибке. Но мы должны пройти по каждому пути, упереться, побиться об него головой и только тогда увидеть, что это не работает. Вот тогда уже лошадь сдохла и нужно слезть с нее.
Способность работать в команде
Прошло то время, когда можно было сидеть в гараже, быть гиперспециалистом и это было бы нужно всему миру. Даже если вы мобильный разработчик, у вас будет команда из дизайнера, тестировщика и, возможно, менеджера. И от вашего умения работать с этими людьми, доносить свои мысли и слушать чужие, зависит гораздо больше, чем от вашего умения декомпозировать задачу.
Прокачивайте свои софт-скиллы, это реально важно.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: