Обучение
- AI. Работа с нейросетями
- Подготовительные курсы
-
Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Fullstack
- Наука о данных
- Тестирование ПО
- Центр профессионального развития
- IT Bootcamp
- Гуманитарные и экономические дисциплины в IT
- Управление проектами и продуктами
- Бизнес- и системный анализ
- Веб-дизайн и компьютерная графика
- Системное и сетевое администрирование
- Информационная безопасность
- Маркетинг и продажи
- Английский язык для IT
Обучение
- AI. Работа с нейросетями
- Нейросети: практическое применение
- Искусственный интеллект в управлении командами и процессами
- Программирование
- Промышленная разработка программного обеспечения на Java
- Промышленная разработка ПО на ASP.NET
- Разработка игр на Unity
- Курсы создания сайтов и Front-end разработки
- Разработка мобильных приложений под iOS
- Разработка мобильных приложений на Android
- Разработка веб-приложений на PHP
- Разработка веб-приложений на Python
- Разработка на C++
- Разработка игр на С++
- Разработка на Node.js
- Программирование на Go (Golang)
- Реляционные базы данных и SQL
- Веб-разработка на Ruby on Rails
- 1С программирование
- Тестирование ПО
- Ручное тестирование ПО
- Мобильное тестирование приложений
- Автоматизированное тестирование на Python
- Автоматизированное тестирование на Java
- Автоматизированное тестирование на JavaScript
- Автоматизированное тестирование на C#
- Тестирование безопасности
- Гуманитарные и экономические дисциплины в IT
- Technical writing
- IT HR
- PR в IT
- Управление финансами в IT
- Управление проектами и продуктами
- Project management
- Product management: Основы управления IT-продуктом
«Работы для ПХПешников по-прежнему больше, чем опытных специалистов на рынке...»
Жаркие споры вокруг PHP не прекращаются уже несколько лет. С одной стороны утверждают, что эра доминирования данного языка программирования давно прошла. С другой парируют: если говорить про web-разработку, то именно PHP – один из лучших вариантов для старта. К тому же большинство известных сайтов – Facebook, Yahoo, WordPress, BlaBlaCar, Wikipedia и другие – написаны с помощью этого языка. Стоит ли тратить время на PHP? Так ли он хорош для новичков в IT? Какие языки программирования будет легче изучить, имея за плечами опыт работы с PHP? На эти и другие вопросы ответил опытный разработчик Андрей Нехайчик, который писал на PHP одиннадцать лет, а затем перешёл на Python и «погрузился» в игровую индустрию.
– Андрей, согласны ли вы с тем, что дни PHP давно сочтены и не стоит тратить время на его изучение?
– Не согласен. На рынке много хороших PHP-решений, PHP-специалистов, а также тематического справочного материала, форумов, книг, полезных советов. В аутсорсинговые конторы по-прежнему приходит много заказов на решения на базе PHP. В конце концов, многим заказчикам просто нужен сайт – простой или сложный. И PHP для этого – одно из лучших решений. Если под востребованностью понимать наличие большого количества высокооплачиваемой работы, то PHP даст прикурить многим другим языкам.
Другой момент: массовая истерия по поводу желания создать новый супер-пупер сайт в интернете и заработать на этом много денег прошла. И с ней рынок PHP-заказчиков сузился, но работы всё равно пока больше, чем специалистов на местах. Ведь помимо революционных стартапов потребность в решении вполне прикладных задач остаётся: социальные сети, системы менеджмента грузов, кадров и так далее, муниципальные системы, энциклопедии, представительства организаций, магазины, онлайн-курсы.
– Какие основные преимущества есть у языка программирования PHP?
– PHP идеально сбалансирован для сайтостроения. Он в меру сложный и на нём не принято «переусложнять» код, как это делается в современном JS, благодаря чему чужой код легко поддерживается и расширяется. Он быстрый, опять-таки из-за отказа от «переусложнения» примитивных типов, скорость у PHP выше, чем у Python и Ruby. Сейчас единственный конкурент по скорости выполнения в сегменте сайтостроения – JavaScript.
В современном PHP 7 ликвидировали многие недостатки, за которые его ругали. Появился пакетный менеджер, опциональная строгая типизация и почти все языковые фишки, характерные для любого современного языка. Хочешь писать более строго и надёжно? Теперь для этого есть хороший инструментарий и практики. И, конечно, не стоит забывать про лёгкий порог входа в веб. Сегодня, может, это не так важно, но в начале 2000-х, когда я начинал, возможность и «ходить» в интернет, и, тем более, писать для него просто сносила крышу.
– Из-за низкого порога вхождения PHP называют одним из лучших языков для начинающих специалистов. Как может развиваться карьера PHP-разработчика? Не возникает ли сложностей с поиском работы?
– Только я бы уточнил, что для начинающих специалистов в рамках веб. Речь именно про сайты различной сложности, в пределе facebook. Игры на PHP не делают, мобильные и десктопные приложения тоже.
Карьера развивается точно также, как при использовании других языков. Есть компании, которые нанимают начинающих разработчиков на низкооплачиваемую работу низкой квалификации. Если человек не дурак и показывает свою заинтересованность и ответственность, то со временем ему начнут давать более сложную работу и прибавки к заработной плате. Накопив определённый опыт в годах, его будут приглашать на собеседования в другие компании и предлагать новые интересные условия. Так, год за годом, растёт квалификация и зарплата. Вообще, сложностей с поиском работы нет, но надо хоть что-то показать полезное, иметь портфолио. В современном мире биржи фрилансеров могут с этим помочь.
Я лично тоже начинал с фриланса, делал сайты для друзей, каталоги модной одежды для бутиков, разработал свою CMS систему для этого. Потом устроился в игровую компанию и вел проект по рассылке логотипов, картинок и рингтонов на первые мобильники. Приходилось заниматься и программированием, и менеджментом проекта одновременно. А дальше ушёл в Oxagile, был на крупном и долгосрочном проекте по IPTV. Потом были другие IPTV проекты.
– Почему после одиннадцати лет работы с PHP вы перешли на Python? Сложно ли было сделать такой переход и даёт ли знание PHP какое-либо преимущество?
– PHP не был первым моим языком. Я уже знал С, что-то из С++, Паскаль, Ассемблер, JavaScript, бейсик. Умел в Visual Studio делать десктопные приложения. PHP и интернет просто покорили меня как мир новых возможностей. Но через одиннадцать лет я наигрался с сайтостроением и вспомнил, что им программирование не ограничивается. Есть более сложные области, не менее при этом интересные.
Сначала меня пригласили переучиться на Ruby, но в рамках испытательного срока стало понятно, что это немного не моё. Да и компания это почувствовала и мы разошлись. Потом решил попробовать Python и меня порекомендовали в Wargaming. Тогда в компании было время активного переучивания на Python программистов с других языков, поскольку питонщиков на рынке не хватало. Успешно сделал тестовое задание, с моим опытом веба после PHP без проблем прошёл интервью и стал заниматься игрой «Глобальная карта». Хотя это как бы формально сайт, но половина кода отвечает за игровую логику и работа совсем не похожа на сайтостроение.
Сегодня я в игровой компании и пишу на Python/Go/C++. У нас не так много людей знают, как правильно «готовить» высоконагруженный веб. Мой прошлый опыт позволяет решать подобные задачи, а также принимать архитектурные решения или давать архитектурные советы.
– Если изучить PHP первым, то какие языки программирования можно рассматривать в качестве следующих?
– Самый простой вариант – изучить Go и Python. Там и похожего много, и часто сегмент тот же – веб. После наработки определённого опыта с ООП в PHP, да и с другими концепциями языка, можно будет посмотреть в сторону Java/C#, кому интересно что-то посложнее. И относительно легко будет освоить С, но в реальном мире по этому пути пойдут единицы.