Приветствую!Скажу сразу что я не программист, а так, чуть выше хэллоуворлдщика. Поэтому мне интересно узнать мнение более опытных людей, о том сколько они потратили времени на изучение этого ремесла, чтобы стать на ступень пресловутого 'джуниора'. О себе к примеру могу сказать, что занимаюсь я этим делом около полугода. Каждый день минимум 4ч/день. И все что я успел хоть как то освоить это php,html,css,mysql,ооп,codeigniter,некоторые паттерны,git,bootstrap. Судя по вакансиям на того же junior php, всё вышеперечисленное это мелочь. Для себя уяснил что еще надо как минимум знание js,ajax,jquery,angular,xml,smatry, фреймворк не ниже yii и желательно какую нибудь cms(на уровне написания модулей). И я понимаю что еще надо сидеть хрен знает сколько и учить.....Вот и думаю либо я какой то 'медленный' либо хз. Мне знакомые программисты говорили что за полгода можно поднатаскаться и устроиться на работу. У меня кстати вроде даже и получилось устроиться в контору. Сделал хорошо тестовое задание и вообщем взяли. С каким недопониманием я сразу столкнулся - открыл их вьюхи(mvc) и понял что то тут не так, как оказалось это был smarty),еще с xml были вопросы. Потом мне дали изучать фреймворк местного разлива на который нет документации и без наставника. Фреймворк как оказалось по уровню ,наверное, находится на одной ступени с symphony. Вообщем посидел я, посмотрел в магию голубого экрана и нихрена не понял (хотя mvc и ооп я понимаю), на том и закончилась моя там работа. Как то так..... P.S. цель данного поста выразить мысли в слух и может чего то дельного услышать от гуру кодинга. Просьба ну устраивать срач, смысла нет.
Надо кодить денно и ночно (c) Без программирования, программистом не станешь. На начальных стадиях надо изобретать велосипеды. Чтобы правильно пользоваться готовыми инструментами типа продвинутых фремворков, надо собственными мозгами дойти до таких решений. Чтобы мысль в нужном направлении шла. А для этого надо тропинки протоптать
про денно и ночно— такая хрень что проект могу писать сутками и все норм,но читать мануалы и самообразовываться— полдня сижу и мозги плавятся☺
Умение писать свой код, умение читать и понимать чужой код есть два необходимых навыка без которых никуда. Как первый так и второй постигаются исключительно практикой, то есть непосредственно написанием и непосредственно вниканием. Больше ничем. В конторах вряд-ли пишут что-то уровня симфони. Обычно это нечто среднее между CMS и фреймворком в виде готовых классов и либ ускоряющих решение типовых задач по типовым проектам (если мы говорим о веб-студиях. Если речь идёт о федеральных/международных проектах, то каркас может быть вполне и сложнее популярных фреймворков). Есть ряд методик по работе с чужим кодом. И его можно понять не имея документации, что лишь увеличивает время на вникание. Как вы вникали в написанную в конторе гравицапу, расскажите. Просто в упор смотрели в код, пытаясь понять как работает? Детально методики изучения посмотрите сами, могу дать несколько общих советов, которые могут помочь: 1. Изучать и вникать во что-то, просто чтобы вникать - дело утопичное и бесполезное. Сразу спросите у того кто вам ставил такую задачу, какая конкретно задача будет стоять перед вами. Обычно это разработка конкретного проекта на базе имеющегося каркаса или написание модуля под существующий проект. 2. Изучать и вникать проще всегда на конкретном примере. Поэтому, решив первый пункт, запросите доступ к аналогичной или схожей решённой задаче на базе этого же каркаса. Это может быть раздел сайта, модуль системы управления или уже написанный проект для клиента компании. Подключите себе его репозитории. 3. расчертите для себя (карандашом на бумаге) схему по которой, как вы ожидаете, или согласно тз должен работать новый модуль/проект/функционал, который вы будете реализовывать. С позиции пользователя, администратора, информационной архитектуры. Расчертите все действия, которые будет производить приложение от получения запроса до занесения результатов в хранилища данных и их представления. 4. разверните у себя тестовую площадку с чистым каркасом с одной стороны и написанным проектом на его базе и решающим максимально схожие с требуемыми задачи с другой стороны. Если вам не выделили консультанта (в это тоже не поверю, обычно вам представляют старшего разработчика и говорят, что если возникнут вопросы, то обращаться нужно к нему) или документацию и система для вас настолько сложна и не понятна, что вы смотрите на код, как баран на новые ворота (однако, принимая во внимание то что вы написали, и, если, вы написали правду, это сложно себе представить), то начните изучение системы "в лоб", напрямую отслеживая то, как она обрабатывает запросы. Начните с отправки запроса (открыли страницу сайта), отследите как и чем он обрабатывается начиная с точки входа, в какой контроллер и почему передаются параметры. Сделайте отладочные выводы данных в контроллере/вьюхе или включите режим дебага/выводе стектов вызовов если они есть. Чтобы видеть какие данные пришли, какие методы его обрабатывают и почему. Далее спускайтесь вниз к изучению кода этих методов, потом к моделям и сущностям которые они дёргают. Когда понимаете, что наступает просветление и общее понимание логики работы системы, попробуйте написать свой экшен/контроллер/модель/вьюхи в существующем рабочем приложении и понять как они взаимодействуют друг с другом. Добившись успешной работы нового кода, написанного по кальке, начните изучать основные сущности системы - класс и объект пользователя, контроллер, роутер, классы для работы с хранилищами данных. 5. Когда увидите, что достаточно понимаете базовые основы системы, вернитесь к вашей задаче и схеме работы нового функционала, который был отрисован вами ранее. Исправьте свои первоначальные наброски в контексте структуры самого каркаса и начните реализовывать его в коде. 6. Если натыкаетесь на что-то вам непонятное что не удается решить несколькими подходами и нельзя откладывать задачу на утро, чтобы взглянуть свежим взглядом, то обратитесь к старшему разработчику. Но не с глупым вопросом: "как это сделать?!" или "Почему не работает?", а спокойно изложите проблему, в двух словах опишите как вы шли к её решению, покажите ваши попытки решения (не отправляя талмуд кода и писанины или ссылки на проблемные разделы, а указав конкретный участок кода с вашими комментариями), где, как вам кажется, код работает не так как вы ожидаете и попросите не решать задачу за вас, а указать на ваши ошибки. Сложно представить коллегу, который при таком подходе вам откажет в помощи.
Спасибо за развернутый ответ. Изучал просто-смотрел контроллеры и что откуда вызывается и куда вставляется. Были и готовые проекты но код я вообще не понял.
Вообще главное понимать суть вещей, уметь конвертировать на уровне мысли, фрагменты сайта в теги, и наоборот. _______________ http://a-alians.ru/
До при чем тут верстка-то? Тут речь о другом совсем. А еще ты похож на спамера. Ваши грузоперевозки задолбали уже. Это не профильный для вас форум, блин.