Конечно, да! В своей практике мне доводилось работать с людьми, которые имели медицинское, педагогическое и другие виды образования, но это совершенно не мешало им быть отличными кодерами. Смотрят ли работодатели на специальность в дипломе? В большинстве случаев нет, но наличие высшего образования, пусть и не специализированного, требуется.
Для начала определим, что такое специализированное образование для программиста. Обычно под этим понимают техническое. Строго говоря, не всякое техническое образование необходимо программисту. То есть специальности «машиностроение» или «металлургия» не подойдут, а вот прикладная информатика или информатика и вычислительная техника – самое то.
Что может дать специализированное образование помимо того, что там будет достаточно часов для практического программирования? Ответ: системный анализ и развитие системного мышления. Это, собственно, и есть самое главное. Имея такой багаж, действительно легче осваивать языки программирования и вникать в бизнес-задачи.
Со специализированным образованием разобрались. А что делать тем, кто изначально обучался на специальности, отличной от ИТ, и хочет стать разработчиком?
- Прежде всего необходимо понять свои истинные цели – каков ваш главный мотиватор? Деньги? Возможность творчества? Свободный график? Работа из любой точки мира? Это реальное желание кардинально сменить деятельность или просто хобби?
- Определиться с направлением: web-разработка или разработка мобильных приложений, разработка игр или же системное программирование (драйверы, операционные системы)?
- Учиться все равно придется: получить полноценное университетское образование, онлайн-образование либо полностью самостоятельно проходить курс.
С университетом понятно: если есть время и финансовые возможности, то подбираете специальность и вуз, проходите конкурс – и вперед.
Если же выбрали формат самостоятельного изучения, то следует определиться с программой, то есть ее надо составить самому. Для чего можно взять вузовскую программу и доработать под себя либо найти онлайн-программы и посмотреть, какие дисциплины в них включены. Программа должна включать в себя основы системного анализа, алгоритмы и алгоритмические языки и т. д., а также практические задания.
В случае онлайн-образования следует изучить предложенные варианты программ и оценить их с позиции цена/качество (вся информация есть в Интернете). На этом этапе желательно понимать, какой язык программирования вам хотелось бы изучить. Главное – понять принципы программирования на одном языке, тогда можно освоить и другие. Срок самостоятельного обучения – около двух лет. Не стоит верить обещаниям, что вас научат программировать за два месяца.
- Железная дисциплина, иначе есть риск растянуть самообразование на долгие годы.
- Найти себе наставника. Кто-то должен давать оценку вашей работе, а также подсказывать первое время, как лучше реализовать в программе заданные требования
В процессе обучения, не дожидаясь условного окончания, надо начинать искать проект, где полученный материал можно применить, а также расширить свою базу знаний. Это действительно сложный вопрос. Те, кто обучается в университете, имеют больше шансов решить его, так как очень часто при кафедрах есть лаборатории программирования, которые поддерживаются компаниями-интеграторами.
Варианты поиска первого проекта: специализированные форумы по программированию, сообщества в соцсетях, открытые стажерские позиции в компаниях-интеграторах, стартапы. Можно даже без оплаты поработать какое-то время. Ведь проект – это не только кодинг, это целая система со своим документооборотом и правилами.
Пример из практики, как еще можно влиться в команду разработчиков. На одном из проектов среди членов бизнес-команды был специалист с юридическим образованием (к слову, в компании он занимался совсем не юридическими вопросами, а закупочными). В ходе проекта он активно участвовал в тестировании разработок, тесно общался с программистами, в итоге в середине проекта перешел во внутреннюю команду клиента на позицию младшего программиста и успешно сейчас работает. Пока шел проект, он изучал основы программирования, а его наставником был один из гуру команды разработки.
- Хотя, наверное, этот пункт можно было бы поставить первым: посчитать, когда вы выйдете на тот ежемесячный доход, который у вас есть сейчас, если уйдете в ИТ. Причем включите сюда и затраты времени. Ведь если вы работаете после университета два-три года – это одно дело, но перспектива шагать до того же уровня еще пять-семь лет может вам не понравиться. Но если все-таки решитесь на перемены, надо быть готовым к тому, что первое время будет финансово тяжелее.
Порядок цифр в зарплате зависит от опыта, языка программирования, наличия сертификатов, бюджета проекта, уровня знания иностранного языка, коммуникационных навыков. Начинающий может зарабатывать до 50 000 рублей (актуально для столицы, в регионах цифра может быть иная). Многие считают, что программист может работать из любой точки мира как фрилансер. Да, это верно, но больше подходит для опытных. Лучший вариант для начинающих – устроиться в штат компании-интегратора и работать какое-то время в офисе.
- Развивать коммуникационные навыки и повышать уровень владения иностранным языком. По моему мнению, это must have – то и другое открывает большие перспективы: навыки общения помогут расположить к себе клиентов и коллег, а знание языка позволит охватить иностранный рынок труда.
- Никогда не переставать учиться. Индустрия ИТ очень динамична: то, что вчера было новым, сегодня вполне может устареть. Поэтому надо постоянно изучать технологии и стремиться применять на практике полученные знания.
В заключение еще раз повторю: программистом без специального образования стать вполне возможно. Это подтверждают многочисленные примеры на практике. Специализированное образование не гарантирует, что его носитель будет отличным кодером. К тому же оно, как правило, однобокое: например, низкоуровневое программирование (процессоры, микрочипы и т. д.). Следует отметить, что образовательные программы не всегда успевают за развитием технологий, поэтому только постоянное самосовершенствование и отслеживание трендов в ИТ-индустрии позволят сохранить свою востребованность на рынке труда.
Оригинал материала тут.