Народ, всем привет. Если вы хотите стать программистом, но не знаете, с чего начать, то вот главный совет – определиться со своими целями. На самом деле с ростом обучающих курсов, всяких школ и прочего, уже все уши прожужжали с этими программистами и IT-шниками, что у них там зарплаты высокие, удаленная работа и все такое прочее. На деле же сразу скажу, что ЗП высокие только у профессионалов (сеньоров), удаленную работу надо еще поискать, да и в принципе устроиться на работу начинающему программисту, особенно после курсов, очень (дважды подчеркнуть) сложно. Отсюда и ЗП маленькие, работать вы будете там, где скажут.
Но все-таки это некая темная сторона профессии, о которой мы сегодня говорить не будем. Если же вы поставили себе цель стать IT-шником, или вам просто нравится это делать, то достичь всего можно, нет ничего невозможного. Другой вопрос, что у научающих и непосвященных людей есть определённые стереотипы:
- во-первых, IT-шник это не все подряд, и не обязательно уметь паять микросхемы, чтобы стать программистом.
- аналогично, как и не обязательно знать высшую математику на отлично. Простыми словами, найти себя можно и не разбираясь в точных науках или со всей нелюбовью к инженерным наукам.
- и IT это не только отдельная профессия или целый мир, но и дополнение к своей работе. Ведь сей факт вам даст 100 очков форы вперед практически в любом деле, если вы умеете автоматизировать, что-то писать сами и можете усовершенствовать свою работу (даже макросы в екселе уметь писать- это уже огромный плюс).
И если подытожить все вышесказанное, главное понимать свою цель и выбрать то направление в IT, которое вам подходит. И если ты какой-нибудь менеджер или бухгалтер, но тебе нравится программирование, то можно учить VB, или С+ и писать программы для своей работы и профессии. Если ты не любишь электронику как класс и ничего в ней не понимаешь, то тебе не нужно писать программы для промышленных машин, можно писать сайты. А если ты большой поклонник игр, то может тебе пойти в гейм-девы? В общем, путей есть много, главное выбрать то, что тебе нравится.
А куда бы пойти?
В принципе, если отбросить всякое инженерное программирование и написание макросов, и остановится на чем-то среднем, неком таком большом пласте современной разработки, то можно выделить, наверно, 4 направления:
1. Разработка мобильных приложений, в том числе игр и простых программ. С ростом гаджетов в виде смартфонов, часов, планшетов и прочего, рост приложений только растет. При этом в данной отрасли отдельно выделяют IOS-разработку и Android-разработку, ну просто потому, что, грубо говоря, языки программирования у них будут разные (ios это больше swift, objective-c, а у android это kotlin или все тот же старичок java). Из плюсов можно выделить довольно большие зарплаты и интерес разработки, из минусов – найти хорошую компания бывает сложно, и много стартапов, скажем так, однодневок.
2. Второе по популярности наверно, то web-разработка. Причем это даже уже далеко не просто сайты, а настоящие web-приложения, как для десктопов, так и для мобильных гаджетов. Но и кончено это простые лэндинги и интернет-магазины. Работать можно как фрилансером, так и в крупных компаниях, поддерживать один крупный сайт, или же также писать на заказ. Тут обычно выделяют два направления:
- frontend: программирование видимой части сайта — меню, анимации, кнопки, формы и другой интерактив на сайтах
- backend: программирование внутренней части сайта — взаимодействие с базами данных, обработка информации и вычисления
Проще говоря, вы заходите на сайт и видите описание, картинку и красивую кнопочку, на которую можно нажать – этим занимается фронтенд. А после нажатия на кнопочку, не знаю, вам на телефон приходит сообщение с пожеланиями хорошего дня или в магазин приходит заявка с информацией о вашем заказе – вот этим занимается бэкнед.
Кстати, есть еще fullstack – разработчики, которые занимаются и видимой частью и бэекндом. Кстати, аналогично можно сказать и про мобильную разработку, люди, которые умеют написать программы на любой платформе. Но тут как обычно – чем больше ты распыляешь свои знания, тем хуже ты профессионал в каждой их них. При этом на практике в любом случае вы должны понимать работу как фронта, так и бэка, хотя бы на базовом уровне.
Кстати, Вам может быть это интересно:
3. Разработка игр, ее можно выделить в отдельную часть. Это написание кода для игр на ПК или консолях, чтобы всё, созданное сценаристами, геймдизайнерами и дизайнерами соединилось в целостный продукт. Наверно, мечта любого подростка тинейджера. Но на практике это довольно сложная история, в принципе, я бы сказал, со средними зарплатами, постоянной текучкой и дедлайнами.
Чаще всего тут идет история про работу мечты и идеологию. Правда, скажу сразу, что на практике это больше рутина, и вы все равно будете заниматься какой-то небольшой частью игры, которая на игру то похожа не будет. Ну, грубо говоря, есть игра про пиратов, пушки, абордаж, поиск сокровищ, где вы в течении года будут заниматься только физикой волн на море. Всем остальным будут заниматься другие люди, точно также по кусочкам. Я утрирую, но все же.
4. Системное программирование. Сюда можно отнести более узкие профессии в настоящее время, исследование новых архитектур и структур данных, а также QA-тестирование — проверка работоспособности написанного ПО вручную и с помощью специальных программ. Обычно зарплаты небольшие, хотя все зависит от специальности. Обычно это сбор и структурирование каких-то аналитических данных, по сути, те же макросы, только в более масштабных проектах. А также тестировщики, которых так активно сейчас ищут для обучения различные школы. Вход обычно более легкий, более узкая специальность, и подойдёт в основном тем, кто хочет себя найти в IT быстро и максимально просто. Хотя, с этим и можно поспорить.