Что посоветуете еще подучить что бы тянуть на Junior PHP разработчика?

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

Опыт работы есть только на фрилансе.

Стек:

  1. PHP
    1. ОПП - понимаю, могу применить на практике. Был написал маленький форум на процедурке, потом поностью перенесенный на ООП (писал для себя). В форум входили - Разделы, темы разделов, комментарии, CRUD для разделов и тем.Так же была регистрация, только зарегистрированные пользователи могли просматривать темы разделов.

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

      Магические методы, так на память сейчас - invoke, get, set, construct, destruct, isset, unset.

      Понимаю разницу между this и self.

    2. Основы - сами основы PHP знаю на среднем уровне
    3. Laravel - знаю на среднем+ уровне. Сейчас работаю на нем. Сделать магазин с админкой (самописной, да скажите кастыли, но я пишу что бы набраться опыта и разобраться в своем коде мне легче) - не составляет проблем. Есть несколько проектов, 2 магазина, 1 сайт для квест комнаты, в данный момент работаю над крупным проектом - тур сайт (с турами, со страницами с платной подпиской, с регистрацией гидов, мультиязычность), после этого проекта хочу идти рассылать свое резюме:)

      Для админки использую AdminLTE

    4. Знаю стандарты PSR
    5. HTTP протокол
    6. Работаю в IDE phpstorm

  2. SQL
    1. Понимаю и могу приметь на практике один к одному, один ко многим, многие ко многим. Могу применить джоины. К примеру есть три таблицы [Товар] [Фильтры] [Позиции фильтров]. Знаю как их связать, что бы вывести товар, а к нему фильтр(цвет к примеру) и вывести только красный, синий и белый(цвета которые были отмечены к примеру в админке).

      Знаю, что такое order by, group by, limit, like, sum, mux, min, between, count.


  3. HTML - основы знаю хорошо
  4. CSS - знаю на достаточно хорошем уровне. Адаптивная верстка, flex, позиционирование элементов. Сверстать макет - не предоставляет сложности. Работал и знаю фронт фреймворки:
    1. bootstrap
    2. uikit
    3. bulma

  5. JS - знаю на низком уровне. На фриланс проектах был написан календарь для квест комнаты с использованием moment.js и swiper - ссылка на скрин prntscr.com/g5sio5. Был написан калькулятор для выбора элементов - ссылка на скрин prntscr.com/g5sj10. Библиотеки(плагины) с которыми работал по JS
    1. jquery
    2. moment.js
    3. swiper
    4. noty.js
    5. ion.rangeSlider
    6. scrollanim
    7. flatpickr
    8. sweetalert
    9. vue.js начал его изучать. Сейчас на проекте использую element
    10. AJAX



Работал на линуксе, настроить сервер на нем могу. По гиту основы знаю, принцип понимаю.

Вопросы
  1. Что нужно знать обязательно еще джуну по PHP?
  2. Никак не могу понять зачем нужны абстрактные классы и трейты, возможно из-за того что на практике с ними не работал (Вопрос закрыт)
  3. Что можно почитать по юнит-тестам т.к. с ними не работал и пока не имею предствления?
  4. Страшно ли, что работал все время в phpmyadmin, а не в консоле?:)
  5. Нужно ли джуну знать, как настраивать сервер (тонкости) апача?


Спасибо, что уделили время на меня! Буду рад почитать ваше мнения, предложения.
  • Вопрос задан
  • 6969 просмотров
Решения вопроса 9
Советую прочитать Мэтт Зандстра - «PHP. Объекты, шаблоны и методики программирования», это по поводу абстрактных классов и трейтов, и в целом понимание ООП подтянуть и познакомиться с паттернами. Оч крутая книга.
Ответ написан
@Fortop
Tech/Team lead
Для джуна уже более чем неплохой стек (при условии, что действительно знаете, а не думаете, что знаете)

Так что есть смысл расти выше к мидлу.

  • Подтянуть использование ООП (те самые абстрактные классы и интерфейсы).
  • Обязательно Composer, посмотреть некоторые пакеты которые есть на packagist
  • Разобраться в key-value БД, очередях.
  • Познакомиться с патернами.
  • Добрать еще 1-2 фреймворка из разряда Zend/Symfony (но не Yii, Codeigniter, Kohana) и Slim/Zend Expressive
  • Разобраться с REST
  • API
Ответ написан
gobananas
@gobananas
botbot.ru
Да всё у вас в порядке для джуна, дальше только опыт. Всё правильно выше сказали про требования конкретной компании - этого не угадаешь. Где-то mongodb нужен где-то postgresql где-то трейты юзают и php7 а кто-то на 5.3 сидит ещё. Ваших знаний считаю достаточно.
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
По Юнит-тестам крутейшее видео (7 часов :) https://www.youtube.com/watch?v=gRmEpUYaS20&list=P...

от себя добавлю -- нужно знание фреймворка, сам недавно устроился, тестовые почти все дают такого плана -- сделай простейший REST API. Ну и резюме хорошее, много писем и звонков, как писали выше, на Джуна и с меньшими навыками устраиваются. Да, тесты от джунов не всегда требуют, тк в компаниях не всегда их пишут :)
Ответ написан
Я бы не назвал ваш уровень Junior. Если вы в состоянии самостоятельно
- развернуть девелоп-среду
- вести гит
- писать код и обкладывать его тестами
- настроить деплой

то значит, в состоянии самостоятельно ставить себе задачи. А это уже на Миддла тянет )
А у Миддла способ развиваться только один - практика. Самообучаемость, как видно, присутствует. Не зацикливайтесь на парадигмах, фреймворках и ЯП - берите проекты и выполняйте их
Ответ написан
qonand
@qonand
Software Engineer
1. Что нужно знать обязательно еще джуну по PHP?

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

2. Никак не могу понять зачем нужны абстрактные классы и трейты, возможно из-за того что на практике с ними не работал

Для этого можно просто погуглить: ссылка раз, ссылка два

3. Что можно почитать по юнит-тестам т.к. с ними не работал и пока не имею предствления?

Документацию по phpUnit

4. Страшно ли, что работал все время в phpmyadmin, а не в консоле?:)

Не важно с помощью какого средства Вы работали в базе данных, главное что бы у Вас были навыки написания запросов на SQL

5. Нужно ли джуну знать, как настраивать сервер (тонкости) апача?

Нет
Ответ написан
Decadal
@Decadal
чтобы тянуть на джуна, нужно вовремя закрывать задачки. Работа джуна - просто закрывай задачки которые тебе выдают. Поэтому списки технологий и все эти стеки - одна большая условность, фильтр для вакансии. Ну что значит "знать jquery"? или "знать ajax"? Работайте и запоминайте, где что и для чего используется, а если попросят экзотику - вы её, что поделать, выучите.
В конечном счёте, всё упирается во время и компанию, на которую собираетесь работать. Для джуна в известной крупной компании нужно действительно хорошо натаскаться в тех стеках, которые они перечислили (не факт что они пересекаются с перечисленными здесь, так что нет смысла заучивать всё подряд),
для джуна в какой-нибудь компании может не понадобиться вообще ничего кроме базовых знаний, а всё остальное вы приобретёте на ходу.
Ответ написан
saboteur_kiev
@saboteur_kiev
build engineer
1. Что нужно знать обязательно еще джуну по PHP?
Уметь гуглить вакансии, звонить в компании, отправлять резюме и ходить на собеседование. Именно это, а не что-либо другое, дает реальный шанс трудоустройства.

Это главное.

2. Никак не могу понять зачем нужны абстрактные классы и трейты, возможно из-за того что на практике с ними не работал
Для продвинутого наследования.

3. Что можно почитать по юнит-тестам т.к. с ними не работал и пока не имею предствления?
Документацию и примеры кода.

4. Страшно ли, что работал все время в phpmyadmin, а не в консоле?:)
Плохо, если вы боитесь консоли. Выбирать нужно просто удобный инструмент, но phpmyadmin в энтерпрайзе обычно не пользуют. Если сможете обойтись без него - значит ок.

5. Нужно ли джуну знать, как настраивать сервер (тонкости) апача?
Как настраивать - нужно. Тонкости - не обязательно.
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
Ко всему выше сказанному хочу дополнить только одно: нужно уметь самому искать нужную информацию. Поверьте, и на этом сайте, и в интернете масса ответов и статей на тему, что нужно знать джуниору PHP. Перед тем, как самому писать, нужно не поленится и погуглить, поискать решение самому. Это будет ваш наиболее ценный навык - умение решать поставленную проблему/задачу самостоятельно.
По дополнительному: вы не обязаны знать тонкости, но не помешает знать Apache и nGinx, хотя бы принцип работы и почему так, а не иначе - это важно для избежания багов. Не помешает знать, что такое PHP-FCGI, хотя не обязательно; обязательно - Composer; ну и почитайте книгу Мэтта Зандстры. Ну и Symfony, как уже выше советовали - тоже не помешает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
@BATPYIIIKOB
PHP, MODX, Yii2
На мой взгляд просто решил похвастаться. Тут спинным мозгом понятно, что можно идти на собеседование.
Ответ написан
@superdimon
на мой взгляд уже пора идти на собеседование.
Ответ написан
@AnneSmith
самая ленивая
нужно не подучить, а делать свои проекты
Ответ написан
@Skit25
на всё воля Бога
Раз в два месяца задают этот вопрос и что удивляет, всегда разные ответы, в смысле от перестановки мест слагаемых сумма не меняется.

Все просто. Хочешь быть разработчиком? Разрабатывай. Хочешь быть строителем? Строй.
Если вопросы конкретные, по делу. Значит ты уже разработчик.

А так, ты похож на модель. Посмотрите крут я да или нет? Это относится ко всем подобным вопросам. Уже на хабре куча качественных статей с ответами на твой вопрос, включая переводы разных виртуозов, включая самого Расмуса. И на тостере тосты есть на эту тему.

Тот кто не умеет пользоваться поиском ни когда не станет разработчиком и точка
Ответ написан
Deroy
@Deroy
Senior Developer, Software Architect
пару лет назад я здесь же - на Тостере отвечал на схожий вопрос - возможно ответ будет вам полезен:
Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где «глубже»?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.
Devmasterz Тюмень
от 80 000 до 120 000 руб.