• Почему не работает код навигации одностраничника?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    в строчке dirPos = dirSection.offset().top;
    валится с ошибкой "Cannot read property 'top' of undefined"

    то бишь dirSection.offset() возвращает undefined
    Ответ написан
  • Какие книги читать в первый год обучения C#?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Читайте Рихтера наверное. Если английский не проблема - лучше в оригинале. На перевод многие жалуются.
    Ответ написан
    Комментировать
  • Адаптация на сайте через Jquery, хорошо или плоха?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Думаю, сбалансированным ответом будет такой: лучше обходиться стилями, но реальность такова, что там где применение CSS невоможно (или неоправдано трудоемко), использовать JS можно и нужно. Желательно стремиться к тому, чтобы код, отвечающий за адаптацию был по возможности внятным и кратким. Ну и чтоб не перемещивался с клиентской логикой.
    Ответ написан
    Комментировать
  • Методы оптимизации AngularJS?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Парочку советов найдете тут - Top 18 Most Common AngularJS Developer Mistakes
    Ответ написан
    Комментировать
  • Как проверить сайт на битые ссылки?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если быстро вручную - www.brokenlinkcheck.com
    Подобных сервисов достаточно.
    Ответ написан
  • Как исправить ситуацию на Upwork?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если готовы пройти нашу не самую простую процедуру отбора, давайте к нам в Toptal. Наш саппорт сам вас найдет и все расскажет :)
    Ответ написан
  • Как начать работать удаленно?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Попробуйте поработать сначала из дома над текущим проектом. Договоритесь с работодателем, скажем на день с неделю. Посмотрите, что получится. Если появятся сложности, проанализируйте и исправьте. Не все могут работать удаленно. Когда вы поучувствуете, что в состоянии в одиночку взять проект и выполнить его - найдите и поработайте над парой-тройкой проектов на биржах или найдите удаленные заказы еще где-то. Если все пойдет хорошо - можно начинать работать всерьез. Я много писал на тостере по данной тематике - можете посомтреть мои сообщения в профиле.
    Ответ написан
    Комментировать
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    На мой взгляд (не претендую на истину в конечной инстанции, разумеется) опытный разработчик как раз характеризуется умением извлекать опыт и профессиональный интерес из любых проектов. Даже когда приходится работать над очередным "скучным" проектом, всегда есть поле для повышения квалификации. Иными словами, учитесь видеть в рутине изюм :) Опять же - только выполнив десятка два "типовых" проектов, понимаешь что в них "типового" и как может быть сделано иначе. Это и есть опыт.

    Относительно востребованных технологий в веб разработке, сейчас лидирует JavaScript (во всем многообразии фреймворков и библиотек). Очень советую добавить эти "патроны" в свой "патронташ" навыков. В плане PHP - более или менее серьезные проекты требуют, помимо умения работать с распространенными CMS и фреймворками, также достаточно глубокого понимания архитекутры этих самых CMS/фреймворков, умения органично расширять их, ну и работать с самим языком в разных парадигмах (ООП в частности). Иными словами хорошо, когда перед выполнением проекта у вас есть более одного варианта как можно решить задачу и вы имеете возможность осознанно выбрать лучший в данном конкретном случае вариант. Иными словами, профессионализм - это когда вы знаете, что не существует "единственно верного подхода" для решения всех задач. То есть для каждой задачи есть более и менее "правильные" способы решения, и вы можете объяснить другому - почему каждый их них подходит / не подходит.

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

    Фриланс. Конечно же помимо профиссиональных навыков непосредственно, в этом деле важно развить и другие вспомогательные но не второстепенные навыки. Среди них я бы отметил следующие:

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

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

    3. Коммуникация. Еще раз - важно уметь нрамотно и понятно излагать свои мысли по существу. Как на родном языке, так и на английском (обычно). Тут важно все - от грамматики, до умения вести переписку. Очень плохой эффект имеет письмо от "профессионала", который пишет с ошибками или забрасывает длинными письмами с неопределнным потоком мыслей и темой вроде "по нашей беседе". Ну и иностранный язык - это обязательно. Можно, конечно, всю жизнь работать с соотечественниками, но это, как правило, будет работа в аутсорсинговых компаниях. Отечественный рынок фриланса - выполнение обычно не слишком замысловатой работы при достаточно скромных бюжетах. Западные компании начали "информатизироваться" давно и даже непрофильные компании часто имеют достаточно серьезную IT инфраструктуру.

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

    Надеюсь, мои соображения будут полезны. Нюансов много, но основные, думаю, мне удалось упомянуть.
    Ответ написан
    Комментировать
  • Где взять бесплатные адаптивные psd макеты?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Шаблоны тем для wordpress обычно содежат исходные PSD-шки. В сети много постов о XX лучших бесплатных тем - можно погуглить по запросу вроде "free responsive wordpress themes"
    Ответ написан
    Комментировать
  • Как эффективно изучать JS?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Только практический опыт позволит за пару-тройку лет в достаточной мере осознать JS и области его применения (на клиенте и/или сервере, для реализации всей логики и/или только определенного уровня в классической многоуровневой архитектуре, или вообще - только частичного применения для частных задач вроде валидации/анимации вкупе с прочими технологиями вашего основного стэка).

    Важно также понимать разницу между:
    • JS как языком программирования,
    • использованием JS в той или иной парадигме программирования (на нем можно работать и в функциональной парадигме, и в ООП и других при желании)
    • использованием многообразных JS фреймворков с лежащими в их основе архитектурами и подходами
    • использованием JS библиотек/компонентов

    Язык сам по себе такой же простой как любой другой - десяток условных операторов и циклов крестом :) В этом плане тут все просто.
    Ответ написан
    2 комментария
  • Фриланс. Рассматривать ли российские биржи?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Рассматривать надо все, что вам объективно подходит. Если хорошо с англйиским - имеет смысл рассматривать и англоязычные ресурсы, немецким - немецкие и тп. При этом никто не мешает продолжать просматривать варианты на русскоязычных сайтах.

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

    Если вы живете на фрилансе (а не просто пытаетесь срубить пару баксов, подрабатывая на основной работе в рабочее вермя, задвигая свою основную работу, типа у меня остается свободное время на работе), то у вас всегда есть моменты когда у вас либо есть проект либо нет. И вот когд апроекта нет (и скажем, нет заначки чтобы просто не работать и немного отдохнуть) я думаю, что нужно рассматривать все варианты. Если лучшей работы нет можно взять что-то и подешевле. Скажем выбрать что-то где помимо заработка есть шанс познакомиться с чем-то интересным и немного прокачать себе скилсет. Ну или просто тематика проекта (его прикладная область) вам будет интересной.

    В общем если цель - стабильные нормальные деньги - устраивайтесь в офис. Если пока не берут - качайте недостающие скиллы. Офисный опыт вообще очень полезная штука - всем советую начать с этого перед тем как ломиться на рынок фриланса и создавать там потом демпинг низкоквалифицированными руками :)

    Offtop: А то насмотрятся картинок "с ноутбуком под пальмами" сделают один сайт приятелю по классу и давать лезьть во фрилансеры :) Вы вообще пробовали на солнце под пальмой что-нить рассмотреть на экране ноутбука? :)
    Ответ написан
    Комментировать
  • Какой банк выбрать фрилансеру в РФ с ИП для открытия р.с.?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Пользуюсь ВТБ24 как ИП и как физик. РКО по одному счету стоит 1100 р в месяц если были операции. По стоимости считаю приемлемым. Онлайн банк для ИП, конечно, убогий (работает только в IE, требует доп.софт, все какое-то неудобное и кривое), но опять же - приспособился. Получать деньги - это не самые плохие хлопоты. Валютный контроль проходить приходится через отправку писем по внутренней системе сообщений. Автоматизацию там какую-то сделали, но я не понял как она должна работать. Бесплатно вывод на счет физлица в Телебанке, что удобно.

    P.S. Предпочитаю не тратить прямо со счета ИП, хотя так делают. Мне не нравится эта идея.

    P.P.S. Про точку много кто из коллег по цеху хорошо отзывается. Сам пока не пробовал, присматриваюсь.

    UPDATE (сентябрь 2017): вот коллега по Toptal недавно собрал и обобщил информацию по в своем посте Какой банк выбрать для фрилансера c Upwork, Toptal...
    Ответ написан
  • Как выбрать нужную кодировку при конвертации из php файла в html?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Статья из нашего блога снимет все вопросы, думаю: Data Encoding: A Guide to UTF-8 for PHP and MySQL
    Ответ написан
    Комментировать
  • Куда валить с upwork?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Если по силам - давайте к нам в Toptal. Писал тут про отличия.
    Ответ написан
    5 комментариев
  • Как не получать undefined в react.js?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    А что выводится в консоль при console.log(this.props.data) в первый и последующие разы?
    Ответ написан
  • Как достать остальные данные с API?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    В документации к Moz API есть информация обо всех endpoint-ах и их параметрах, со примерам запросов.
    Ответ написан
    6 комментариев
  • Почему не отрабатывает выезд блока при нажатии кнопки?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    При клике в jsFiddle в консоли разработчика (F12) вижу ошибку

    Uncaught TypeError: jQuery.easing[this.easing] is not a function
    Ответ написан
    Комментировать
  • Как контролировать работу удаленного программиста?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Все задачи должны быть записаны (вы можете использовать как любой таск трекер вроде JIRA, так и просто Excel файл в Dropbox, например, главное - обоим иметь доступ к списку задач). По каждой должно быть описание, что именно требуется сделать в рамках задачи. Просите разработчика оценить по времени первоочередные задачи из общего списка (также - если задачи зависимы дург от друга - расставить их в порядке выполнения) и на основе этой оценки наберите задач на неделю работы. По каждой таким образом будет заранее известна временная оценка. Она может поменяться в ходе работы, конечно, но этому изменению всегда будет понятная причина. Вы можете после оценки на неделю пробежаться вместе по списку задач и проговорить какждую (убедиться, что разработчику все ясно, сделать необходимые пояснения и тп). Это позволит сделать первичную оценку более надежной.

    Попросите разработчика каждый день писать вам отчет в виде:
    1) какие задачи были сделаны
    2) какие задачи планируется делать дальше
    3) какие есть проблемы, вопросы, сложности по текущей работе

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

    Поддерживаю мнение о том, что задачи должны быть не слишком большие - меньше чем 8 часов (рабочий день), а лучше не более 4 часов. Большие задачи надо постараться поделить на части.

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

    Ну и если у вас возникают вопросы (например, почему скорость снижается) - всегда ведь можно просто спросить у разработчика - почему так получается? Есть ли какие-то проблемы с работой? Что может помочь вернуть скорость на прежние показатели?

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

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Все мамы сыновьям советуют - быть хорошим честным мальчиком. Совет простой, но крайне правильный. Поговорите с заказчиком, объясните все сложности. Конечно, он будет недоволен. Но меньше, чем если вы продолжите водить его за нос. В итоге все равно все будет ясно. Как говорится, 5 минут позора и ты свободен. Сильно все упростит, если вы найдете себе замену, кому задача будет по силам, познакомите коллегу с клиентом и гарантируете полную передачу дел до ухода.
    Ответ написан
    Комментировать
  • Фриланс на Java, куда копать?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Копать во все стороны. И это касается не только Java. Если есть интерес к фрилансу, то найдите все сайты по теме, зарегистрируйте, заполните профиль, ищите проекты там. Также смотрите все сайты о работе на предмет вакансий, где можно работать удаленно. Если владеете английским, то помимо русскоязычных ресурсов, сделайте то же самое на англоязычных ресурсах.

    Подготовьте хорошее резюме и/или как следует заполните профиль в сетях вроде LInkedIn. Почистите свои профили в соцсетях, чтобы там не было мусора (котиков, невнятных имен и мватаров) и было понятно чем вы заниаметесь, как с вами связаться. Поставьте там соответствующие статусы, которые четко дают понять что вам нужно (например "Java Developer. Available for remote job"). Файл и ссылка на профиль пригодятся дальше. А дальше - ищите проекты и объявления о работе, отправляйте заявки на них пока не найдется заказ.

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

    Советую также осознать, что очереди на желающих вас нанять обычно нет. Это чтобы не было ложных ожиданий, что стоит только озвучить свое желание поработать в режиме фриланса, как тут же набежит толпа клиентов и завалит вас работой. :)

    Желаю удачи на нелегкой, но интересной ниве фриланса!
    Ответ написан
    Комментировать