• Какие практические javascript-задачи должен решать front-end разработчик?

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

    Опять же, на подобный вопрос я уже отвечал какое-то время назад.
    Ответ написан
    Комментировать
  • Каких знаний вполне достаточно по верстке для фриланса?

    5angel
    @5angel
    Фронтенд-лид
    Основная масса заданий, которые скидывают на фриланс – сверстать шаблон под WordPress, Drupal или Битрикс, приклеить дизайн к интернет-магазину и прочее, где, вроде бы, и не нужно много делать, но самому заказчику (как правило, такому же ИП или фрилансеру) некогда разбираться.

    Далее идут разные не IT-ориентированные компании, которым нужно быстро разместить свои контакты и начать закупать рекламу в «Директе», что для вас, скорее всего, оборачивается еще одной устаревшей и давно покинутой создателями CMS.

    И уже потом идут люди, которые действительно ищут верстальщика (или фронтендера) для удаленной работы. Простой версткой здесь уже не обойдешься.

    Быть может, здесь и не нужно идеально знать javascript, но точно стоит понимать, как работают JQuery, Bootstrap и другие современные библиотеки и фреймворки. Однако с серверными языками рано или поздно придется столкнуться, потому что не все заказчики знают, где кончается работа верстальщика и начинается серверный код. Так что на вашем месте я бы уж точно озаботился чтением документации по тому же PHP или Python.

    И конечно, куда же без любимого Photoshop'a! Навряд ли вам на первых порах попадется дизайнер, который умеет правильно работать с вебом и экспортировать графику, так что, скорее всего, нарезать и доводить отдельные вещи придется своими руками.

    Так или иначе, одним тупым HTML/CSS сегодня уже не обойдешься, как я уже писал.
    Ответ написан
  • Как вести себя на первом собеседований?

    5angel
    @5angel
    Фронтенд-лид
    Процитирую собственную статью:
    • Подавите волнение. Тремор, скрип в голосе, заикание и различные тики выдадут вас с головой и сделают разговор невыносимым для обоих сторон. Наверняка здесь могут помочь только алкоголь или медикаменты. Чтобы чувствовать себя уверенно в любой обстановке, придется долго практиковаться. Поэтому так важно принимать участие в публичных выступлениях.
    • Заготовьте интересный рассказ о себе. Даже если вы всю жизнь занимались какой-­то чушью, попытайтесь слепить из нее историю, которую не стыдно будет пересказать.
    • Изучите матчасть. Найдите типичные вопросы, которые задают по вашему профилю. Если вы что­-то забыли, говорите об этом прямо. Никто не любит длинные паузы или уход от ответа.
    • Проявите инициативу. Расспросите о процессах внутри компании, об используемых технологиях. Узнайте, чего от вас ожидают. Предлагайте решения.
    • Не говорите лишнего. Идеальных работников не существует, но о каких-­то поблажках легче будет договориться, когда руководство убедится в вашей надежности.


    Но меня в вашем вопросe смущает один момент. ВЫ НЕ ПОНИМАЕТЕ, КУДА ИДЕТЕ – как так можно? В вакансии не были описаны требования и обязанности? Вам просто позвонили и ничего не сказали? Написали письмо? Пока ничего не понятно, нужно больше информации.
    Ответ написан
    Комментировать
  • Из senior в lead, процесс?

    5angel
    @5angel
    Фронтенд-лид
    Проблема, в том, что единого стандарта грейдирования не существует – каждая компания пытается выстроить из подручных вещей собственный велосипед (или же арендует чужой). Различия могут доходить до того, что оценка специалиста двумя фирмами будет диаметрально противоположной (за нижнюю границу принимаем миддла, хотя у кого-то и для джунира будет несколько грейдов).

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

    Есть и другой вариант – походите на собеседования и спросите у тех, с кем будете разговаривать. После десятка-другого встреч у вас вполне должно сложиться понимание того, что происходит на рынке.

    Если говорить о себе, то я стал лидом самым банальным образом – откликнулся на вакансию, уже имея опыт руководства коллективом и ведения проектов. Никто не мешает вам получить соответствующий опыт и самому – поучаствуйте в любительских начинаниях, откройте свой бизнес, организуйте что-нибудь внутри вашей текущей работы.
    Ответ написан
    Комментировать
  • Можно выразить благодарность?

    5angel
    @5angel
    Фронтенд-лид
    Ответ: Да.
    Ответ написан
    Комментировать
  • Как разобраться с локальными и глобальными методами?

    5angel
    @5angel
    Фронтенд-лид
    Правильно – завернуть в отдельный скоуп. Например, в самовызывающейся функции:

    (function () {
      var foo = "bar";
    })();
    console.log(foo); // Uncaught ReferenceError: foo is not defined
    Ответ написан
    Комментировать
  • Что выбрать с таким портфолио: фриланс или офис?

    5angel
    @5angel
    Фронтенд-лид
    Линус на аватарке? Серьезно? Поставьте реальную фотографию. Укажите свой возраст. Опишите, чем вы действительно занимались все это время, а не просто по строчке для каждой позиции.

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

    Профиль во вконтаче, раз уж на то пошло, выглядит куда презентабельнее.

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

    С работой в офисе, опять же, все не намного лучше. Недостаток финансов, если не обанкротит отдельные компании, то точно приведет к сокращению персонала, в том числе и среди разработчиков. Что-нибудь в районе 60 000–80 000 руб. (сильно зависит от конкретной вакансии), думаю, будет.

    Если интерес фриланс, я уже давал рекомендации здесь.
    Отдельный разговор про портфолио.
    Также можно почитать мою статью про поиск работы.
    Ответ написан
    Комментировать
  • Как быстро продвинуться в верстке вэб сайтов?

    5angel
    @5angel
    Фронтенд-лид
    Ответ написан
    Комментировать
  • Стоит ли упражняться в программировании "на скорость" для подготовки к собеседованиям?

    5angel
    @5angel
    Фронтенд-лид
    Реальная работа, все же, отличается от олимпиадного программирования.

    Задачи, которые дают на собеседовании (если только вы не устраиваетесь алгоритмистом, конечно), предполагают решение за 10-15 минут, а чаще и того меньше. Цель собеседующего здесь – не измерить скорость мышления, а посмотреть, как в целом кандидат подходит к решению задачи – знаком ли он с теоретической частью, задает ли уточняющие вопросы, в правильную ли сторону мыслит.

    Возможно, данный ответ неверен для отдельных организаций, но на моей практике таковых не было.
    Ответ написан
  • Front-End Developer Junior - тяжело ли устроиться на удаленную и постоянную работу?

    5angel
    @5angel
    Фронтенд-лид
    Вопрос о необходимости высшего образования в IT задают так часто, что диву даешься.

    Отвечаю: НЕТ, важны ваши реальные навыки, потому что даже красный диплом не гарантирует качественной работы, которая сделана в срок.

    По поводу сложности устройства – it depends – совсем junior'у, наверное сложно, потому что компании в основном ищут на удаленку уже опытных спецов, т.к. на обучение новичка будет тратиться время более дорогих сотрудников. Так что я бы для начала советовал прокачаться на обычном фрилансе. Вполне возможно, что кому-то из заказчиков вы понравитесь, и он будет работать с вами на постоянной основе.

    Если вам интересна карьера фронтендера, можете почитать другие мои ответы по теме:
    Как быстро подтянуть уровень
    Как подготовить собственный проект
    Как продвинуть себя
    Ответ написан
    1 комментарий
  • Как разбить элементы на колонки?

    5angel
    @5angel
    Фронтенд-лид
    Не проще ли сверстать этот список так, чтобы элементы сами разбивались на три колонки?

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

    5angel
    @5angel
    Фронтенд-лид
    Немного удивил сам факт такого вопроса. Вы же сами распространяете игру в том числе через соц. сети, должны знать, что там больше встроенных возможностей как для привлечения людей (пригласить друзей, поделиться результатами), так и для монетизации – пользователю пожертвовать «голосами», которые он уже положил на счет, гораздо легче, нежели снова возиться с карточками или другими сервисами в случае, если вы подключаете агрегаторы (вот уж куда вы действительно можно спустить много человекочасов). Вот уж сомневаюсь, что затраты на разработку мобильных приложений будут ниже, чем адаптация под соцсети.

    Я бы лучше посоветовал работать над качеством самой викторины – сейчас это довольно тупая отгадывалка, которая ничему не учит и никак не стимулирует игрока. В целом, качество оставляет желать лучшего. Это нужно исправлять.
    Ответ написан
    2 комментария
  • Как двигать Google Maps после инициализации?

    5angel
    @5angel
    Фронтенд-лид
    Ответ написан
    Комментировать
  • Как менять стили с помощью Angular.js?

    5angel
    @5angel
    Фронтенд-лид
    Добавляем в $rootScope булевую переменную, которую на внутренних страницах будем менять на true. Для необходимых элементов добавляем ng-class, зависящий от данного значения. Как раз он и будет добавлять класс (для таких вещей не надо использовать id).

    Далее прописываем в css стиль с отступом, радуемся.
    Ответ написан
    Комментировать
  • Быдлокодер PHP, перейти в геймдев, что выбрать, что перспективно для инди-разработки?

    5angel
    @5angel
    Фронтенд-лид
    Вопрос поставлен некорректно. Выбирать нужно не между отдельными платформами, а между конкретными технологиями, потому что тот же Unity3D позволяет компилировать как под мобилки, так и под десктоп. Можно взять CRYENGINE и начать выпускать игры для PlayStation и Xbox. Или Unreal – для него вообще не важно, какая платформа. Собственно, максимальная кроссплатформенность – это наше настоящее и ближайшее будущее.

    К тому же, кто мешает разрабатывать игры на PHP? Да, придется подучить клиентскую часть и немного матана, но зато вы сможете создавать полноценные онлайн игры (хотя сервер лучше писать, конечно, на Java).

    Flash понемногу уходит в прошлое. Естественно, еще остается достаточно длинный шлейф из компаний, которые клепают на нем казуальные игры, но никакой перспективы здесь уже нет. Разве что можно научиться клепать на нем интерфейсы при помощи Scaleform.

    И раз уж на то пошло, сделать свою игру можно и на RPG MAKER или Ren'Py (если вам нравятся визуальные новеллы). Невероятно, но факт – игры на этих движках собирают деньги на Kickstarter и проходят Steam Greenlight.

    Так что если вы хотите примкнуть к инди-сцене, я бы посоветовал для начала определиться с тем, к каким играм ваша душа лежит больше, и проштудировать книжки по гейм-дизайну. Если игра действительно интересна, вам могут простить технические огрехи.
    Ответ написан
    Комментировать
  • Можно ли осуществить слияние изображений на JavaScript?

    5angel
    @5angel
    Фронтенд-лид
    Вариант для увлеченных – перегнать обе картинки в base64 и слить побайтово, после чего вывести с помощью data:URL
    Ответ написан
    Комментировать
  • Каким должен быть собственный проект для устройства на работу?

    5angel
    @5angel
    Фронтенд-лид
    Свои проекты показывать можно и нужно. А лучше всего – не просто показать, а рассказать о том, как шла разработка, с какими проблемами вы столкнулись и как их решали. Если вы таким образом хотите повысить свои шансы на получение работы, то проект должен показать, что вы хорошо владеет предметом как с теоретической, так и с практической точки зрения. Я говорю здесь даже не о Ruby, интересные вещь можно написать на любом языке.

    На что нужно обратить внимание:
    Архитектура. Грамотно спроектированная система – залог успеха всего предприятия.
    Производительность. Здесь можно показать как алгоритмическую подготовку и умение работать с базами данных, так и знание особенностей конкретного языка.
    Тестирование и документация. Покрытие тестами и описание функционала, начиная от основных модулей и заканчивая отдельными функциями – тот идеал, которого стараются (но не могут) достигнуть во всех уважающих свою разработку компаниях.

    Если у коллег есть какие-либо дополнения, прошу (:
    Ответ написан
    11 комментариев
  • Как быстро подтянуть свой уровень веб-разработчика, чтобы соотвествовать требованиям работодателей?

    5angel
    @5angel
    Фронтенд-лид
    Давайте обратимся к данной публикации, чтобы понять примерные тренды, потому что наиболее выгодный вариант – это все же фронтендер.

    Вкратце, полноценный клиентский разработчик должен знать:
    – html5/css3 + bootstrap
    – один-два препроцессора (less/stylus)
    – чистый js и пару-тройку клиентских библиотек или фреймворков (knockout/backbone/angular/react)
    – немного node.js, чтобы уметь пользоваться пакетным менеджером (npm) и билд-менеджером (gulp/grunt)

    Этот список покрывает большинство клиентских задач в средней студии или стартапе.

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

    Другой вопрос – что со всем этим делать.

    Я обычно предлагаю попытаться начать свой маленький проект. Какой-нибудь простенький личный сайт, игру на js (тот же flappy bird или 1048 – много ума здесь не нужно). Посложнее – свою тему или библиотечку. Это будет хорошим практическим опытом, который не стыдно описать в резюме.

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

    Если говорить о личном опыте, то я неплохо подтянул js с помощью codewars – задачки начинаются от самых простых (преобразование строк, перебор массива), до очевидно тяжелых (собственные интерпретаторы и преобразование данных изображения).

    А вот попытка спихнуть на верстальщика UI/UX – это уже экономия со стороны отдельных контор, которые по какой-то причине не хотят нанимать отдельного дизайнера/проектировщика в штат или по контракту. Тут, к сожалению, придется мириться и смотреть статьи по теме – тот же GoodUI.
    Ответ написан
    10 комментариев
  • Создание динамической интернет страницы на чем?

    5angel
    @5angel
    Фронтенд-лид
    Очень похоже, что перед вами стоит задача создать RIA.

    Соответственно, здесь нужно быть хорошо знакомым с javascript'ом, чтобы иметь возможность полноценно использовать разные MV* фреймворки и библиотеки, например, тот же Angular или Backbone.
    Ответ написан
    Комментировать
  • Как закрыть все toggle кроме одного?

    5angel
    @5angel
    Фронтенд-лид
    Брр. Из описания сложно понять, что вообще происходит и что нужно сделать, но я попытаюсь.

    Если я правильно угадал, нужно сделать следующее:

    $('table tbody tr.click').click(
      function () {
        var next = $(this).addClass('open').next('.description'),
            shown = (next).is('visible');
    
        $('.description').hide();
    
        if (!shown) {
          next.show(); // показать, если элемент скрыт
        }
      }
    );
    Ответ написан
    5 комментариев