Собственно вопрос для меня очень актуальный.
Как мне стать программистом?
В настоящий момент я работаю маркетологом (более 3 лет), однако с детства и до сих пор моим хобби был комп, поэтому пока не поздно хочу работать по призванию. Пробовал кодить, но по сути баловался.
В универ на очку уже поздно (26 лет), а заработок не хочу терять. Доход приличный, да и родственники не поймут))
С чего мне начать? Я планирую года за 2-3 постепенно превратить свое увлечение в дополнительный источник дохода, а там может и в основной.
Какая структура знаний должна быть?
Что мне нужно знать?
Какие языки учить и в какой последовательности?
Сферу деятельности я определил пока веб-разработку, т.к. данная категории легче на фрилансе (поправьте меня, если я ошибаюсь).
Может у кого был подобный опыт....надеюсь на советы.
Вобщем подведу итог:
Как мне с нуля стать программистом с актуальными навыками и знаниями?
Ответ
Для веб направления: 1) Учите HTML, смотрите примеры, сайты, исходные страницы сайтов. Достигните понимания в структуре html, т.е. можете сами от руки написать табличку, жирный текст, списки, заголовки, ссылки, якоря и т.д. Поймите что такое теги, атрибуты и т.д. и научиться правильно искать информацию по html (т.е. не обязательно знать все теги, можно просто уметь их находить) Где писать: блокнот, простые Web редакторы (с вводом только текста) Источники информации: различные учебники, в том числе и в интернете время освоения: если уделять по 1-2 часа в день, можно за 2 недели освоить 2) Добавьте к HTMLу CSS, это таблица стилей. Т.е. программирование еще не добавилось. Для начало надо будет понять что это за штука (css), и зачем она нужна. С помощью нее можно прописывать стили. Так же научитесь искать информацию. Где писать: блокнот, простые Web редакторы (с вводом только текста) Источники информации: различные учебники, в том числе и в интернете время освоения: если уделять по 1-2 часа в день, можно за 1 неделю освоить (если до этого вы поняли html) 3) Добавьте к этому JavaScript. Вот тут то и начинается программирования. На этом этапе посоветую изучить простые основы программирования: переменные, условия, циклы, функции. Пытайтесь писать простые вещи, и хорошо освоить основы, т.е. уверенно ими пользоваться. Поймите иерархию структуру HTML-а, и научитесь на чистом JS обращаться, получать и изменять элементы. Повторюсь, на чистом JS (не стоит лесть в JQuery на этом этапе) Где писать: блокнот, простые Web редакторы (с вводом только текста) Источники информации: различные учебники, в том числе и в интернете время освоения: если уделять по 1-2 часа в день, можно за 1-2 месяца освоить (но это индивидуально, как мозг человека примет логику) 4) Перейдите к серверному языку (я напишу про PHP). Поймите синтаксис у языка (циклы условия все принципы программирования будут схожи с JS, но синтаксис немного отличаться, ну и некоторые принципы). Поймите как генерится страница, что такое POST и GET запросы. Где писать: Web редакторы, NetBeans Источники информации: различные учебники, в том числе и в интернете, http://php.su время освоения: если уделять по 1-2 часа в день, можно за 2-4 месяца понять основы (но это индивидуально, как мозг человека примет логику) 5) Углубите знания в JS (+JQuery) и PHP, тут уже предлагаю сделать связь между JS и сервером. отправлять принимать POST и GET запросы. Время освоения 1 неделя. 6) Освойте Базу Данных (SQL) вообще понять что и как работает. как работать с таблицами, какие запросы и как лучше делать. Где писать: любая СУБД (Access, Oracle, ...) время освоения: если уделять по 1-2 часа в день, можно за 2 месяца понять основы 7) Изучите связь БД и PHP научитесь делать запросы из PHP, добавлять получать данные. Отображать таблицы и т.д. Для php советую работать с mysqli. Углубите свои полученные знания в пункте 6. Где писать: Web редакторы, NetBeans Источники информации: различные учебники, в том числе и в интернете, http://php.su время освоения: если уделять по 1-2 часа в день, можно за 2 месяца понять основы 8) Углубитесь в знания программирования, ООП, освойте знания классов, как в JS так и в PHP (любой другой серверный язык). Практикуйтесь, создавайте свои классы и т.д. Дальше время не буду писать, т.к. все расплывчато. 9) Углубиться в программирование, вообще, вы должны знать много-много различных алгоритмов и теорий. До этого момента мы занимались детским садом, подготовка к школе, так сказать. На этом шаге предлагаю изучить различные алгоритмы (сортировка - хоть и есть стандартные средства но знать надо, комбинаторика, графы, деревья - часто бывают полезны для веб разработчиков и т.д.). Это я к чему, для повышения навыков программирования решайте Олимпиадные задачи, изучайте готовые алгоритмы. Изучите дополнительные возможности программирования: регулярные выражения и т.д. Изучите теории и поймите как лучше создавать структуры баз, какие базы и таблицы необходимо создавать. Изучите теории по оптимизациям и написанием нагруженных систем (кэширование и другое). Где решать: например тут http://codeforces.ru/ 10) Применения знаний, пробуйте изучайте различные CMS конструктора: Ucoz, Joomla, Drupal, ModX, WordPress. Применяйте свои навыки на них. Напишите по одному сайту на каждом из них ) 11) Углубление, фреймворки, изучите какой-либо фреймворк, например Yii для PHP. К этому моменту вы должны уметь уже правильно создавать структуры баз, свободно писать на JS и PHP. Так же можно попробовать подключаться к стороним API, например к Vk. 12) Ну и напоследок для веб-мастера почитать про СЕО, знать хотя-бы что это за рыба. 13) САМОЕ ГЛАВНОЕ! Везде, и тем более в Программировании необходима Практика!, надо постоянно пробовать, ничего страшного если что-то не получается, вы должны учиться на ошибках, как своих так и чужих. Что-то прочитали?, тут же пишите. Есть друзья, которые без конца читают книги по программированию, но, практики у них мало.. в итоге книги много им не дают (ну знает он что можно вот так сделать, а сделать не может, т.к. не умеет применять свои знания к делу). Это как изучение боевых искусств - мастер вам каждый день по 15 часов объясняет что и как делать, куда бить, куда уходить, а вы просто слушаете. Когда дело дойдет до боя, вы ничего не сможете применить. Поэтому: НУЖНО ПРАКТИКОВАТЬСЯ p.s. Надеюсь помог )
Комментариев нет:
Отправить комментарий