В текущих реалиях профессия программист заиграла новыми красками. Если лет так 10-15 назад программист ассоциировался, как
то сейчас эта одна из топ профессий.
Многие задаются вопросом, а как войти в данный мир? И если вы не студент, а уже сформировавшийся профессионал, но в другой отрасли. Что нужно поменять и не поздно ли?
Нет, менять и учиться чему-то новому никогда не поздно. Осталось определиться в направлении: программист, аналитик, безопасник, дизайнер, админ или тестировщик.
Все указанные точки входа имеют свои особенности, выбор за вами.
Существует мнение, что тестировщик - это самый легкий путь, осталось пройти курсы и готово. Не буду оспаривать или подтверждать данный тезис.
Перед тем, как давать советы, расскажу немного о себе. Закончил бакалавриат + магистратуру по направлению: информационные системы и вычислительная техника. Закончил аспирантуру по направлению: автоматизация технологических процессов. Будучи еще студентом выполнял коммерческие разработки для предприятий, входящих в холдинг «Росатом». Соответственно, в группе разработчиков продолжил данную деятельность и в аспирантуре. В мои обязанности входило:
- разработка модулей информационной системы на С++
- проектирование БД, написание функций и процедур в СУБД MS SQL Server
- создание макросов на VBA
- написание статей, тезисов, документации
- участие в конференциях
Спустя ~5 лет решил сменить вектор и ушел программистом в ретейлинг.
На удивление обширный стек там вышел:
- язык Х++ в Axapta, ШТА?) сам впервые тогда узнал о его существовании. В итоге это голландская система, которую в дальнейшем перекупил Майкрософт, чем-то напоминает нашу 1С, но гораздо вариативнее. Синтаксис после С++ кажется очень дружелюбным и читаемым сходу, есть нюансы, к которым надо привыкнуть. Самое сложное это предметная область и понимание бизнес процессов.
- SQL куда без него, однако дополнил список навыков это знание ни только СУБД от Майкрософта, но и postgreSQL, плюс приятным бонусом было научиться работать с SSIS. Простым языком это создание SQL заданий, которые могут выполнятся в фоне по расписанию
- Параллельно выполнял разработки на C# различных win services или DLL, необходимых для интеграции с сторонними системами. Конечно шарп после плюсов кажется чем-то давно знакомым и родным
- спустя какое-то время поступила задача, где нужны были навыки web разработчиков. Я таковыми не обладал, справедливости ради хочу отметить, что был полным новичком. В итоге в срочном порядке нужно было освоить html+css+js, иначе говоря стать front разработчиком.
- Быстренько прошел какие-то первопопавшие курсы в интернете. Цель была: получить основное представление, термины. Если знаешь термины, то гуглить намного проще. Ведь работа программиста - это помимо создание алгоритмов, постоянный серчинг (поиск) информации в интернете. Освоение js не потребовало много времени, неделю - две. Использовал фреймворк vuejs. Мое мнение о языке? Вычурный, порой не читаемый, нелогичный. Основная боль - это то что, он не типизирован, иногда это удобно, но порой вылавливать почему целое стало строкой и алгоритм не работает, в общем не прикольно.
- в какой-то момент пришлось освоить и python + Django, так как мой коллега был перегружен другими задачами. Хочу напомнить, что все выше перечисленные задачи лежали и на мне и за день порой приходилось переключаться сразу между х++, с#, sql, js, python. Мозг к концу дня говорил до свидания. В целом про python ничего плохого сказать не могу, привыкнуть к табуляции и все. Синтаксис понятен сходу. Сейчас данный язык сильно форсят различные компании и блогеры. Да, действительно, для быстрого старта язык хорош.
- Java. Доработка приложения на android для тсд (терминала сбора данных). Здесь я только начал, честно сказать, но проблем в синтаксисе не вижу, все понятно. Единственный минус, структура приложения, ее надо понять.
Резюмируя, суммарный опыт программиста около 8 лет. За это время я открыл для себя большинство топ языков, вот рейтинг языков по PYPL
Могу с уверенностью сказать, если вы думаете с чего начать:
- начните с языка запросов SQL, он пригодится везде и на каждой работе знание его будет бонусом. Плюс изучается крайне легко
- если вы собираетесь работать в России и у вас нет опыта в языках программирования, да и с английским вы не в ладах, то обратите ваше внимание на 1С. Всегда тролил данных программистов, но рынок труда по крайней мере в моем регионе говорит, что профессия востребована и оплачивается
- если вы решили устроить быстрый старт, то python действительно хороший выбор. Но есть один нюанс, был лет так 5 назад популярен php, а сейчас данный язык сдулся, требуются программисты для него, только потому что большинство сайтов было сделано на нем. Вот представим лет через 5 python заглохнет, не уверен что данный разработчик сможет быстро пересесть на другой язык. П.С. Это мое мнение, не кидайте камнями
- а вот если вы решили серьезное подойти к вопросу, то советую взять один из непобоюсь этого слова основных языков программирования: Java или C/C++. Они очень тернисты и сложны для новичка, но освоив их вы сможете освоить любой другой язык менее, чем через месяц, проверено на себе.
спасибо за внимание, если вы дочитали до сюда, то я искренне удивлен и рад:)