Раз уж решил написать свой первый код — настройся на работу. Не стоит относиться к этому как к хобби, придется трудиться не слабее, чем парням на стройке. Только интеллектуально. На один энтузиазм позволь надеяться лишь романтикам.
В целом разработчиков можно разделить на следующие категории:
Front-end разработчик. Его работа — создание интерфейсов на сайте или в приложении. Для этой специализации необходимо овладеть HTML и CSS, знать различные фреймворки, препроцессоры (SASS/LESS), JavaScript вместе с библиотеками, а также разбираться в серверных технологиях и принципах бэкэнда.
Бывает, что фронтенд девелопер выполняет и функцию верстальщика, поэтому нужно изучить, что такое адаптивная и мобильная верстка, работу со шрифтами, графическими иллюстраторами и SEO-оптимизацию.
Специалисты этой области требуются везде, где нужно создавать интерфейсы.
Back-end разработчик. Он создает архитектуру, пишет код и может пользоваться самыми разными языками программирования, фреймворками и библиотеками. Самые популярные языки: PHP, Python, Java, Go, Kotlin, Ruby. Также обязательно нужно изучить JavaScript, MySQl, PostgreSQL и NoSQL. Это все отдельные специализации. Лучше изучить подробно специфику каждого языка, чтобы понять, в каком направлении развиваться.
Fullstack разработчик. Объединяет в себе функции фронтенд и бэкенд девелоперов и обычно работает над веб-проектами, т.е. может создать полноценный сайт «под ключ» самостоятельно.
Game Developer. Обычно Game-разработчики делятся на специализации: разработка десктопных, мобильных игр и MMORPG. Они занимаются разработкой игр с нуля, а также поддержкой, исправлением багов и другими обновлениями.
Разработчику игр нужно освоить
C/С++,
С# или другой язык программирования того же класса, игровые движки. Специалисты этого направления востребованы в игровых студиях и стартапах.
Android разработчик. Занимается приложениями для мобильных устройств под управлением ОС Android. В крупных компаниях разработка делится на Backend и Frontend. Но в большинстве случаев Android-программисты изучают полный цикл создания приложения, после чего могут работать с любой частью проекта.
Специальность очень котируется в игровых студиях, стартапах, компаниях, которые разрабатывают мобильные приложения, учитывая, что устройства на Android — самые распространенные на планете Земля.
iOS разработчик. Создает различные мобильные приложения под iOS. Выполняет функции, аналогичные описанию Android-программиста.
1C программист. Занимается доработкой программных решений 1С под конкретный бизнес и написанием отчетов. Программиста 1С нанимают в штат средние и крупные предприятия, которые нуждаются в постоянном обслуживании.
Инженер-программист. Эта профессия, помимо изучения языков программирования, предполагает глубокие знания в области математики, физики и смежных дисциплин. Такие специалисты чаще всего заняты в сфере разработок программного обеспечения для автоматизации производства.
Специалист по кибербезопасности. О нем подробно в нашем материале
"Кто такой: киберследователь".
Инженер-программист должен не столько владеть C/C++, С#, сколько иметь значительный багаж технических знаний (в первую очередь, связанных с отраслью, в которой программист работает).