Необходим совет от опытных программистов

Всем доброго времени суток, друзья! Я начинающий web-разработчик и мне бы хотелось задать сообществу вопрос в отношении обучения и поиска работы.

Я более полгода изучаю html5, css3 и javaScript (jQuery). Три месяца назад я пошёл на курсы frontend разработчика и с тех пор получаю основательное и систематическое образование в одной из лучших школ Украины. Как и большинство молодых разработчиков, я столкнулся с проблемой реализации своих навыков на примере реальных задач. Иными словами сейчас (по истечению 2 месяцев изучения javaScript ) я уже могу понять определённый код, например туже галерею с сладейром, однако затрудняют когда надо написать свой. Чтобы лучше закрепить на практике свои знания я начал проходить онлайн курсы такие как codeacademy, htmlacademy codeschool. И начал читать профлитературу конкретно Большую книгу CSS3 Макфарланда(супер книга) и 6-издание javaScript Подробное руководство Фленагана.

Собственно говоря теперь вопрос: как вы порекомендуете развивается дальше для того чтобы извлечь максимум пользы из обучения? Стоит ли оплатить более продвинутый онлайн курс (нравится codeschool)? Имеет ли смысл попытаться попасть на реальный проект/искать работу уже сейчас? И если да, то как это сделать? Буду благодарен любому конструктиву.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Доброго времени суток, друзья! Поздравляю Вас с наступившими праздниками и всем желаю успехов в настоящем году.

Я хотел бы спросить совета у тех «кто в теме» о стажировочных программах в 2016 году в компаниях и организациях на территории Украины. Я начинающий frontend-разработчик, окончил совсем недавно курсы в IT компании и получил соответствующий моему уровню подготовки диплом. Выполнил практически все задачи на freeCodeCamp и codeacademy и прослушал (c параллельным выполнением) довольное большое кол-во уроков по верстке на youtube. Сделал несколько приложений небольших по руководствам на сайтах популярных фрейморков (Angular, Backbone.js) В целом, увлекся процессом. Я хочу развиваться дальше и я хочу начать работать в окружении людей, заинтересованных разработкой.

Поэтому прошу совета у сообщества, может быть кто-нибудь готов порекомендовать или же предложить какую идею для моей дальнейшей реализации. Я буду безмерно благодарен любому конструктивному feedback’у.

о стажировочных программах в 2016 году в компаниях и организациях на территории Украины

На днях планируется очедедной выпуск Junior-дайджеста, там будут все стажировки, которые редакции удастся найти на ближайшее время.

github.com/...a/i/wiki/Як-почати-роботу

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

Посмотрите, например этот проект, там Angular используется:
github.com/...a/i/wiki/Як-почати-роботу

я порекомендую начать вести файлы для копи паста. то есть нада куда то вставать галерею — копируем с файла и вставляем код, меняем чуть чуть и в продакшн. или на кнопку жквори повесить, или к ангуляру сервис прикрутить — копируем и вперед. работу нада начинать искать уже сейчас

шел 2015 год... Для некоторых системы контроля версий и облачных сервисов не существовало, они копипастили нужную инфу в файлы

...и изобретали свои велосипеды...

Не знаю языка, учить фреймворки это круто, наверное. Ты будешь «классным» специалистом. Я уверен ты такой специалист и есть

ну не поверишь, так все и есть и при этом зарабатывают больше

Я не спец и я, возможно, даже хуже ТС. Изучаю все тоже самое только сам и уже месяца три, с каждым разом понимаю насколько ничтожны мои знания.
С каждой новой книгой или какими то видео, я понимаю что в целом я все знаю, но это мое «в целом» никуда не годное. То есть постоянно что-то новое узнаю из того материала который я вроде бы как уже прошел, но опа, нет тут то было. По этому считаю что нужно учить все что под руку попало. В данный момент я читаю основы программирования Семакина и что то вояю на паскале(кстати, помогает врубаться в то что не смог в JS). Читаю, как и ТС, Фленагана и попутно смотрю Зоракса, не брезгую и learn.javascript.ru иногда что то делаю на кодакадеми. В данный момент насилую гуглы и пытаюсь что то где -то писать, переписывать и пытаться что-то сделать(пока что нифига не выходит=)). Так что думаю что нам пока что просто еще немного рановато, что-ли. Удачи.

P.S Это я не советую, это я делюсь впечатлениями и пытаюсь подбодрить ) А ветка комментариев интересная, сам почитал, много чего узнал.

Тебе тоже успехов! Мне тут порекомендовали www.freecodecamp.com. Прекрасный ресурс, помог мне структурировать мои знания, познакомил с гитхабом и вдохновил на реализацию одной прекрасной идеи. Рекомендую! А по книгам начал читать Javascript Good Parts. И хоть один мой хороший друг, как и Юрий Ярош, говорит, что все это нереально устаревшее, фундаментальные блоки понимания архитектуры js данное произведение укрепляет надежно. Рекомендую!

Я согласен что это все старо. Но учить все то что предлагают тут, я думаю, нужно начинать именно с фундамента, идти по возрастанию, а то если сразу же хватать и учить модные фреймворки без знаний основ, то что, собственно, я там пойму ? Это как строить дом не снизу, а сразу же с 9го этажа, я понимаю что мир программирования очень «дивный» порой, но не настолько же=) Хотя я могу и ошибаться.

Как там адресная книга поживает? :)

Иными словами сейчас (по истечению 2 месяцев изучения javaScript ) я уже могу понять определённый код, например туже галерею с сладейром, однако затрудняют когда надо написать свой.
Або курси (чи навчання) були такими поганими або з вами щось не так.

Вы очень критичны. Позволю себе цитату Ричарда Олдингтона «Ничему тому, что важно знать, научить нельзя, — все, что может сделать учитель, это указать дорожки.»

Хотя вы правы в одном — мне стоит еще больше уделять время программированию и тогда со мной все будет в порядке

Вам нужно больше времени уделять практическому программированию. Придумайте какую-то задачу и реализуйте ее. Как только поймете что набрались опыта для реальных задач — ищите работу или займитесь фрилансом.

Спасибо за совет

frontend
более полгода
по истечению 2 месяцев изучения javaScript
javaScript (jQuery)
в одной из лучших школ Украины
К сожалению, вам соврали и школа далеко не лучшая. Или у них курс обучения года на 3 рассчитан. Фронтенд сейчас — это backbone, angular, ember, react и подобные, а не голый js+jquery.

Я думаю что каждый должен с чего начинать. Вы наверняка правы в отношении современных тенденций, но подступится к ним можно лишь изучив основы. И мне преподают их очень интересно и познавательно. То о чем вы говорите есть повышение квалификации

Сейчас «минимальный уровень познаний» для фронтенда очень высок.
Будет даже повыше чем в остальных сферах программирования — они менее востребованы, и там не так интенсивно всё развивается (меняется).

Прежде чем «давать резюме», нужно опробовать почти все существующие актуальные решения что бы правильно принимать решения касательно инструментариев и подходов к разработке — это может затянуться на пару лет, а не месяцев. Рассчитывать что «вот там вот есть какой-то умный дядька, который скажет как сделать» не приходится, так как он 100% тоже полезет в гугол за статьями/туторами/обзорами и документацией, что можно сделать и самостоятельно.

Пользоваться современным инструментарием не научит ни одна школа / книга / урок.
Нужно самому копаться и читать документацию, когда появляется школа / книга / урок — решение успевает за полтора-два года морально устаревать.

Желательно освоить основы node.js и базовые навыки администрирования linux, одних лишь навыков вёрстки и базового jQuery обычно недостаточно. В большинстве современных проектов jQuery/underscore etc считается «приветом из нулевых». Сейчас стоит разобраться с современными решениями для фронтенда — meteor, react redux ramda immutable rx highland. Angular не советую из-за того что первая версия успела устареть, а вторая пока не готова. У Ember как всегда проблемы со стабильностью и документацией, а про Backbone / Marionette вспоминать как-то уже не принято что ли. Можно глянуть mithril.js если не охота возиться с компонентным подходом react’a

Нужно разобраться в основных паттернах проектирования для gui приложений — MVC / MVP / MVVP и подобоных. Сейчас очень большой хайп вокруг «реактивных приложений» и вменяемых инструментов для их разработки не так уж и много. C ними связан всем известный Flux, хотя на самом деле его раньше называли CQRS-ES’ом. Flux поделок очень много, но обычно достаточно нормального EventSource в рамках redux.js.

Для фронтендов нужно обуздать ES6 + babel в рамках jspm c System.js github.com/systemjs/systemjs (не имеет ничего общего с тем о чём писал товарищ Олександр Лопатньов), и опционально TypeScript. Webpack / Browserify тоже успели морально устареть. Сейчас вся статика собирается в grunt / gulp пайплайнах, я использую gulp, с кучей препроцессоров / постропроцессоров. Я склоняюсь к node-sass или stylus postcss csscomb cssnano csslint, чистый рубисткий sass довольно медленный. C postcss постпроцессоров часто использую такие как cssgrace css-mqpacker csswring pleeease-filters postcss-color postcss-discard-empty postcss-focus postcss-media-minmax postcss-pseudoelements postcss-zindex, и конечно же autoprefixer. Спрайты ваяю в spritesmith, хотя под postcss есть postcss-sprites, но так уж исторически сложилось. Для livereload’a использую Browsersync. Да... о главном — из JS линтялок пользуюсь jshint eslint jscs.

Лишние CSS правила со сторонних библиотек обрезаю uncss’ом и краулером на Selenium’e, обычно geb или webdriver.io.

Тестирую адаптивную вёрстку по спецификациям в Galen Framework в Browserstack’e (он куплен) или на своих трёх ноутах :) и Android 4.2 / iOS когда денег на browserstack жалко. Тесты под react обычно пишу на jest’e, а функциональные браузерные на jasmine, хотя для node.js больше склоняюсь в сторону mocha + chai. Частенько приходится писать кроссбраузерные расширения, и тестить их нормально можно только в jasmine + webdriver.io, с кастомным testrunner’ом.

Таким вещам сейчас ни одна школа не научит.
И да... если этим занятся — вопрос о том «как запилить свою галерею?» отпадёт сам по себе.

Благодарю вас за такой содержательный ответ. Я дважды перечитал его, чтобы полностью понять суть изложенного. И прочитаю ещё не раз.

Я сегодня обновлю свой gulp-seed github.com/VoidNugget/gulp-seed
Не забудьте звёздочек поставить %)

Юрий Ярош наговорил столько, что не любой сеньер это все умеет/знает.

Я не перевариваю mithril и всякие подобные поделки из-за проблем с эскейпингом и проверками типов что сулит проблемами с безопасностью (XSS’ами) — они проектировались без учёта что их будут ковырять все кому не лень. Хотя была как-то мысля допилить mithril с Лео, правда свободное время появится не скоро.

* Да, и там опечатке MVVP => MVVM. Есть ещё всякие там HMVC в Kohana. Люди изобретают велосипеды потому что в рамках MVC отсутствует реюзабельный компонентно-ориентированный декларативный подход.

Что-то нынче комментарии на DOU содержательностью не блещут.
Печалит меня это немножко...

У Ember как всегда проблемы со стабильностью и документацией
Да, документация не успевает за новыми фичами. А ещё проблема у ember-data с отсутствием какой-либо гибкости, и решения не видно и близко.

Да, я крутился там ещё со времён первого SproutCore (где-то с 2008го) — ember использует очень узкий круг разработчиков, которые непосредственно вовлечены в его допилку, и допиливают под конкретные проекты своих студий / контор. По этому написание документации / приведение всего в божеский вид или привлечение адептов / хомячков просто никогда не было в приоритете. То что он OpenSource ещё не означает что его можно спокойно использовать — нужно ковырятся и допиливать. Вспоминается Cappuccino и его Objective-J в стиле «мы на столько любим яблоки, что портировали Cocoa под свой диалект JS’a ещё до того как это стало мейнстримом» %) А это был далёкий 2008-2009 год. Сам по себе ember можно рассматривать как отмазку «А зачем нашей конторе переходить на фреймворк Х, если у нас есть наш любимый SproutCore ?» длинною в 7-8 лет. Да и вообще задачи OpenSource проектов, особенности местного PR’a и камьюнити менеджмента — тема отдельного разговора :)

Все круто, підтримую! =)
Але щодо Webpack не згоден,
Webpack + React якраз набирають обертів
У підтвердження своїх слів — недавно Instagram переписали свій код на webpack+react
www.youtube.com/...CL6Nqm6Y&feature=youtu.be

«Якраз» !== «рік тому».

Ну от «недавно» це в 2014ому, а переписывалось в інстаграмі влітку 2014ого... що, власне, по сучасних мірках вже давненько. Webpack зазвичай використовують у випадку ванільного JS без трансплітерів, але той час вже минув. Для всіх хто хоч якось йде в сторону babel — набагато вигідніше обійтись в продакшені з jspm + systemjs, до того ж там є можливість нормальної взаємодії з http/2 для багатопотокового завантаження залежностей з CDN’ів та з серверу. ReactJS зараз йде в сторону ES6, тому його краще використовувать саме з babel’ом. В 2014ому для того ж instagram’у в ES6 не було надобності просто тому що його підтримка в React’і не була достатньо стабільною.

Я конечно совсем не гуру и мне еще многому нужно научиться, но, как мне кажется, реакту до нормальной поддержки ЕС6 еще очень и очень далеко. А насчет вебпака и бейбла — у нас на проекте как раз используется реакт + вебпак + бейбл и все прекрасно работает.

Что подразумевается под нормальной поддержкой ?
Миксинов никогда не будет — они не нужны в ES6, всё остальное уже есть в 0.14+
Я не говорю что вэбпак работать не будет — он просто избыточен и не предоставляет функционала который есть у jspm + systemjs, особенно критично отсутствие маппинга зависимостей и поддержки http/2.

Цілком реально знайти роботу де не буде всього цього лайна.

Так, звичайно.
Ніхто не заважає займатись розробкою на основі інструментів 7ми-річної давності, що вже 3 роки як вважаються застарілими, і працювати зі ставкою в 10-15 долларів на годину, в найкращому випадку.

працювати зі ставкою в 10-15 долларів на годину, в найкращому випадку
Это 1760 — 2640 в месяц. Что-то подсказывает, что ТС от такого бы не отказался :)

Вот ресурс с хорошими задачами, www.freecodecamp.com/map

Спасибо, добавляю в закладки

Как и большинство молодых разработчиков, я столкнулся с проблемой реализации своих навыков на примере реальных задач. Иными словами сейчас (по истечению 2 месяцев изучения javaScript ) я уже могу понять определённый код, например туже галерею с сладейром, однако затрудняют когда надо написать свой.
Если вы уверены что со знаниями проблемы нет, есть только проблема как применить это все на практике, то вам нужно больше практики (кэп). Только конкретно в вашем случае надо не полноценный проект делать (игру, сайт), а побольше мелких задач-упражнений делать. Делайте больше упражнений, чем предполагает ваш курс обучения.

Когда разберетесь как применять на практике каждый из кусочков ваших знаний, то встанет проблема как эти кусочки объединить в цельную программу или проект, вот тогда и беритесь за создание игры, микроблога, и т.д. В дальнейшем можете прокачивать скил работы в команде (хоть это и не обязательный скил), например можете делать проектик в команде таких-же учащихся как и вы.

Спасибо за советы. Возьму самое основное от каждого ответа и составлю график своего обучения

Мужики вы о чем вообще?! Какой github?! Какая своя простенькая игра?! Да эта игра будет заброшена после написания 500 строк говнокода.
Человек только освоил html и css. И только начал понимать javascript.
Сейчас нужно закрепить свои знания и набить сотни шишок. В книгах всегда все красиво и понятно. Но на практике всегда что-то работает не так. Нужно научиться решать проблемы. Нужно не просто писать так что-бы работало как нужно, а нужно понимать что и зачем ты делашь. Для этого нужно реализовать несколько полноценных проектов. И в каждом последующем — оттачивать свое мастерство. Думаю для начала, набор html, css, jquery вполне достаточный. Со временем и javascript сам по себе освоится. Не стоит заморачиваться чем-то другим. По крайней мере пока. Тем более javascript сейчас становится все более востребованым.
P.S. Кстати. Написать слайдер можно в несколько строк кода, нужно просто понять как разместить блоки и как ними манипулировать.

Какая своя простенькая игра?! Да эта игра будет заброшена после написания 500 строк говнокода.
и
нужно понимать что и зачем ты делашь. Для этого нужно реализовать несколько полноценных проектов.
не очень-то сочетаются.

Да, здесь не совсем ясно выразился. Имелось ввиду сверсать несколько сайтов.

И в чём же принципиальная разница между «простенькой игрой» и «сверстать несколько сайтов»?

Спасибо за ваш ответ

Есть прекрасный портал github.com. Находишь там проекты по интересу и контрибьютишь. И сообществу полезно и опыта наберешься. А так же будет что в резюме вставить.

осталось найти проекты где готовы принимать пул реквесты от полного нуба :)

Спасибо за совет. Попробую влится в github среду, не хочется разве что навредить.

Если будет плохой pull-request, то никто его не вмержит. А на ошибки укажут. Это кстати придает мотивации. Сразу станет понятно в какую сторону копать.

Хм... 7 месяцев назад также задался вопросом веб-программирования и начал изучать html + css, сделал простенький сайт визитку из 5 сверстанных страничек. Потом перешел на javascript, прочитал учебник на javascript.ru от начала и до конца где-то за 2-3 недели, задачи не делал а только смотрел решение и разбирался в коде. Параллельно с этим добавлял джаваскрипт на страницы своего сайта визитки, разобрался как должен работать слайдер и написал свой, разбирался в разных эффектах и анимациях, более детально работал с css. jQuery не рассматривал совсем, мне было интересно работать с базовым джаваскриптом а не готовыми библиотеками. Добавил новую страницу в виде интернет-магазина, на чистом js написал скрипты отображения товаров в разных разделах и категориях магазина, сортировку товаров, расширенный поиск, рассмотрел драг енд дроп в джаваскрипте, с его помощью сделал эмуляцию всех управляющих элементов на страницах вроде скроллов, чек боксов, селектов и всего остального. После этого перешел на чистый php без cms, переделал свои страницы в шаблоны, запилил скрипты для подгрузки шаблонов при переходе по страницам, авторизацию и регистрацию. Спроектировал базу данных на мускле, перенес туда все товары и написал скрипты подгрузки товаров в магазин из базы. После этого занялся фреймворками: yii2 для php и angular для джаваскрипта. Переделал свой сайт с использованием mvc паттерна, написал RESTful api на yii2 и фронтентд на ангуларе, разобрался с роутерами, пагинацией и всем прочим. После этого сделал все то же самое на react.js + reflux + zend framework + mongo db. Сейчас работаю в одном из лидеров рынка и вроде нормально себя чувствую. Но все это время я занимался только программированием, у меня не было работы или других отвлекающих дел.

Вы прошли интересный путь, я сохраню ваш комментарий. Так и думаю поступить — начну вверстать свой большой проект в свободное от учёбы время с последующим апгрейдом по мере получения знаний

интерестно интересно, а где товары были до этого если не в мускуле ? 10 товаров в хтмл были или в хмл ? нафига магазину рестфул апи ?

товары хранились в локал сторедже, куда загружались из отдельного файлика) на то время большего мне было не нужно для писания скриптов на джаваскрипте) А насчет рестфул апи — тут вопрос не в том нужен он магазину или нет, все дело было в желании научиться писать апи на пхп.

ты наверное забыл добавить, что перед этими 7-ю месяцами ты закончил КПИ по специальности программирование и лет эдак 7 кодил на каком нибудь Java )))

Это была весна этого года и я как раз заканчивал 4 курс Львовской Политехники на кафедре САПР, ну и весь мой опыт с джавами и другими вижуал бейсиками сводился к лабам в универе) думаю сами догадаетесь о их полезности. Кстати заняться вебом меня подстегнули именно лабы и контрольная по Веб дизайну и программированию на 4 курсе)

Интересно, надо взять на заметку

Только практика, только хардкор!
Нуу, я так понимаю, у тебя сейчас тот самый плохой момент, когда ты прочитал кучу всяких умных томов по 1000 страниц, прошел всякие курсы «делаем объектик, наследуем его, вот и ООП подъехало», а как из этого слепить практическое что-то и с какой стороны — нипанятна :c

Так что только практика спасёт тебя и поможет осознать как использовать инструменты и свои знания. Качай бесплатный шаблоны, верстай, делай их интерактивными, чики-брики там всякие, пили простенькие игрушки. Не знаешь как? Гугли готовые и смотри код.

Все именно так и обстоит. Делаю работу в команде под руководством на курсах — все понимаю. Сам работаю — возникают проблемы. Читаю книги или же делаю задание на онлайн курсах — все вроде понятно, а какаято своя инициатива и все ступор. Лезу в гугл или же в свой ранний код.

Сейчас сделай простенькую игру, а лучше две

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

так знания просто так не появятся — гугл — как сделать игру на джсе — читаете — делаете, опа вот и знания подошли

п.с. помоему это уже тут говорили тысячу раз, но бытие инженером это не «знать все» а просто знать что если припечет то вы сможете прогуглить тулзы\либы и сделать все что угодно, пускай с первого раза не на топовом уровне, но хоть както

Подписаться на комментарии