Какими качествами должен обладать хороший программист?
В IT сферу входят не только программисты. На рынке IT много профессий, никак не связанных с кодом. В этой статье мы будем говорить только о программистах.
Абстрактное мышление
Обучение программированию - это вырабатывание навыка абстрактного мышления. Программист компилирует что-то из реального мира в код, из языка людей в язык компьютера. Мозг разработчика со временем начинает мыслить абстракциями и постоянно думать над тем как реализовать ту или иную задачу в коде. Если вы переживаете по этому поводу, то не стоит. Это наоборот хорошо и говорит о том, что вы научились мыслить как программист.
Усидчивость
Без этого навыка вы никогда на станете успешным разработчиком. Процесс обучения включает в себя бесконечное множество ошибок и их исправление. Большинство ошибок требует многочасового поиска в гугле (читайте по теме: гайд по поиску информации для программистов). Даже опытные разработчики сталкиваются с этим и вынуждены искать решение проблемы на форумах и в книгах. Многочасовой поиск информации - неотъемлемая часть работы программиста. Будьте готовы сидеть несколько часов на одном месте и искать решение одной проблемы.
Обучение на протяжении всей карьеры
Программирование - не та профессия, где можно 1 раз пройти курс и всю жизнь зарабатывать на полученных навыках. Технологии устаревают, появляются новые и этот процесс бесконечный. Чтобы быть востребованным нужно успевать за развитием IT сферы. Для этого нужно посвящать обучению часть своего времени. Вам придется изучать новые технологии даже после основной работы, чтобы быть в тренде.
Умение работать в команде
Стереотипы о том, что программисты - задроты, которые сидят за компом, никуда не ходят и ни с кем не общаются не относятся к большей части разработчиков. Над разработкой крупных продуктов трудятся десятки программистов, которые работают в команде. Даже если вы на удаленке, то в вашей работе постоянно присутствуют онлайн-встречи с коллегами. К тому-же, лучший способ чему-нибудь научиться - учиться у более умных людей. Здесь без коммуникации точно не получится. Важно понимать, что придется подстраиваться под команду и идти на компромиссы, чтобы вы и команда сохраняли максимальную эффективность.
Итак, хороший программист мыслит абстракциями, готов к постоянному самообразованию, усидчив и находится на одной волне с коллегами. Всем новичкам нужно стремиться к этому идеалу. Какие качества мы упустили? Делитесь в комментариях.