В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

Здравствуйте.
Мне 19, с первого курса занимался программированием, в начале был C# и C++, недавно решил углубиться в веб.
Осилил HTML+CSS довольно быстро, после освоил принципы работы php+mysql, изучил javascript и jquery на базовом уровне, понял зачем нужен ajax. После попробовал установить себе популярные CMS (Joomla, Wordpress etc) и PHP-фреймворки (CodeIgniter, Yii) понял в чем отличие cms от фреймворков. Правда, ничего написать на этих фреймворках я не смог, решил изучить ООП в php5. Начал читать книгу Мэтта Занрстра - "Объекты, шаблоны и методики программирования".
После сотой страницы решил посмотреть, что требуется от PHP-кодеров на фрилансе. Расстроился, когда увидел, что бОльшая часть заказов связана с Wordpress-ом и другими популярными CMS. Начал гуглить и узнавать, как копаться и что-то менять в этих CMS-ках. В итоге понял, что всё упирается в знание их внутренних API.
Весь день я занимался последним, написал простейший плагин для wordpress (добавление определенной инфы и параметра через админку и отображение инфы в зависимости от этого пар-ра на странице через шорткод), совершенно забыв про книжку по ООП. Да и код в этом недоплагине был ужасен: я понял что не умею разделять логику от представления, и решил вспомнить недавно заброшенный мною Yii.
Начал читать мануалы по фреймворку и MVC в целом, но максимум чего достиг - понял как работает контроллер, модель и отображение, но понимание совсем не глубокое.
Теперь я понимаю, что после целого дня говнокода для wordpress, в котором были смешаны html, php и js - я не могу перестроить мозги на работу с более правильным подходом (mvc).
И я запутался. Дело в том, что корень моих частых "прыжков" то туда то сюда - желание достичь хорошего уровня, и что самое главное - иметь возможность фрилансить/работать удаленно (живу в глубинке) к окончанию университета (4 курс). Боюсь за оставшиеся 2 года своего обучения так и не стать более-менее нормальным разработчиком, который уже может делать определенные вещи и зарабатывать.
И этот страх приводит к тому, что у меня нет своей "рабочей программы", нет четкого понимания, в каком порядке и что мне изучить.
Извините за тонну текста, но я бы хотел попросить Вас, опытных разработчиков, подсказать мне хоть сколько-нибудь выстроенный "путь" - в каком порядке изучать то или иное, чтобы не стоять на одном месте, учитывая описанное мною выше? Заранее большое спасибо.
  • Вопрос задан
  • 5709 просмотров
Пригласить эксперта
Ответы на вопрос 14
fsdsdfsfdsfsdfsdfsdfsdfsd
@fsdsdfsfdsfsdfsdfsdfsdfsd
Unknown
Не пользуйтесь фреймворками вообще и готовыми движками и станете успешным.

И срать, что кому-то нужны всякие Yii и прочий хлам. Создавайте свой проект и работайте на себя.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Посмотри в сторону Symfony
Боюсь за оставшиеся 2 года своего обучения так и не стать более-менее нормальным разработчиком, который уже может делать определенные вещи и зарабатывать.


Срочно: либо устраивайся на работу, либо фриланс. Твоя задача - получить опыт и няшное резюме. Не иди в web-студию, отупеешь. Оптимальный срок работы в компании И для программиста И для компании - 2 года.

18962034_moj-diplom-pozvolil-mne-nachat-
Ответ написан
@Exotic33
Всё просто. Перестраиваете свою схему жизни, выбрасывайте из головы всё, что мешает, и начинаете учиться. В этом вам помогут курсы, книги, вебинары и прочие ресурсы, которые буквально в секундной от Вас доступности.
Например, моя первая книга написана Кевином Янком, и она дала мне тот маленький багаж знаний, с которого я начал своё путешествие. Затем я двинулся в сторону HeadFirst, но мельком просмотрев содержание, я не стал уходить дальше первых глав - тратить 700 страниц на то, чтобы лишь в конце написать своё первое регулярное выражение? К сожалению, это был долгий путь. Вообще не читайте книги по PHP - всё есть в доках. (До этого я тоже работал в C# и даже в C++ Builder 6, и честно говоря, когда-то мне казалось, что последнее - неплохая штука. До тех пор, когда я закончил писать программы одногруппникам :D)
За месяц, ежедневно конспектируя и проходя практические курсы, я сверстал свой макет на CSS3, HTML5 и т.п. Потом перешел к пхп. Начать было трудно, я не мог браться за него так же свободно, как и за другие языки. Поэтому я вернулся к курсам, где по примерам "сворганил" свой простой магазин с корзиной, каталогом, заказами и админкой без каких-либо подсказок. И все это за 2 месяца тратя на это по 3,5 часа в день. Для общего плана советую равняться на вакансии и составлять план именно исходя из требований.

Может быть мой ответ покажется слишком избыточным и нудным, но мой тебе совет - к своей цели иди постепенно, маленькими шажками ;) Не мешай все в кучу, ты за эту жизнь ещё успеешь накодиться...
Ответ написан
Romanche
@Romanche
Жизнь–игра. Задумано плохо, но графика потрясная!
Я могу дать тебе совет основываясь на своем личном опыте начинаний своей интересной истории.
1й, 2й курс - я пытался учиться в универе, местами старался местами халявил... 3й курс по семейным причинам я бросил, точнее перешел на заочку и в итоге попал в армию. До армейки я вообще не представлял себя в роли кодера или железакина, хотя учился на ВТ. В результате, после армии пришло осознание того, что надо учиться. Заинтересовали сайты. Ну для меня это реально стало интересно. Грузчиком я не хотел быть, продолжил учёбу на заочке, перебиваясь заработками различного харрактера и одновременно погружаясь в азы верстки.

Нормально началось всё изучаться, когда я знакомому сказал, что я учусь делать сайты и тот дал мне первый заказ. Естественно у меня не было ни практики, ни опыта, но я взялся. Мы составили с ним ТЗ. Досканально расписали план разработки и этапы сдачи отчетности. В результате, спустя месяца 2-3 я реализовал свой первый сайт на php+mysql + html + css. Он конечно не был идеальным, сейчас я откровенно скажу что это была кака***.

Но всё же, мораль всей басни такова - поставь задачу, определи для себя сроки, этапы и "пиши код". Опыт и качество кода само по себе не наработается. И чем выше и серьезнее цель, тем лучше результат. Удачи.
Ответ написан
Комментировать
soshnikov
@soshnikov
Самая лучшая программа развития PHP-разработчика отказаться от идеи стать PHP-разработчиком.
Посмотрите в сторону Python, Ruby, ASP.NET, Java и забудьте PHP как страшный ужастик. Не портите себе жизнь.
Ответ написан
mzcoding
@mzcoding
Web-Разработка
Все просто.
Первым делом хочу сказать не слушай тех кто кричит, что обязательно нужно уметь писать под WP/Joomla и прочие говно-цмс. Вторым, на тех кто кричит, что не нужны фреймворки и сторонние библиотеки.

Раз взялся за ПХП - книгу ты выбрал верную, дочитывай её до конца, что не понятно перечитывай.. Потом мануал и практика. Сначала пиши свои велосипеды (для практики). Заведи аккаунт на github, выставляй все туда, не бойся критики и прислушивайся к ней. Когда более менее поймешь как строится структура приложения, как работают различные паттерны и т.д. Начинай разбираться в чужем коде. Выше уже писали, про написание велосипедов - это не верный подход, даже если ты не будешь работать веб-разработчиком, а просто хочешь написать свой проект. И вот почему.
- Любая библиотека / Фреймворк хорошо оттестирована профессионалами
- Использование сторонних разработок ускоряет время разработки (ты не будешь терять на разработку одного проекта по году, полтора)
- Легко внедрится в команду или найти команду в свой проект

Самый простой фреймворк для изучения новичку это Codeigniter или Laravel (4 ветка)
Ответ написан
@aimp-programming
Почему именно PHP? объясни мне!!! Есть же другие замечательные языки и технологии для веба, как Python,Ruby,ASP.NET MVC(ты же учил C#),JAva...А ты зациклился на самом ужасном..
Ответ написан
Stac
@Stac
Присоединюсь к aimp-programming.

PHP класный язык, чтобы копаться в Wordpress и делать всякие плюшки и полезности для Клиентов с фриланса.
PHP хорошо подходит для прототипирования и прочих задач, которые нужно сделать быстро.

Есть странные ребята, которые пытатся притащить в PHP всякое из других языков, так в нем появился и развиввается ООП.

Но вам-то это зачем, если знаете C#?
1) Изучайте ASP.NET MVC - там все четко, строго и объектно-ориентирвоанно.
2) Прокачивайте свои навыки бизнес-коммуникаций (деловое пиьмо, публичные выступления, презентации) - и сможете продавать свои знания и навыки Клиентам, большинству из которых плевать на стек и входящие в него технологии, есть лишь бизнес задача, которую надо решить.
3) Если захочется именно в PHP развиваться - напишите свой фреймворк, CMS на нем и продайте несколько проектов. После этого появится какое-то понимание дальнейших действий.

p.s. Пример: я недавно делал генератор XLS прайс-листа для сайта на Джумле. Никого особо не смутило, что Джумлу я не знаю, ни как пользователь, ни как разработчик (хотя, я, конечно, предупредил об этом). Главное - решение бизнес-задачи.
Ответ написан
Antonoff
@Antonoff
Разработчик
Могу поделится своим опытом юниора. Закончил учебу на Software Enginner'a в Англии, но со 2ого курса решил не нужна мне эта Ява и Си, и ушёл полностью в веб, начал с азов HTML/CSS/PHP/MySQL, потом препод посоветовал начать фрилансить fiverr.com интересный сайт где много разных услуг и все за $5. Понабрался говно опыта и больше фрилансом пока не занимаюсь (как закончил универ и нашёл работу), ибо во время фриланса делал разную херню и кодить не научился. Очень много делал разного рода своих "проектов" на разных движках. Не могу сказать что это плохой опыт но всё же. Смотря на жизнь и как другие программисты развиваются, мне до сих пор кажется, что я делаю что-то не так.

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

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

Если брать PHP к ниму взять MVC фрейворк CI не плох.
Если брать JS к ниму брать AngularJS или NodeJS+ExpressJs и делать веб аппки.

Ко всему конечно использовать git и взять foundation/bootstrap как css framework.
Ответ написан
Комментировать
@Yago
Тут нужен реальный опыт. Чтобы хорошо разрабатывать на Yii, надо с ним работать. Чтобы хорошо разбираться в CMS, надо решать поставленные задачи на этой CMS. А искусственновумученный опыт будет даже вреден в данной ситуации, потому что станет далек от настоящего программирования, и понадобиться переучиваться для выполнения реальных задач.

Я бы смотрел в сторону либо своих проектов, давая анализировать их куски кода на профильных форумах, чтобы люди подсказывали, почему можно сделать по другому и получше, либо в сторону устройства джуниором в какую-нибудь веб-студию, под началом более опытных коллег.
Ответ написан
Комментировать
Вы определитесь чего хотите: денег или писать красиво и валидно? Эти направления не всегда совпадают. Если денег то это фриланс и главное что б работало. На том же Yii можно нагородить такого что за голову схватится любой кто увидит код. Работать в больших компаниях хотите? Тогда вам Симфони, Zend и типа того. Работать в hiload? Тогда в сторону БД уклон надо делать. Свои проекты? Тогда Руслан правильно сказал - пишите как хотите и воротить на ООП одному разработчику как-то странно.
Ответ написан
aaadddminnn
@aaadddminnn
php it ubuntu debian
Ну напроситесь к кому то в джуны. для фриланса рано вам. Вы просто поработайте месяцок второй с кем то в команде бесплатно (или даже вас попросят заплатить за обучение) и тогда уже на фриланс
Ответ написан
@orangeShadow
Php Программист
Чем больше работы тем больше опыта, а вообще главное уметь читать мануалы и писать верные запросы в поисковике. И Не лениться ! Выбираешь сколько время потратить на программирование ? скорее всего это тогда не для тебя )
Ответ написан
@ruslan2243
Как я делал раньше. Просто смотрел задачи, выбирал интересные для себя, предлагал выполнить. И в процессе выполнения учился, искал решения. Потом начал работать с одними и те ми же людьми. Задачи пошли более сложные и интересные, нагрузка на мозг и обучение увеличивалась - рос опыт, знания, оплата.

Вывод, берись и делай! Я тоже пытался всё выучить, за всё хватался - это бесполезное занятие, т.к. без практики знания улетучиваются.

Как вариант в процессе изучения делать свой сайт-портфолио и там всё публиковать. Потом с этим сайтом-портфолио на фриланс, уже есть что показать. И брать проекты которые по силам, пусть даже не всё знаешь. В процессе научишься.

А фреймворки/нефреймворки - это не важно, главное опыт. Появится опыт, поймешь что тебе по-душе. И выберешь направление.

Когда знаешь куда двигаться, то нет необходимости хапать всё подряд.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы