За последние 24 часа нас посетили 40752 программиста и 1748 роботов. Сейчас ищут 758 программистов ...

Как становятся вэб-программистами

Тема в разделе "Беседы", создана пользователем gix, 26 мар 2015.

  1. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    Приветствую!Скажу сразу что я не программист, а так, чуть выше хэллоуворлдщика. Поэтому мне интересно узнать мнение более опытных людей, о том сколько они потратили времени на изучение этого ремесла, чтобы стать на ступень пресловутого 'джуниора'.
    О себе к примеру могу сказать, что занимаюсь я этим делом около полугода. Каждый день минимум 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. цель данного поста выразить мысли в слух и может чего то дельного услышать от гуру кодинга. Просьба ну устраивать срач, смысла нет.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Надо кодить денно и ночно (c)
    Без программирования, программистом не станешь. На начальных стадиях надо изобретать велосипеды. Чтобы правильно пользоваться готовыми инструментами типа продвинутых фремворков, надо собственными мозгами дойти до таких решений. Чтобы мысль в нужном направлении шла. А для этого надо тропинки протоптать :)
     
  3. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    про денно и ночно— такая хрень что проект могу писать сутками и все норм,но читать мануалы и самообразовываться— полдня сижу и мозги плавятся☺
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Умение писать свой код, умение читать и понимать чужой код есть два необходимых навыка без которых никуда. Как первый так и второй постигаются исключительно практикой, то есть непосредственно написанием и непосредственно вниканием. Больше ничем.
    В конторах вряд-ли пишут что-то уровня симфони. Обычно это нечто среднее между CMS и фреймворком в виде готовых классов и либ ускоряющих решение типовых задач по типовым проектам (если мы говорим о веб-студиях. Если речь идёт о федеральных/международных проектах, то каркас может быть вполне и сложнее популярных фреймворков).

    Есть ряд методик по работе с чужим кодом. И его можно понять не имея документации, что лишь увеличивает время на вникание.
    Как вы вникали в написанную в конторе гравицапу, расскажите.
    Просто в упор смотрели в код, пытаясь понять как работает?

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

    1. Изучать и вникать во что-то, просто чтобы вникать - дело утопичное и бесполезное. Сразу спросите у того кто вам ставил такую задачу, какая конкретно задача будет стоять перед вами. Обычно это разработка конкретного проекта на базе имеющегося каркаса или написание модуля под существующий проект.

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

    3. расчертите для себя (карандашом на бумаге) схему по которой, как вы ожидаете, или согласно тз должен работать новый модуль/проект/функционал, который вы будете реализовывать. С позиции пользователя, администратора, информационной архитектуры. Расчертите все действия, которые будет производить приложение от получения запроса до занесения результатов в хранилища данных и их представления.

    4. разверните у себя тестовую площадку с чистым каркасом с одной стороны и написанным проектом на его базе и решающим максимально схожие с требуемыми задачи с другой стороны.
    Если вам не выделили консультанта (в это тоже не поверю, обычно вам представляют старшего разработчика и говорят, что если возникнут вопросы, то обращаться нужно к нему) или документацию и система для вас настолько сложна и не понятна, что вы смотрите на код, как баран на новые ворота (однако, принимая во внимание то что вы написали, и, если, вы написали правду, это сложно себе представить), то начните изучение системы "в лоб", напрямую отслеживая то, как она обрабатывает запросы.
    Начните с отправки запроса (открыли страницу сайта), отследите как и чем он обрабатывается начиная с точки входа, в какой контроллер и почему передаются параметры.
    Сделайте отладочные выводы данных в контроллере/вьюхе или включите режим дебага/выводе стектов вызовов если они есть. Чтобы видеть какие данные пришли, какие методы его обрабатывают и почему.
    Далее спускайтесь вниз к изучению кода этих методов, потом к моделям и сущностям которые они дёргают.
    Когда понимаете, что наступает просветление и общее понимание логики работы системы, попробуйте написать свой экшен/контроллер/модель/вьюхи в существующем рабочем приложении и понять как они взаимодействуют друг с другом.
    Добившись успешной работы нового кода, написанного по кальке, начните изучать основные сущности системы - класс и объект пользователя, контроллер, роутер, классы для работы с хранилищами данных.

    5. Когда увидите, что достаточно понимаете базовые основы системы, вернитесь к вашей задаче и схеме работы нового функционала, который был отрисован вами ранее. Исправьте свои первоначальные наброски в контексте структуры самого каркаса и начните реализовывать его в коде.

    6. Если натыкаетесь на что-то вам непонятное что не удается решить несколькими подходами и нельзя откладывать задачу на утро, чтобы взглянуть свежим взглядом, то обратитесь к старшему разработчику. Но не с глупым вопросом: "как это сделать?!" или "Почему не работает?", а спокойно изложите проблему, в двух словах опишите как вы шли к её решению, покажите ваши попытки решения (не отправляя талмуд кода и писанины или ссылки на проблемные разделы, а указав конкретный участок кода с вашими комментариями), где, как вам кажется, код работает не так как вы ожидаете и попросите не решать задачу за вас, а указать на ваши ошибки.
    Сложно представить коллегу, который при таком подходе вам откажет в помощи.
     
  5. gix

    gix Новичок

    С нами с:
    28 окт 2014
    Сообщения:
    168
    Симпатии:
    0
    Спасибо за развернутый ответ. Изучал просто-смотрел контроллеры и что откуда вызывается и куда вставляется. Были и готовые проекты но код я вообще не понял.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Пойди на хорошие курсы с индивидуальным подходом, хороший препадователь может помочь
     
  7. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Я просто хотел сделать себе сайт... И тут понеслось.
     
  8. Stanislavkol

    Stanislavkol Новичок

    С нами с:
    27 апр 2015
    Сообщения:
    3
    Симпатии:
    0
    Вообще главное понимать суть вещей, уметь конвертировать на уровне мысли, фрагменты сайта в теги, и наоборот.



    _______________
    http://a-alians.ru/
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    До при чем тут верстка-то? Тут речь о другом совсем. А еще ты похож на спамера. Ваши грузоперевозки задолбали уже. Это не профильный для вас форум, блин.