• Реально ли эмигрировать PHP программисту в возрасте?

    Возможно. Но вопрос не стоит о том, чо Вы PHP-программист, или в возрасте. Кто-то и будучи молодым GO-программистом не может переехать, а есть пожилые бармены\уборщики, которые делают это с легкостью. Тут от Вас зависит всё.
    Добавлю, что когда первый раз решил уехать с Родины, спустя пол гола на чужбине начал волком выть от внезапно проснувшейся ностальгии и патриотических чувств. Да так, что еще через пару месяцев я вернулся домой. Но спустя какое-то время всё это прошло и я ухеал вновь. С каждым разом покидать родную страну всё легче и легче и в какой-то момент я заметил, что больше вообще не привзяан ни к чему в России и возвращаться смысла уже нет никакого, кроме как повидать родственников. Но на это мне вполне хватает и недели. По этому, прислушайтесь к одному из советов данных здесь - попробуйте пожить за бугром не сжигая тут мостов. Это банально не всем подходит и многие потом мечтают уехать назад, но по какой-то причине уже не имеют такой возможности и в итоге в погоне за счастьем становятся невероятно несчастными людьми.

    По поводу трудоустройства - СНАЧАЛА находите работу, а потом переезжаете. Это более чем реально. Может быть, раз Вы в возрасте это стоит пояснений, но так получилось, что теперь можно искать УДАЛЕННУЮ работу через интернет. Зарплата зависит только от Ваших навыков и наглости, знаю людей, которые зарабатывают и по 70$\час, работая удаленно PHP-разработчиками. В общем, вспоминайте то время, когда казалось, что Вам море по колено и дерзайте, ведь так оно на самом деле и есть и все зависит от Вас.
    Ответ написан
    Комментировать
  • Хорошая практика для Python?

    Раньше шутка была, что тот, кто сможет прочитать Лутца, тот станет Python разработчиком, да и программистом в целом. Там идет две книги, каждая по 1200 страниц. Книги жесткие, тяжелые и читать их настоящее мучение. Но они дают просто нереальное понимание того, что такое Python, и как там вообще нужно думать.

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

    Поэтому:

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

    "Вы о чем вообще, 2016 год за окном. Просто берете и пишите код." - Вы случайно не из Украинских галер, где обещают любую обезьяну обучить программированию за месяц, а в итоге учат копи-пасту и прикручиванию форм? Прежде, чем писать код и применять какие-либо решения, нужно понимать - для чего, как и почему.
    Ответ написан
    1 комментарий
  • Почему фрилансеры готовы общаться только в чате?

    Jump
    @Jump
    Системный администратор со стажем.
    Так же мне бы хотелось для начала провести митинг мин на 15, чтобы удостовериться, что человек не боится продемонстрировать свою работу, рассказать о задачах, которые приходилось решать.
    Ну с этим понятно.
    Вы предлагаете человеку заказ - так предлагайте.
    Если бы мне предложили 15минут по телефону озвучивать что я делал и как я бы сразу отказался. Да и в чате тоже не стал бы тратить на это время.
    Есть заказ - давай про заказ.
    А интересуют мои работы - в портфолио если оно есть.

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

    Потому что не существует вещей, которые голосом объяснить было бы быстрее и проще. Гундеть в чате 30 минут или написать большой структурированный месседж за 5 минут, в котором будет все необходимое - что проще и быстрее? Разработчик прочитает, обдумает (и его никто не будет переспрашивать "ну что, как сделаем-то?", "чего молчим?") и напишет такой же структурированный ответ, с уточнениями по каждому неясному пункту.

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

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

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

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

    Исключение - вступительная беседа минут на 5-10, без объяснения технических деталей, просто для знакомства, ну и, если имеем дело с командой, мит-апы, конференции, где действительно формат с несколькими участниками порой требует видео и звука.
    Ответ написан
    Комментировать
  • Почему фрилансеры готовы общаться только в чате?

    sadisme
    @sadisme
    font-size:30rem
    Всё просто. В 99% ситуаций общения голосом, желают типичные "гуманитарии", которые от темы разработки бесконечно далеко. Ты им говоришь "напишите ТЗ", а они в ответ "давайте я лучше вам всё по телефону расскажу". Они думают если не разбираются в вопросе и не могут ТЗ написать, то уж голосом точно всё объяснят как надо. И не дай бог вам согласиться (а просят как правило настойчиво, ибо самим лень разбираться в вопросе и что-то писать), вынесут вам мозг по полной.
    Ответ написан
    6 комментариев
  • Почему фрилансеры готовы общаться только в чате?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    потому что большинство заказчиков идиоты и фрилансеры просто не хотят тратить время еще и общаясь с ними. из личного опыта знаю как один "особый" заказчик любил звонить. среди дня и ночи. по любому вопросу. даже просто уточнить что то. после этого больше с заказчиками на связь не выхожу.
    p.s. а еще это трата времени. порой, когда я общаюсь с заказчиками - параллельно я делаю другой проект. и мне легче общаться по средством чата и не отвлекаться от работы.
    p.p.s а еще мне нужно чтобы заказчик написал тз, ну или хотя бы описал словами что он хочет в текстовом виде. нежели будет придумывать на ходу при общении, а потом мне это еще вспомнимать чтоли? или на диктофон записывать?
    Ответ написан
    13 комментариев
  • Как получить первую работу на upwork?

    lunaticman
    @lunaticman
    Дерзкий айтишник
    Привет.

    Я успешно забустил свой профайл на Апворке до 80 баксов в час (сейчас я уже апворком не пользуюсь), порекомендовал свою систему други друзьям которые удачно нашли проекты потом. Поэтому постараюсь коротенько объяснить:

    - Первый проект тяжелее всего найти, я искал около месяца.
    - Нужно искать что-то "безопасное", проект который не займет у вас много времени и которые вы уверены что сделаете.
    - Советую даже не думать о почасовых работах, шанс крайне маленький.
    - Если у вас есть возможность, попросите кого то из существующих клиентов нанять вас (либо просто дайте им сто баксов, чтобы они вам якобы оплатили вашу работу).
    - На апворке есть несколько "прайм таймов" - периоды в которые появляются новая работа, я обычно мониторил работу пару часов в день. Не стоит тратить на "охоту" много времени. :)
    - Отказаться от любых шаблонов письм, я рекомендую как наниматель , шаблонные письма видно сразу - доверия не вызывает.
    - Попробуйте записать видео в качестве cover letter - только это вам поможет выгодно отличится в ряду других кандитатов
    - Выделите самые важные элементы в предложении о работе и объясните как вы их хотите изящно решить. В конце предложите обсудить все требования, задайте какие-то наводящие вопросы, дайте советы (нужно чтобы ваш клиент, узнал что-то новое от вас). То что вы сразу по описанию составляете план работ и архитектуру - без каких-либо уточнений и вопросов - звучит крайне фантастично.
    Ответ написан
    21 комментарий
  • В каких случаях вы использовали Redis?

    @chronic86
    Ruby on Rails junior
    1. Хранилище сессий и профилей пользователей;
    2. Сервер очередей, плюс держим в уме механизм publish/subscribe;
    3. Полноценная замена Memcached, притом в случае с Redis мы получим репликацию, более длинные ключи и значения, возможность восстановления кэша с диска и тп;
    4. Место для хранения количества пользователей онлайн, кодов капч, различных флагов, саджестов поисковых запросов;
    5. СУБД для небольших приложений — сокращалок ссылок, имиджбордов, возможно даже блогов;
    6. Роль «словаря» в шардинге, то есть сервер, который знает, какие шарды на каких серверах искать;
    7. Хранилище промежуточных результатов вычислений при обработке больших объемов данных;


    eax.me/redis
    Ответ написан
    Комментировать
  • Где хранить файлы для работы?

    На работе:
    1. Создать аккаунт на bitbucket.org
    2. Создать там пустой проект
    3. Гитом клонировать его в локальную папку
    4. Скопировать в папку свои файлы
    5. Занести node_modules в gitignore-файл
    6. Сделать коммит
    7. Сделать push


    Дома:
    1. Склонировать гитом проект в локальную папку
    2. запустить npm install
    3. и работать

    P.S. Bitbucket позволяет создавать приватные git-репозитории бесплатно, в отличие от github. Поэтому выбираем его.
    Ответ написан
    6 комментариев
  • Куда клиенты валят с Upwork?

    sim3x
    @sim3x
    Тебе пора или присоединяться к фирме, в которой ты будешь востребован менее епизодично
    или повышать свой уровень и переходить на почасовку

    ПС:
    Клиенты никуда не валят.
    Ты просто попал в нишу, где ты конкурируешь с низкооплачивамыми работниками, которых становится больше
    Ответ написан
    21 комментарий
  • Что почитать об архитектуре приложений и фреймворков на php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В целом сразу вас расстрою, то что вы хотите нельзя "разобрать" за пару месяцев. На это уйдет пару тройку лет. И книги которые стоит по этой теме прочитать имеет смысл перечитывать. Ну и практика практика практика.

    Так же хочу заметить что "архитектура" это не что-то эдакое, а общее понимание команды разработчиков о том как функционирует приложение. Если этого общего понимания нет - у вас нет архитектуры. У многих разработчиков понимание пропадает уже через пару месяце стихийной разработки. Так что помимо архитектуры важно еще и процессы/методологии разработки подтянуть.

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

    но совершенно не имею представления о правильной архитектуре приложений на php


    "Правильно" не бывает, все зависит от задачи. "Правильная" архитектура является:

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

    Вот и все. Далее уже есть принципы SOLID (читать Роберта Мартина), GRASP (Крэйг Ларман), GoF (лучше тут почитать head first design patterns или даже начать с Мэта Зандстры, у него помимо паттернов еще про процессы мельком рассказано).

    Ну и смысла в этом всем нет если вы еще до конца не осознали что есть инкапсуляция и полиморфизм. Многие могут рассказать что значат эти термины, но на практике эти знания они не могут применить (чаще всего страдает инкапсуляция)

    или написании чего-то своего с нуля на чистом php


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

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


    Берете Symfony или Zend и вперед. Все остальные фреймворки "проще". То есть скрывают больше от разработчика. После них уже можно брать что угодно.

    p.s. еще прочитайте тут: www.phptherightway.com
    Ответ написан
    12 комментариев
  • Есть отличные примеры создание бота telegram на php?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Абсолютно все что нужно для написания Telegram бота находится на странице https://core.telegram.org/bots/api
    У бота абсолютно тривиальный протокол, json в определенном формате шлется POST запросом по HTTPS.
    Соответственно реализация от языка по факту не зависит, можно хоть на bash скриптах сделать.
    Ответ написан
    Комментировать
  • Как уйти с распутья технологий?

    @0x131315
    Стратегию уже подсказали: найти любую работу, чтобы кушать, и тем самым выиграть время на изучение чего-то, что поможет зарабатывать больше, и тем самым выиграть еще больше времени, и в конце концов изучить то, благодаря чему будешь работать не на зарплату, а на удовлетворение.

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

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

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

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

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

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

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

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

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

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

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

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

    С третьим - придешь, когда поймешь, что тебе это нужно. Из-под палки не учатся.

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

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

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

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

    Сложность задачи не особо влияет на мотивацию, а вот факт решения/нерешения - влияет сильно. Не решил - значит не осилил, не осилил - значит не достоин, не достоин - значит иди ко дну и не рыпайся. Это как импотенция: импотент - значит не мужик, не мужик - значит никто, ничего не достоин и об тебя можно ноги вытирать. Подсознание портит всю малину, так что не следует давать ему шанса - лучше решить задачу попроще, чем не решить по сложнее.
    Ответ написан
    7 комментариев
  • Как правильно замерять время?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если Вы занимаетесь решением поставленной задачи в рамках проекта Заказчика, то любые действия - должны быть оплачены.
    Даже, если Вы собираете консилиум по скайпу.
    Ответ написан
    9 комментариев
  • Где взять актуальную базу России регионов->городов->улиц в формате sql?

    denis_bardak
    @denis_bardak Автор вопроса
    Web Developer
    нашел еще вариант, уже веселее https://kladr-api.ru/
    В итоге хватило api dadata https://dadata.ru/api/suggest/
    Ответ написан
    Комментировать
  • Как отказаться от проекта на Upwork и получить частичное вознгараждение?

    @ehs
    Architect / 3d designer
    В первую очередь нужно поговорить с заказчиком. Может он поймет и осознает что то что вы сделали это оптимальный приемлемый вариант и примет его как выполненный проект. Гарантия того что на вас никто не пожалуется и не оставит плохой отзыв - только одна - полный возврат денег.
    Ответ написан
    Комментировать
  • Как автоматизировать GIT?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    На моей памяти, тут вроде не было, более извращённого желания в сторону GIT-а :)
    Ответ написан
    Комментировать
  • Как подгрузить css на определённом blade?

    DJZT
    @DJZT
    Laravel - code for you
    Сделай секцию css
    <link href="../assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
    <link href="../assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
    @yeild('css')


    А потом в определённых шаблонах делай так

    @section('css')
     твои css подключаешь здесь 
    @stop
    Ответ написан
    3 комментария