Опытные программисты PHP дают советы, которые помогут новичкам самостоятельно отточить мастерство и найти первую работу.

 

Нет серебряной пули, чтобы научиться хорошо программировать

Опытом делится Сергей, программист PHP из Ростова-на-Дону:

— Я учился в университете на программиста. Нас поступило 48 человек, а выпустилось 15. Эта работа не для всех. Далеко не для всех. Все, кого я встречал, занимаются программированием, потому что им нравится. Так что прежде чем осваивать профессию, нужно ответить себе на вопрос: «Мне действительно интересно?».

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

Тот, кто думает, что, посмотрев видео в интернете, всему научится, ошибается. Так не бывает. Нет серебряной пули, чтобы научиться хорошо программировать. Человек, который просто смотрит курсы, не поймет, когда можно писать «красивый и универсальный код», а когда нужно отталкиваться от задачи. Чтобы дорасти хотя бы до среднего уровня в разработке, необходимо несколько лет поработать с реальными проектами.

Начинающим специалистам нужно быть готовым к зарплате 20–30 000 ₽ в месяц. Вакансии с сайта hh.ru

 

Стать разработчиком может каждый, главное — желание

Сергей, разработчик PHP из Сочи, дает советы молодым специалистам и рассказывает, как повышать свой уровень:

— Думаю, любой человек, даже незнакомый с программированием, может стать веб-разработчиком. Главное, желание. У меня есть друг, по образованию медик, который много лет работал менеджером по продажам техники. Работу он не любил. Как-то я у него спросил: „Ты не хочешь заняться программированием?“ Он подумал и стал учиться. Ему потребовался год на самостоятельное обучение. Сейчас он разработчик PHP в Томске и неплохо получает. Ему нравится.

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

/**
     * Получение списка критериев
     * @return array
     */
    private function getCriterions()
    {
        $criterionIds = PedDiagnosticVSDevelopmentCriterions::where('PED_DIAGNOSTIC_ID', $this->arResult['PED_DIAGNOSTIC']['ID'])
            ->get()
            ->pluck('DEV_CRITERION_ID');

        $directionIds = PedDiagnosticVSDevelopmentDirections::where('PED_DIAGNOSTIC_ID', $this->arResult['PED_DIAGNOSTIC']['ID'])
            ->get()
            ->pluck('DEV_DIRECTION_ID');

        $criterions = [];
        $directions = DevelopmentDirections::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                ->where('EDUCATIONAL_AREA', $this->educationalArea)
                ->whereIn('ID', $directionIds)
                ->get()
                ->toArray();

        if($directions) {
            foreach ($directions as $direction) {
                $criterions = DevelopmentCriterion::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                    ->where('EDUCATIONAL_AREA', $this->educationalArea)
                    ->where('DIRECTION_ID', $direction['ID'])
                    ->whereIn('ID', $criterionIds)
                    ->get()
                    ->pluck('ID')
                    ->merge($criterions);
            }
        } else {
            $criterions = DevelopmentCriterion::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                ->where('EDUCATIONAL_AREA', $this->educationalArea)
                ->where('DIRECTION_ID', 0)
                ->whereIn('ID', $criterionIds)
                ->pluck('ID')
                ->merge($criterions);
        }

        return $criterions;
    } 

Красиво написанный код напоминает стихотворения Маяковского

Тем, кто хочет освоить Bitrix, рекомендую найти в интернете и пройти бесплатные курсы по Bitrix с тестированием. Тесты в конце теории помогут закрепить знания: в них часто встречаются вопросы с подковырками, в которых надо разбираться. Так больше запоминаешь: не просто прочитал, а еще тест прошел. Бонус: на бесплатных курсах с тестированием иногда дают сертификаты. Конечно, они меньше ценятся, чем дипломы, полученные на платных ресурсах, но все равно плюс. Его можно показать заказчику, чтобы клиент видел, что ты что-то проходил, а не просто зеленый специалист.

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

 

Самостоятельно стать программистом можно, но не по щелчку

Денис, разработчик Bitrix из Липецка, рассказывает, как научиться писать код и какие перспективы у тех, кто выбрал профессию программиста:

— В первую очередь хочу посоветовать новичкам определиться. Программирование — хорошо, но это не единственная профессия в мире. Нужно ответить себе на вопрос: «Действительно ли я хочу этим заниматься?». Если придется все время перешагивать через себя, появится дополнительная нагрузка, которая помешает освоить навык.

Человек без опыта в программировании может стать разработчиком. Не по щелчку, конечно, придется много учиться. Лучше всего получить профильное образование в вузе: так и системные знания появятся, и будет больше шансов попасть в поле зрения работодателя. У меня есть пример — знакомый, который пренебрегал учебой в вузе. Сейчас он занимается веб-разработкой, делает какие-то проекты, но высокого уровня ни по заработку, ни по навыкам не достиг. Ему не хватает базового образования и желания развиваться у него тоже нет. Так что, на мой взгляд, даже если человек получил другую профессию, но хочет стать программистом, ему лучше сначала отучиться в вузе. Это сэкономит силы и время.

Можно освоить навыки самостоятельно, но необходимы упорство и трудолюбие. Не всем хватит мотивации.

 

Пошаговая инструкция для тех, кто хочет самостоятельно стать веб-программистом с нуля:

1. Добыть компьютер.

2. Выбрать язык программирования.

3. Найти по этому языку книгу или ресурс в интернете. Изучить теорию.

4. Придумать проект или взять задачу из учебника и писать код на выбранном языке. Чтобы обучение не было скучным, рекомендую писать приложения, связанные с графической визуализацией: простые двухмерные игры, клеточные автоматы, несложные фракталы. Работа станет менее формальной и сразу будет виден результат.

Слева: клеточный автомат — игра «Жизнь». Справа: фракта́л — множества Мандельброта. Источник: «Википедия»

В наше время программист без работы не останется. Только если сильно не повезет. Вот с зарабатыванием денег — другое дело. Там уже насколько навыков хватит. Новички получают немного. Первое время нужно быть готовым к зарплате в 20–30 000 ₽ в месяц. Для более опытных разработчиков достижимый результат — 80–90 000 ₽. Если кроме навыков есть еще сильные организаторские способности, можно стать тимлидом и дорасти до 120 000 ₽.

***

Стать веб-программистом с нуля получится, если есть желание и интерес к делу. Конечно, будет нелегко. На обучение уйдет не меньше года. Первые несколько месяцев на новой работе придется походить в джунах за 20 000 ₽. Чтобы дойти до конца, нужны сильная мотивация и огромная сила воли. Тем, кому необходим заряд вдохновения, рекомендуем прочитать статью «Истории программистов PHP и разработчиков Bitrix». Для тех, кого не отпугнули перечисленные сложности, мы готовим материал с книгами, курсами, задачниками для изучения веб-программирования.

Материал подготовили →

Программист PHP Сергей, разработчики Bitrix Денис и Сергей, редактор — Анжелика Черниго