• Как продвигать фриланс биржу?

    @asdf999
    Android Programmer
    Сделайте почасовую оплату как на upwork-е с программкой снимающей скриншоты. И рекламируйте эту фишку.
    Ответ написан
    Комментировать
  • Как продвигать фриланс биржу?

    Никак. Ваша биржа никому не нужна.
    Попробуйте начать с фриланс-агентства.

    Если же делать биржу, то запилите импорт профиля и портфолио с fl.ru. Ищите и добавляйте проекты, где клиент оставил контактные данные. Приглашайте фрилансеров поименно. Договаривайтесь со студиями и агентствами по всей России, чтобы они размещали заказы.

    Не стоит думать о продвижении, пока на бирже не зародится мало-мальская жизнь. А жизнь придется создавать руками.

    Займитесь решением проблем фрилансеров и заказчиков на существующих биржах. Проанализируйте рынок. Покупка Pro, 10%с заказа и юзабилити не являются проблемами.
    Ответ написан
    10 комментариев
  • Каких знаний php для верстальщика будет достаточно?

    @Silm
    Верстальщики изучают PHP на уровне шаблонизатора.
    • Надо уметь выводить в шаблонах переменные.
    • Писать логические условия (если пользователь не авторизован, то показываем форму входа, если нет, то ссылку на личный кабинет).
    • Писать циклы (в шаблон передается переменная с массивом постов, верстальщик должен написать цикл для их отображения).
    • Надо знать базовое API языка, встроенные функции для работы с числами, массивами, строками, датами и тп.
    • Нужны знания синтаксиса объектов. Понимать не обязательно, главное знать как вывести содержимое.


    Скачиваете какой нибудь базовый курс по PHP, дня за 2-3 пройдете. Обязательно почитайте документацию на php.net
    Ответ написан
    1 комментарий
  • Как организовать работу удаленных программистов?

    @svsanek
    Из личного опыта - много работал сам удаленно, сам нанимал людей. Больше всего понравилось как работают американцы.
    1. Все проекты на github либо bitbucket. Баг трекер там же
    2. Каждой задаче дается оценка и за оплачивается только оценка. Т.е. ты сказал, что сделаешь за 4 часа - заплатят только за 4-ре часа и не кого не волнует сколько ты провозился.
    3. Задачи дробят до самого маленького уровня. По каждой задаче все обсуждения через коменты к задаче. Никакого скайпа.
    4. Каждый час-два пинг "как дела? на каком этапе?". Пропал больше чем на 2 дня - уволен.

    Итого:
    - Возможно ли найти ответственных и самостоятельных людей?
    да
    - Каким образом следует контролировать сотрудников?
    Регулярно пингуй. Требуй решения задач в срок. Если пропал больше чем на два дня - проще избавиться и найти нового (я так за одним долго бегал). Лог задачи веди в коментах к этой задаче.
    Если ли смысл использовать тайм-трекеры на ПК работников?
    бессмысленно
    - Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?
    Давай оценить задачу, сам прикинь сколько в часах ее делать. Договоритесь, что на эту задачу столько-то часов. Плати только за часы. Ты не крупная компания, которая может оплачивать перекуры и болтовню за кофе.
    - Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?
    Есть знакомый - очень хороший PHP-девелопер (больше 5 лет стажа только удаленной работы) - берет от 750р за час. Посмотри по фриланс площадкам - сколько ребята просят за час.
    Ответ написан
    7 комментариев
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Жестко прекратить принимать запросы на новый функционал.
    Сказать, что в процессе поддержки можно будет добавлять функционал, но уже за отдельную плату.
    Собственно грамотно завершить нужно именно так, чтобы клиент не сидел на шее, а понял, что изначально разговор шел о конкретном объеме работ, который уже давно превышен, а за работу надо платить.

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

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Вариант 1 - послать и забыть.
    Вариант 2 - переводить из бесплатного в платный.

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

    OrangeNetCat
    @OrangeNetCat
    Не забудьте нажать "Нравится" если мой ответ помог
    Чтобы зарабатывать на фрилансе, нужно "не пробовать" , а уметь что-то хорошо делать. Не важно что, но уметь делать хорошо и в срок(!), тогда любое дело будет прибыльным и клиенты будут стоять в очередь.
    Ответ написан
    1 комментарий
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

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

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


    И посоветую не слушать популистов и ненавистников Битрикса. Многие из них просто работали или со старой версией, или работают сейчас, но не изучают новое ядро, не следуют новым практикам, или о новом ядре знают очень мало. А многие попросту плюются на все чем не пользуются сейчас, в духе "все дураки, я один умный", доля конструктивной критики весьма мала, хотя критиковать есть за что. Если бы битрикс был таким полным говном как многие описывают - он бы не занял доминирующую позицию на рынке.
    Ответ написан
    5 комментариев
  • Что делать, если я не знаю какой будет "IF"?

    riot26
    @riot26
    <:З )~~
    Это ужасный быдлокод. Всё нужно переписывать.
    Ответ написан
    2 комментария
  • Когда стоит включать и выключать таймер почасовой оплаты на UpWork?

    opium
    @opium
    Просто люблю качественно работать
    бильте все что связано с работой
    Ответ написан
    Комментировать
  • Можно ли прочитать локальный файл??

    @Fellzo
    Браузер не даст сотворить такую вакханалию.
    Ответ написан
    Комментировать
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

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

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

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

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

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

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

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    @Das_original
    Всё очень просто. Уходят - потому что условия лучше.
    Я был по обе стороны баррикад.
    1) Уходил, попутно забирая клиентов - Причина очень проста. Мне не платили девять месяцев. 9 месяцев по 1500$, мне нужно было каждый божий день обслуживать 10 клиентов в разных частях города. Без денег на обслуживание мой личный транспорт сообщил, что без капитального ремонта никуда не поеду. По поводу оплаты труда, директор всё время кормил завтраками, ныл что нет денег, хотя клиентов находил я, обрабатывал, продавал услуги, внедрял и поддерживал. Отсюда вывод - послать директора, забрать клиентов, получать профит.
    2) Я директор. В первую очередь, пока работал один, создал условия:
    а) Снял большой офис
    б) Поднял тестовый полигон
    в) Устроил комнату отдыха
    г) Проработал систему вознаграждения сотрудников
    д) Нанял юристов, для разработки договоров с Клиентами/Сотрудниками

    За 1.5 года существования компании, задержал заработок всего один раз (но на 2 недели).
    Итог: Потерял 2х сотрудников из 11, потерял 1го клиента.

    Так что вывод. Нет задержек в оплате - нет потерь.
    Ответ написан
    1 комментарий
  • Какой php фреймворк наиболее прост в освоении?

    hbuser
    @hbuser
    Мои пять копеек. Laravel - молодой фреймворк, но современный и очень хорошо проработан. Поддерживает много разных современных плюшек изначально, из коробки (например, PSR-4, composer, как основное средство установки расширений и пр.), на которые некоторые фреймворки, которые существуют больше, чем Laravel только перебрались. Отличается тем, что в нем очень многое достаточно человекопонятно и логично. Создан быть простым. Многое может. Создано много расширений для него (по сути, это любое расширение, которое можно установить с помощью composer, а это 77 тыс. штук расширений, адаптированное для Laravel, что тоже не сложно, но можно и без этого. Не будет сильно удобно, но жить можно.), а если чего-то нет, то packagist предложит все, что душе угодно и установить это дело 2-х минут. Около него очень быстро продолжает расти сообщество единомышленников. Очень много информации по нему на stackoverflow и вообще в интернете. Есть IRC-чаты, в которых много понимающих людей и можно получить помощь в любое время дня и ночи. Есть ребята, которые посвящают себя урокам по нему и делают это очень качественно. Возьмем того же Jeffrey Way. Красавец в плане подачи информации и произношение отличное, американское, не британское. Слушать одно удовольствие. На западе про него знают и разработчики востребованы, у нас его знают плохо. Только относительно продвинутые и открытые новому разработчики. Я настоятельно рекомендую этот фреймворк. Он прост - раз. Он научит работе с различными современными сопутствующими технологиями. Например, из коробки доступен box для vagrant. А это уже немного другой уровень в сравнении с WAMP на Windows.
    Сейчас на базе Laravel уже и микрофреймворк доступен.
    Кстати, в IRC можно задать вопрос и самому автору.
    Еще момент. Автор не городил своих велосипедов. Это качественный продукт. Многое хорошо работающее и хорошо себя зарекомендовавшее там из Symphony, очень многое. Своеобразная квинтэссенция существующих наработок, технологий + свои наработки и своя логичная интерпретация работы с фреймворком.
    Ответ написан
    2 комментария
  • Какой php фреймворк наиболее прост в освоении?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Вот список самых популярных фреймворков на Гитхабе GitHub

    А самый простой по моему мнению это CodeIgniter. Но он сильно устарел и годится лишь для изучения, для быстрого старта.
    Ответ написан
    1 комментарий
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    @Alexey_Kutepov
    Разработчик программного обеспечения
    У Вас довольно предприимчивые сотрудники, раз такое проворачивают. Мне кажется что дело в характере: если человек от Вас ушёл и организовал свой бизнес, то тут скорее всего Вы недосмотрели при подборе персонала.
    Есть люди, которым никогда не хватит смелости организовать свой бизнес или им просто это не нужно. Максимум что они могут - уйти к конкуренту. Вот таких и ищите)

    Тем чувакам которые от Вас ушли нужно пожелать удачи и поздравить с избавлением от рабства! Я такими всегда восхищаюсь
    Ответ написан
    Комментировать
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    @kazmiruk
    По скользкому пути идете. Несколько лет назад работал в небольшом стартапе. Стартап начал приносить деньги, начали его развивать. А в один момент начальство укусил петух в жопу: наш проект могу украсть!!! Началось с малого - слежение за трафиком, максимальное ограничение прав и анализ логов. Затем кейлоггеры начали появляться, затем установили камеры видеонаблюдения, затем мы нашли диактофон, который включался на запись, когда начальство уходило куда-то. Потом сбрендили и вообще в обязательном порядке начальство стало находиться в одном кабинете с нами и сидеть в такой позиции, чтобы видеть чем кто занимается. Как итог - через 6 месяцев такой работы вся команда свинтила кто куда при том, что условия были очень даже ничего по з\п и графику. Поэтому стоит прислушаться к советам, которые уже дали - стоит искать проблему в себе и стараться привлекать сотрудников, а не отталкивать помещая их в жесткие рамки. Программисты делают Ваш проект. Без них Ваш проект ничего не стоит (собственно Ваш вопрос об этом и говорит - достаточно им унести идею и Вы в панике). Поэтому сделайте так, чтобы они не захотели уходить.
    Ответ написан
    8 комментариев
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    Регулярно сталкиваемся с этим явлением, радует что если с тебя копируют и перехватывают твои проекты, значит ты впереди. Проект закончится, а опыт не приходит так быстро, и собственные шишки. А для нас это повод стать лучше, придумывать куда идти лучше и чем ещё можно от таких фирм отличаться. Преимущество в том что вызнаете своего конкурента в лицо, вы сами его вырастили и знаете его плюсы и минусы. Некоторым клиентам можно это правильно преподнести. Не стоит расстраивается, это естественный процесс, когда специалист начинает мнить себя собственником и не видя всей работы, считает чем он хуже и почему он не может делать тоже самое, работая на себя. Можно только пожелать успехов новоиспеченному предпринимателю , и бессонных ночей. Наоборот, хорошо что такие люди отваливаются из команды быстрее, освобождая место для людей, которым можно будет доверять, и которые проверят себя временем!)
    Ответ написан
    Комментировать
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    Если такое с вами случается часто, значит проблема не в сотрудниках.
    Ответ написан
    8 комментариев