В #программировании огромное множество направлений:
#Веб-разработка (фронтенд/бэкенд/фуллстек),
#Embedded-разработка (разработка встроенного программного обеспечения)
Разработка мобильных приложений
#Gamedev (Разработка игр) и прочее и прочее.
Но специализация приходит по ходу обучения, с опытом и с пониманием того, что же вам ближе.
Вот примерный список необходимых #навыков для будущего специалиста:
• Необходимо активно работать с людьми(клиентами, коллегами, работодателями и т.д.) Иногда они сами не знают чего хотят или их тз звучит как описание товаров с алиэкспресс, поэтому вам придется вытягивать детали в ходе длительных обсуждений.
• Умение работать в команде - программист никогда не работает один.
• Из первых двух пунктов делаем вывод, что придется прятать своего внутреннего интроверта
• Важны сосредоточенность и терпение — нередко приходится писать большие фрагменты кода, глубоко погружаться в поиск решения задачи.
• Ответственность — #программист всегда отвечает за качество кода, который он создал, за работу программы, за её стабильность и быстродействие.
• Важно работать и совершенствоваться. Самое лучшее что можно развить в себе прежде всего — это быстро разбираться в новом материале. Если достигнете этого, то неизбежно, что не стало бы пользоваться спросом, вы всегда это сможете быстро в себе развить.
• Ежедневно практиковаться. Как вариант - практиковать парное программирование. У такого метода есть ряд преимуществ: это позволяет лучше понимать проблемы, обмениваться опытом и идеями, быстрее исправлять баги и т.д.
• Улучшать #навыки решения проблем. Разработка программного обеспечения — непростой труд. На протяжении своей карьеры программист сталкивается с самыми разнообразными проблемами и задачами. Чтобы научиться эффективно их решать, стоит развить особый склад мышления.
• Умение писать понятный #код. Опытный разработчик пишет простой код, который прочитает и он, и коллеги. Это навык, которым выделяются сильные разработчики.
Добавляйте свои пункты в комментарии :з
К слову, подойти к программированию можно с одной из двух сторон: стать отличным специалистом узкого профиля — по статистике, их заработные платы выше, но найти новую работу им чуть сложнее, — либо стать fullstack-разработчиком и выигрывать за счёт широты спектра. Какой путь вы бы посоветовали #начинающему специалисту?