Оборонка и ДепТранс: что в багаже у back-end-преподавателя

Чем на самом деле занимается программист и почему он вспоминает про охоту на тигра, рассказывает Игорь Полуянов.

Я познакомился с программированием еще в школе. На уроках информатики мы изучали QBasic, а дома я сидел над Паскалем. После школы пошел в Международный Университет природы, общества и человека. Основным языком стал С#. На нем я прошел два раза практику на местном оборонном предприятии и остался там работать. Мы создавали твердое топливо для баллистических ракет, для Тополей. Обеспечивали заказы военной промышленности. Всего я там проработал почти 10 лет вместе со стажировкой и удаленкой. Потом увлекся вебом и ушел в свободное плавание, потому что web и наш завод по оборонке не совместимы.

Самое интересное — в бэкенде

Web-разработку начал изучать с нуля сам. Освоил полный стек разработки: PHP, Javascript, SQL и пр. В какой-то момент возникла потребность систематизировать знания, поэтому дополнительно прошел курсы. Работаю full-stack разработчиком больше семи лет. Любой фулстэк-разработчик имеет большую склонность к одной из сторон: к фронту или бэку. Я тяготею больше к бэку, потому что там обычно происходит самое интересное. Возможно, кто-то со мной и не согласится. Но если бы все соглашались, у нас бы не было фронтенд-разработчиков.

В качестве серверного языка я выбрал PHP, потому что он самый популярный и прекрасно справляется с возложенными на него задачами. Нравится, что язык развивается и остается востребованным. Очень толковая 7 версия, на которой писать код еще удобнее. Считаю, что сделал правильный выбор. Убеждаюсь в этом каждый год.

Из минусов назову низкий порог вхождения. Из-за него в профессии очень много слабых специалистов. Прочитав, условно, пару брошюр на тему «PHP за три дня», ребята создают сайты, которые язык не повернется так назвать. И таких примеров очень много.

У меня всегда нестандартные проекты

Так получается, что меня всегда приглашают на нестандартные проекты. Высокая сложность разработки побуждает постоянно совершенствовать навыки, повышать профессионализм. Из последних проектов — Сердитый гражданин и Мосгорпасс.

Сердитый гражданин - онлайн-ресурс для жалоб. Каждый может оставить гневный отзыв о работодателе, коммунальщиках или врачах. Ресурс — общественный стартап и помогает людям решать проблемы.

Мосгорпасс, наоборот, госзаказ. Это мобильное приложение, которое курирует Департамент транспорта города Москвы. Оно создано для удобства пассажиров. Приложение похоже на Яндекс.Карты, но имеет много бонусов: маршруты, расписание, пополнение карты «Тройки» и даже общение с попутчиками. Приложение еще тестируется, но открыто для пользователей.

Yii2 Framework в помощь разработчику

Чтобы писать грамотный код, нужно постоянно учиться и много практиковаться. Я преподаю два курса по PHP и курс по Yii2 Framework. На каждом курсе делаем небольшой проект. На PHP1 — маленький магазинчик, на PHP2 — маленький фреймворк, на курсе Yii2 Framework — небольшой интернет-магазин. Тем, кто уже делал собственный фреймворк, намного проще разобраться на курсе по Yii2. Курс по фреймворку рассчитан на программистов, которые уже разбираются в основах PHP, могут сами строить архитектуру. Yii2 Framework — следующий шаг знакомства с языком. Это набор готовых решений, который избавляет от выполнения рутинных задач. Yii2 имеет большое количество расширений, разработчик может прокачать его под свои задачи.

При приеме на работу компании не ставят знание фреймворка обязательным требованием, но соискатели, работающие на них, сразу получают преимущество перед остальными кандидатами. Программисты пишут либо собственный фреймворк, либо используют готовый. Самые популярные: Lavarel, Yii2, Symphony и Zend. Мой выбор - Yii2, потому что у него высокая производительность и он не строгий в отличие от Symphony и Zend.

Как получить зарплату в 120 тысяч

В моих группах много студентов возрастной категории — 35-40 лет. Это зрелые люди, которые хотят поменять вектор своей деятельности. Учиться после 35 — не поздно, особенно, если мозг не «закостенел». В 35 разносторонний опыт, зрелость, умение концентрироваться на цели. Из начинающих программистов за 35 могут вырасти хорошие руководители проектов. У многих навыки командной и руководящей работы уже есть, а обучение в IT-сфере даст знания для руководства айтишниками.

Однако без опыта работы на начальных позициях думать о кресле руководителя преждевременно. Необходимо набраться практики, повариться в среде, поэтому начинать стоит с работы в web-студии или IT-компании. 

Традиционно самый часто задаваемый вопрос — сколько нужно учиться, чтобы получить работу с высокой зарплатой, например 120 тысяч и выше. Предполагаю, что мой ответ удивит. Если говорить об уровне компетенций, которые оценивают на 120к+, то учиться нужно долго. Я освоил PHP на высоком уровне примерно за полгода ежедневного изучения, при этом у меня было 10 лет стажа программирования на C# и других языках. И одного PHP будет недостаточно, нужно овладеть всем стеком технологий.

Но если говорить не о компетенциях, а о вознаграждении, то высокую зарплату можно получить и после курсов по профессии на GeekBrains. Обучение дает хорошую базу, которая в сочетании с постоянной практикой эффективно прокачивает навыки разработчика. На фоне других соискателей-самоучек выпускник GeekBrains выглядит достаточно привлекательно. Конечно, соревноваться с претендентом, у которого за плечами опыт в несколько лет в web-студии, будет тяжело. Но соискатели, которые учились по ютубу, точно не будут конкурентами.

Еще здесь важен элемент везения. Встречаются вакансии с высокой зарплатой, но низкими требованиями к специалисту. Иногда требования действительно невысоки, иногда вакансия не проработана должным образом. Тем не менее, устроиться по такой вакансии проще. Но это не значит, что потом будет легче. В реальной работе уже как повезет: или выплывешь, или нет.

Что на самом деле делает программист

Как и на каждом курсе, у меня тоже бывают 1-2 студента в группе, которые не понимают предмет. Сначала им кажется, что задания слишком сложные, потом — что времени дается мало. Но причина проблемы в другом - они не понимают сути работы программиста. На курсах мы учим синтаксису языка и вспомогательным инструментам. Но гуманитарии обычно ждут готовые решения. Но готовых решений нет. Основной навык программиста в том, чтобы находить рабочие решения. Студенты ждут ответов, а ответы они должны искать сами. И с помощью знаний выискивать оптимальные и идеальные способы решения задачи.

Советую перед прохождением курса по языку закончить курсы по основам программирования. Они бесплатные и требуют только времени. Вы узнаете, что такое переменные, типы данных, алгоритмы и логические операции. Дальше учиться языку будет легче. Особенно тем, кто владеет языком, но программу написать не может.

Про тигра и PHP

Со своей стороны, всегда помогаю студентам индивидуально. Для каждой группы создаю чат в Телеграм, где всегда можно задать вопрос и получить оперативный ответ. После окончания курса чаты не закрываются и работают в формате неотложной помощи, если студенты зашли в непроходимый тупик. Активность в чатах всегда разная. Бывают молчаливые группы. К концу курса уровень выполненных работ в такой группе обычно ниже, чем у активных групп. Атмосфера в чате, когда студенты обсуждают задания, общаются, спорят, положительно влияет на всех. В живом общении рождаются нетривиальные решения, а они просто необходимы, потому что я всегда даю задачи на «подумать».

Студентам требуется разное время для освоения новых знаний. Кто-то схватывает на лету, кто-то начинает разбираться уже после окончания курса. Периодически встречаю жалобы «нет времени», «не успеваем» или «слишком трудно». Когда такое слышу, всегда вспоминаю мудрую китайскую пословицу «Выходя на охоту на тигра, будь готов его встретить».  Так и в учебе: начиная путь в программировании, будьте готовы мало спать, много учить и непрерывно практиковаться.

Новые комментарии