• Шаги становления хорошего фроненд разработчика?

    Всякие HTML, CSS и JavaScript учатся вполне себе линейно по всяким htmlbook.ru и learn.javascript.ru
    Параллельно обязательно разбирайтесь с Git, Grunt/Gulp, препроцессоры (LESS, Sass, Stylus), автопрефиксер, популярные фреймворки (Bootstrap, Foundation, Axis). Бесят потому что верстальщики, проставляющие вручную префиксы (актуальные? хрен его знает!), потом пакующие всю верстку в архив и пересылающие по почте. Не надо так, вот.
    Ответ написан
    2 комментария
  • Шаги становления хорошего фроненд разработчика?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Мое мнение - хорошему фронтендеру нужна такая же база, как и любому другому разработчику.
    1. Алгоритмы/структуры данных, опыт программирования, например C++
    2. Язык javascript, изучить тонкости и понимать отличия от других платформ.
    3. базовые веб-технологии (протоколы, как устроен браузер, веб-сервер и тп)
    4. HTML5, CSS3, Javascript в браузере. На этом же шаге можно ознакомиться с историей js-технологий. Посмотреть старые фреймворки, какие задачи они решали.
    5. jQuery на уровне понимания устройства
    6. CSS-препроцессоры, методологии, шаблонизаторы, CSS-фреймворки Bootstrap и пр.
    7. MV* фреймворки и практика реализации SPA
    8. Производительность на клиенте, оптимизация всего.
    9. Специализированные фреймворки по вашей теме
    10. Инструменты vcs, node.js инфраструктура, билд, CI, командная разработка

    Сейчас в вакансиях происходит тенденция совмещения интерфейсов и фронтенда, что нельзя считать хорошим признаком. Все-таки стоит отличать чистое написание клиентского js-кода, качество которого играет роль, и верстку/интерфейсы/лейауты, их тестирование, адаптацию под разные платформы и тп
    Ответ написан
    4 комментария
  • Шаги становления хорошего фроненд разработчика?

    mudrenokanton
    @mudrenokanton
    frontend dev
    А какие у вас цели?
    Если хотите работать на хорошую компанию, то лучше смотреть по вакансиям, например, тут.
    Я считаю что это — минимум, но целится лучше на что-то такое или выше.
    В плане порядка изучения советую поступать таким образом("книгу" можно заменять на "сайт" или "документацию"):
    1) прочитали книгу по CSS+HTML, сверстали несложный сайт
    2) прочитали еще одну книгу по CSS+HTML , сверстали что-то посложнее
    3) та же история с JavaScript, первая книга — выполняете упражнения, потом пишете что-то несложное, потом читаете другие книги в стиле best practices. Вот вам список книг и навыков, которые требуют от студентов в одной из фирм.
    4) изучаете "плюшки", тут лично мои предпочтения: JQuery, SCSS, Jade, ES6, gulp, InternJS, BackboneJS. Тут все изучается по документациям, хотя книг по JQuery тоже много.
    5) можете зацепить backend и NodeJS если вам интересно, минимум — понимать что и как там происходит, почитать про RESTful и MVC на серверах
    6) базовые понимания и знания дизайна и сопутствующего софта
    —> дальше пункты которые касаются слова "Хороший"
    7) поиграться с 2D-3D графикой, анимациями и разными библиотеками с ней связанными
    8) совершенствовать свои навыки во всех пунктах выше(оптимизация, best practices), изучать самые интересные решения на разных сайтах, интересоваться всем новым и много практиковаться
    Ответ написан
    Комментировать
  • Что делать, если не придет оплаченный лот с indiegogo?

    opium
    @opium
    Просто люблю качественно работать
    1)Нет это же стартапы
    2)Особо ничего и не сделать
    3)Деньги вам вернут
    Ответ написан
    3 комментария
  • Что собой представляет верстальщик и какая его перспектива?

    @Yago
    1) Перспектива такова, что все больше и больше функционала начинает генерироваться с помощью функционала браузера. Очень активно развивается пласт front-end разработки.

    2) Для верстки перечисленного Вами достаточно. Но всегда есть куда развиваться дальше: js mvc-фреймворки, особенности поведений браузеров и различных устройств для отображения html, BEM, polifiller и т.д.

    3) front-end ninja, который разрабатывает полноценные приложения, работающие в браузере клиента. Думаю, в будущем даже все поделится на back и front тимлидов в компаниях.

    4) Тут все зависит от многих факторов и сложности задач. Одно дело, когда на сайте один слайдер и пара менюшек, и совсем другое когда помимо верстки надо сделать всю front-end логику какого-нибудь интернет-магазина.

    Исходя из этого, я думаю, что плох тот верстальщик, который не мечтает перейти на сторону полноценного front-end программирования приложений. Если не стремиться к этому, расти дальше некуда. Поэтому не рекомендую сосредотачиваться только на верстке.
    Ответ написан
    Комментировать
  • Действительно ли back-end разработка более консервативна, чем front-end?

    hrls
    @hrls
    Половина ответа в вопросе, но дьявол в мелочах.
    Действительно, для относительно продуктивной backend-разработки практически на любом языке программирования необходимо знать несколько базовых фреймворков и тулов, которые решают большинство задач. Это скелет ~90% приложений сложнее hello world. Хотя и этот скелет меняется и развивается, пусть и не так быстро как хотелось бы, как разнообразные отростки (не консервативность, но более долгий жизненный цикл). Суммарный вес технологий и инструментов не меньше, и уж точно не менее динамично изменяющийся, чем у frontend-разработчиков.
    Далее личный опыт на примере Java.
    Лет 7-8 тому достаточно было знать Spring, Struts, Hibernate да Apache Commons в довесок для разработки большинства решений. Ну и J2EE-стек для задач Enterprise-уровня.
    В году 2014 Spring, Hibernate все также в арсенале программиста, но появилась куча абсолютно новых вещей вроде AMPQ, Hadoop, Netty, Scala с функциональной парадигмой, мультиязычные окружения с Clojure/Groovy/JRuby; стали чаще встречаться альтернативные реализации популярных библиотек (например Guice / Guava); старые технологии вроде J2EE стали использоваться несколько реже. А одних только Key-Value хранилищ, кэшей и прочих NoSQL как грязи. Изменился даже сам подход к построению приложений – мало кто в 2005 слышал про asynchronous event-driven модели и отталкивался при проектировании от REST-стиля (собственно, там и корни frontend-девелопера как отдельной специализации). Про эволюцию систем сборок, VCS, бенчмарков и прочих "микро"-элементов можно расписывать не одну простыню.
    И да простят меня frontend-товарищи за, возможно, чванливый тон, но раскурить тонкости работы async IO в зависимости от ОС-специфики вроде epoll/kqueue или учитывать CAP-теорему при построении middleware-кэша это уровнем сложности повыше, чем новый CSS-препроцессор и CoffeeScript c очередным MVC / MVVM-фреймворком. Некоторые задачи, вроде синхронизации потоков, так и вообще лежат большей частью в области математики.
    Уверен, что и в frontend-разработке существуют задачи сложнее и интереснее поехавшей на пиксель верстки и обновления полей после парсинга JSON, но ИМХО backend-разработка ближе к системному программированию старой школы, в то время как frontend суть прикладное программирование с примесями дизайна.
    Frontend-инструментов больше, backend-инструменты сложнее.
    Ответ написан
    4 комментария
  • Фриланс после 30

    IonDen
    @IonDen Куратор тега IT-образование
    JavaScript developer. IonDen.com
    Не нужно вам идти в верстку, там сейчас ну очень много людей, особенно в самом низу, буквально толпы начинающих, большинство из которых там и останется. Слишком простым кажется это все со стороны, но в реальности, на денежных заказах — там сущий ад. А уж если это не только верстка, а еще и фронтенд, где нас накрывает JavaScript и лавина из миллионов библиотек, плагинов, технологий и прочих ноу хау под JS или jQuery, то вам совсем не нужно соваться в эту адскую смесь.

    Действительно возьмите один из языков программирования, желательно тот что используется в мобильных платформах и изучайте, там хотя бы все достаточно строго, и всегда будет понятно, куда двигаться дальше, каких знаний еще не хватает. А там, помимо основной работы, может и параллельный заработок будет на продаже приложений в апп сторах и т.п. магазинах.
    Ответ написан
    Комментировать
  • Фриланс после 30

    EugeneOZ
    @EugeneOZ
    Далась Вам эта вёрстка — угрохаете кучу времени на "кнопочку вот тут поправить", а заказчик не будет платить за потраченные часы, потому что "ну что там делать-то, кнопку подвинуть на 2 миллиметра, любой студент справится".
    Делайте то, за что платят по часам и что не кажется незначительным в глазах заказчика.
    Не знаю, достаточно ли у вас для этого знания — предложите свои услуги по настройке VPS в облаках, обучитесь работе с сервисами AWS, всякие там балансеры, кластеры, бэкапы, репликации, роутинги… Всё это магия для заказчика, они понятия не имеют, как это работает и готовы будут вам заплатить за настройку т.к. понимают, что сами ни в коем случае это не сделают. В вёрстке не так — большинство задач в вёрстке не критично влияет на денежный поток, поверстать может любой программист в свободное время. А настроить кластер из десятка нод баз данных сможет далеко не каждый программист.
    Ответ написан
    Комментировать
  • Фриланс после 30

    pomeo
    @pomeo
    вёрстка это ад, в том плане, что вы начинаете снизу, а снизу ад. Денег вообще не заработаете, конкуренция дикая. Я тыкал Codecademy что у них там в html,css предлагается, это ни о чём, к реальности не имеет никакого отношения.
    Не проще использовать те знания которые есть у вас сейчас, вы 13 лет проработали эникейщиком. Есть куча компаний у всех из них есть парк компов, всех их надо периодически обслуживать, держать им админа смысла нет, почему бы не быть эникейщиком на аутсорсе, я думаю посыл понятен.
    Ответ написан
    2 комментария
  • Си в качестве «первого» языка

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Мой совет начинать в таком порядке, свою карьеру программером:

    1) Плаксин.М «Тестирование_и_отладка_программ». Начните ковыряться с существующими программами, за основу можно взять calc.exe или еще что-либо. Умение тестировать дает возможность беспощадной работы со своим собственным кодом за который вы будете в ответе перед своими коллегами. Это очень полезный навык, пусть даже в минимальном объеме но программер должен уметь тестировать!

    2) Язык С среди компьютерных языков сейчас занимает туже роль что и Английский среди человеческих. Зная С вам легче будет понять другие!

    3) Никогда не делайте ничего что лично Вам хоть как-то не интересно. Любой проект, любая задача, любое действие должно быть интересно не только поставившему вам задачу, но и лично Вам!

    4) Алгоритмы, без них никуда! Чем больше вы их знаете и умете применять на практике и давать оценку по сложности, тем лучше!

    5) Паттерны, это имеет смысл когда у вас хоть какой-то опыт программирования. Хотя бы 20 программ напишите, потом поймете сразу что на практике вам встречалось, а что нет. Будете отчетливо понимать чем конкретно тот или иной паттерн может вам помочь.

    6) Будьте прагматичны! Любое действие должно Вас приводить к какой-либо ранее поставленной Вами цели.

    7) Почитайте «Мифический человеко-месяц» Брукса. То что изложено в книге нужно понимать для того чтобы знать какие конкретно задачи следует выполнять, а какие нет! Умение поправить руководителя правильно и корректно, причем аргументировано дает Вам возможность принести больше в программный проект и следовательно даст Вам преимущество перед коллегами.
    Ответ написан
    1 комментарий