Сегодня программист считается модной и престижной профессией. Работа в сфере IT окружена ореолом романтики, опутана легендами об успешных стартапах и больших деньгах. А многочисленные онлайн-курсы предлагают получить знания и начать зарабатывать буквально через 2-3 месяца. Все это привлекает в профессию множество случайных людей. Как итог – разочарование, психологическое выгорание и огромное количество невостребованных кадров низкой квалификации. А все потому, что вся эта романтическая «шелуха» — не более, чем красивая обертка.
Программирование – это кропотливый труд, постоянное самообразование, полное погружение в рабочий процесс и огромное количество скучной сопутствующей работы.
При этом нужно понимать, что красивые истории о гениальных стартапах, которые за ночь делают разработчика миллионером, давно уже отошли в сферу сказок и легенд. Время талантливых одиночек давно прошло. Сейчас любой программный продукт, за исключением разве что простеньких сайтов на CMS, является плодом командной работы. И высокие зарплаты в этой команде будут у ведущих разработчиков. Остальные зарабатывают на уровне «офисного планктона» и, по сути, мало чем от него отличаются.
Миф первый: научиться можно быстро
Первое, что нужно понимать, программированию невозможно научиться за пару месяцев. За это время можно выучить основы какого-то языка и базовые понятия. Любые курсы и вебинары с подобными обещаниями нужно обходить десятой дорогой.
В реальности есть два пути:
- Самообразование. В том числе с использованием различных тематических курсов. Обучение обычно занимает около 2-3 лет. При этом максимум внимания нужно уделять практике. Создавайте программы, сайты, различные «приблуды» для себя и друзей. Практикуйтесь – только при наличии портфолио с интересными проектами вы сможете претендовать хотя бы на уровень джуниора.
- Обучение в ВУЗе. Диплом – дело хорошее. Но и здесь придется дополнительно учиться самому. В процессе учебы вы получите глубокие знания в области математики, алгоритмизации и т.д. В вопросах языков программирования и программных систем даже лучшие ВУЗы безнадежно отстают от жизни.
А дальше нужно морально готовиться к постоянному повышению квалификации. Сфера IT развивается стремительно. Появляются новые языки программирования и модернизируются существующие, постоянно выходят новые версии программных инструментов.
Будьте готовы регулярно тратить время на изучение новых систем, которые будут устаревать раньше, чем вы сумеете в них всерьез разобраться.
Миф второй: программировать может каждый
Конечно, основам алгоритмизации и навыкам составления простых прикладных программ научиться совсем не сложно. Эти премудрости не освоит разве что законченный гуманитарий. Кстати, если вы в результате уйдете работать в другую сферу, навыки программирования могут очень даже пригодиться. Намного проще самому написать макрос и упростить себе работу, чем выполнять кучу рутины вручную или искать кого-то, кто сумеет помочь. Но все это – не о профессиональном программировании.
Настоящий программист должен совмещать в себе:
- Творческую натуру. Что бы там ни говорили, программирование – это творчество. Вам ставят задачу с точки зрения пользователя, т.е. описывают желаемый результат. А как это реализовать максимально эффективно, с использованием минимума ресурсов, еще и совместить все это с существующими системами и «хотелками» заказчика – решать вам. Порой приходится совмещать несовместимое. И здесь нужен творческий подход.
- Аналитический склад ума. Программа – это всегда логика. От программиста потребуется умение структурировать информацию, создавать сложные алгоритмы, прорабатывать кластеризацию и многое другое. Тут важны четкая последовательность, внимательность к мелочам, возможно, даже некоторое занудство. Любая небрежность в коде может привести к критическим ошибкам в будущем.
- Стрессоустойчивость и умение работать в команде. Время одиночек-интровертов в программировании ушло. Сейчас важно находить общий язык с заказчиками, руководителем проекта, коллегами. И хорошо, если ваш проект-менеджер – специалист в сфере IT, вы хотя бы будете говорить на одном языке. А если он из числа управленцев, то придется по многу раз пояснять очевидные для вас вещи из серии «почему это невозможно» или «почему тут только так, а не иначе».
При этом не забывайте, что помимо решения поставленной задачи, т.е. непосредственно программирования, вам придется также составлять техническую документацию и руководства пользователя, разрабатывать тесты и, порой, месяцами вылавливать ошибки в коде. А еще нужно уметь читать чужой код, что часто становится настоящим кошмаром. И не забывать проставлять в своем коде комментарии для коллег, которые будут когда-то заниматься доработками системы.
Очень частая ситуация: в процессе обучения все давалось легко, у человека явно обнаружились способности. После нескольких месяцев реальной работы программист теряет интерес к работе. Чаще всего причиной становится рутина, которая не соответствует складу характера.
Профессиональное выгорание – распространенная беда у программистов джуниоров. Одни из усердия слишком погружаются в процесс и забывают об отдыхе. В результате – выдыхаются. В этом случае поможет отдых и грамотное планирование времени.
Другие в силу особенностей характера разочаровываются в работе. Им не хватает движения и перемен. Они уже решили задачу «в принципе», а дальше становится скучно. В этом случае лучше уйти из профессии как можно быстрее. Нет смысла оставаться еще одним «плохим программистом» без каких-либо перспектив. А лучше хорошо подумать заранее о том, готовы ли вы ко всем особенностям работы, в том числе, к монотонному «вылавливанию блох» (мелких ошибок), написанию документации и раздражающим противоречивым требованиям руководства.
Миф три: элитарность профессии
Особое, иногда даже восторженное отношение к айтишнкам – удел обывателей, начитавшихся тех самых «историй успеха». Возможно, вами будет очень гордиться мама. Будут смотреть «снизу вверх» менее успешные друзья. Очень может быть, что вы начнете намного быстрее ровесников, занятых в других сферах, получать приличный доход. А когда вы достигнете уровня senior, вам будут завидовать коллеги в профессиональных сообществах. На этом, собственно, вся «элитарность» заканчивается.
Разговоры о «новой нации» или «особой касте избранных», столь любимые на тусовках программистов, в реальности – не более, чем самолюбование.
Работодатели будут относиться к вам как к обычным техническим специалистам, ничем не лучше или хуже, чем автослесарь или инженер на производстве. По сути, вы и правда от них мало отличаетесь, разве что зарплаты у ведущих специалистов в IT сфере несколько выше. Но до этого нужно еще дорасти.
В наше время единицам удается принять участие в разработке чего-то действительно нового и важного. В большинстве случаев, это талантливые программисты с высшим образованием, сумевшие освоить также смежные отрасли.
Например, в космическую программу никогда не возьмут «просто программиста». Здесь нужны знания в ракетостроении. Аналогично в любой другой инновационной сфере. Если ваши амбиции простираются в таком направлении, получайте образование, изучайте дополнительные дисциплины, становитесь не просто программистом, но программистом-химиком или программистом-физиком и т.д. Иначе вы будете всю жизнь заниматься реализацией программных решений в коммерческой сфере, ковыряться в чужом коде и писать километры форм.
Вас привлекает такая перспектива? Вы готовы тратить месяцы и годы на реализацию очередной ERP или CRM системы просто потому, что сам процесс доставляет удовольствие? Что ж. Вы – действительно настоящий программист. А это, как говорят, больше диагноз, чем профессия.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]
На самом деле IT сфера https://www.emolument.com/career_advice/most_boring_jobs замыкает 10-ку скучнейших профессий:) 56% vs 44% Видимо я вхожу в эти 44 процента.
То как здесь описали проблемы и трудности, можно вполне отнести и ко всем остальным профессиям. Имею в виду, базовые моменты. В каждой профессии необходимо постоянно учиться, развиваться, чтобы добиться каких-то более чем средних показателей в работе. Точно также, все лавры и большие зарплаты будут доставаться руководителям и начальникам. Так что все сказанное в статье, весьма притянуто за уши. Нет ни одной должности, профессии, где бы не становилось временами скучно, где не нужно было бы вкладываться, где сразу после окончания обучения тебе бы платили большие деньги, за просто так. Поэтому основной подход он такой, работа все же, в идеале, должна приносить тебе удовольствие, а ещё лучше и быть твоим хобби. И тут уже каждому свое, в том числе и программирование, не редко является для человека таким занятием.
Обсалютно верно!
Здесь чел тоже, как раз, рассказывает о выгорании как специалистов, тех программистов, кто неосознанно выбрали программирование: https://youtu.be/ASob_gotrG8
Программистом стоит стать для того, чтобы лучше жить. Для меня это означает заниматься любимым делом, реализовать творческий потенциал ну и конечно деньги.
Подробнее [ред.]