На YouTube-канале Сергея Немчинского, основателя школы программирования FoxmindEd, появилось видео, где он рассказал, какие знания и умения обязательны для каждого разработчика.
Highload публикует этот перечень.
Может, вы думали, что список начнется с чего-то другого? Но база есть база. Каждый разработчик должен обладать базовыми техническими знаниями не только по своей, но и по всем смежным профессиям. Если вы этим не обладаете, то с чего вы вообще взяли, что вы разработчик?
Без этого никуда в любой области, но именно в разработке все меняется особенно быстро. Даже в таких консервативных языках, как Java, много чего происходит. В результате, попадая на новый проект, вы всегда обнаруживаете что-то, чего не знаете. Так что доучивать — это часть профессии разработчика.
Фактически, вся зарплата программиста сводится к тому, чтобы он никогда не говорил: «я не знаю, как это решить», а работал и находил решение. В некоторых случаях заказчик может отказаться от этого решения, потому что оно займет слишком много времени, но это не ваша, как программиста, проблема. В большинстве случаев заказчику выгодно, чтобы вы исправили проблему в коде, даже если это займет год.
Поэтому умение упереться в одну точку рогом и пытаться исправить код — это необходимо. И, конечно, умение пользоваться инструментами, которые помогают это сделать.
Многие говорят: «надо быть готовым к переработкам». Но ирония в том, что к переработкам программисты, которые пришли в профессию из любви к ней, и так готовы. Их надо за уши оттаскивать от кода.
Но если у вас и работа — это разработка, и хобби — это разработка, вы очень скоро выгорите. Научитесь получать удовольствие от чего-то еще. В идеале это должно быть что-то, где не надо смотреть в монитор. Спорт — да. Компьютерные игры — нет.
Когда вы что-то кодите, вы должны понимать, какую роль это исполняет в проекте. Потому что часто бывает так, что то, над чем заморачивается программист, для проекта вообще не важно. А важна, даже критична, какая-то примитивная вещь, которой никто не занимается.
Проблема еще и в том, что большинство менеджеров не имеют технического бэкграунда и не в состоянии оценить, нужно ли то, что вы делаете. А тимлид может за вами просто не уследить. А бывает, что и сам тимлид направляет разработчиков в сторону, которая им интересна, вместо того, чтобы делать то, что важно для проекта.
Довольно часто в разработке встречается такая ситуация, когда вы долго работали, а в итоге поняли, что пошли не туда. Имейте храбрость, чтобы удалить весь результат работы нескольких дней и пойти другой дорогой. Это часто очень больно, но вложить еще тонну времени и тонну сил в явно неработающий вариант — гораздо хуже. И оставлять такой код в комментариях тоже не вариант — он будет захламлять проект.
Другая крайность — хвататься за другое решение при первой же ошибке. Но мы должны пройти по каждому пути, упереться, побиться об него головой и только тогда увидеть, что это не работает. Вот тогда уже лошадь сдохла и нужно слезть с нее.
Прошло то время, когда можно было сидеть в гараже, быть гиперспециалистом и это было бы нужно всему миру. Даже если вы мобильный разработчик, у вас будет команда из дизайнера, тестировщика и, возможно, менеджера. И от вашего умения работать с этими людьми, доносить свои мысли и слушать чужие, зависит гораздо больше, чем от вашего умения декомпозировать задачу.
Прокачивайте свои софт-скиллы, это реально важно.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…