Архив недели @lapanoid
Понедельник
Всем привет! Эту неделю @jsunderhood буду вести я - Сережа Лапин @lapanoid
Я фрилансер, большую часть щас времени пилю немецкий стартап связанный с едой и попиливаю опенсурс. Один из оргов @spbfrontend и @HolyJSconf
В js я перешел недавно примерно 2,5 года назад, мой путь самурая С->С++->С#->Java/Android->Javascript. + легкие увлечения python, clojure
Поэтому будем говорить про фриланс, будет много про реакт, а так же про сообщества и конференции.
Сегодня будет мало про код, хочу поднять тему фриланса. Я мало встречал своих, а хотелось бы обменятся опытом. Начну с себя.
(поищу пока клевый задник)
Сейчас 6%, думаю примерно так и будет. Рад, что хоть кто-то есть, но конечно нас меньшинство
Ну раз никто не знает расскажу в общем. Первое время очень фигово, свобода развращает и довольно быстро весь распорядок летит в трубу.
Без общения с людьми звереешь, не говоря уже о том, что работы как и денег почти нет.Первого клиента я искал недели 2, кто-то ищет дольше
Худшая версия меня: просыпался не раньше 2-3, перестал носить штаны, ближе к дедлайну до 3х дней постоянно работал почти без сна.
Когда все сдавал заказчику и он был доволен, появлялось чувство эйфории и время опять сливалось на игры или сериалы, прочий мусор..
Этот цикл повторился 3-4 раза, но в конечном итоге все нормализовалось, мне кажется первый месяц-два штормит всех.
@iamale_ru @jsunderhood Пиздюли. Пиздюли исправят всех.
Истина. Но фриланс это жизнь без пиздюлей - в этом все благо и сложность twitter.com/webholt/status…
Из всего что пробывал pomodoro только зашло.
Но все эти хитрости нужны чтобы войти в ритм, потом можно без них twitter.com/iamale_ru/stat…
Для трекинга времени юзаю toggl.com есть раcширение для хрома которое умеет jira и github. Вещь! Ничего лучше не нашел
Поиск клиентов. Граница смывается, если клиенты долгосрочные. Но все равно еще паришься с платежками, налогами.. twitter.com/Seleckis/statu…
Кстати про клиентов.. Расскажите какие-нибудь истории! Приходится видеть всякое, как проекты, так и в человеческом плане.
@jsunderhood ну и с тех пор я по фиксе за проект не работаю. Жизнь научила.
Мне кажется этот случай про платежеспособность клиента, он национальности не зависит. Работал на наших - это жесть twitter.com/Bardty/status/…
Щас курс доллара большой плюс за удаленку. Для них деньги небольшие, у нас жить дешевле.
Кстати советую про удаленку книгу "Remote" от 37signals,про фриланс есть отличный подкаст и email воскрестная рассылка от Paul Jarvis @pjrvs
Дело больше в привычках, на которые человек не обращает внимания. Когда едешь до офиса думаешь о всяком настраиваешься к работе.
Можно "придумать" офис, например коворкинг. Такой некоторый заменитель, но можно сидеть в кафешках и общение в js сообществе интереснее.
@jsunderhood Разве трое суток без сна — не сойдут за пиздюли?
Под пиздюлями я имею ввиду начальника или офисную среду.
Аутопиздюли можно, но лучше не заставлять себя... twitter.com/webholt/status…
.. а полюбить свое дело, и сформировать поддерживающую среду вокруг себя
Весь в фокус в узкой специальности, я шел на фриланс с четким пониманием, что хочу заниматься только React и Node @eden_lane
Те учишься только сам, но зато можно выбирать куда. Тогда в Питере реакта не было, и мое резюме было совсем не по js. @eden_lane
@roman01la @jsunderhood @eden_lane Ой да ладно? Реакт уже во всех щелях. Удивляюсь, как мне удаётся его обходить пока.
энтерпрайз любит то что "мертво") Есть офигенский доклад от @listochkin про это
goo.gl/uxFrTP twitter.com/webholt/status…
@jsunderhood @listochkin Это больше легаси касается, которое некому переписать. А во фронтэнде новых проектов нынче с этим попроще.
Это в среднем по больнице.Все эти странные хипстеры уходят, нет аптейтов каждую неделю - можно спокойно рубить бабло twitter.com/webholt/status…
@jsunderhood @roman01la зачем хотеть отвечать за чужой проект?
Чтобы набраться опыта для своего в конечном итоге ;) twitter.com/mr_mig_by/stat…
@jsunderhood мужик ты выглядишь молодо как тебе это удаётся на фрилансе?
Хахаха, мне иногда алкоголь не продают twitter.com/RIP212/status/…
@jsunderhood та по словам ты ебать старый (27-28 лет где-то) кодер, а на картинке какой-то третикурсник :/
Ну мне 26. Яппи в этом возрасте уже делают что-то вроде ubera twitter.com/RIP212/status/…
@roman01la Надо просто свой стартап. Чужие стартапы говно. @jsunderhood
Я ж только за, но господь располагает. Как ты начал свой? twitter.com/freiksenet_ru/…
@jsunderhood Взял и начал. :)
Захватывающая история от Михаила! twitter.com/freiksenet_ru/…
@jsunderhood а кодить когда профессионально стал? Мне вот 23 и мне ещё 3 года, не знаю стану ли крутым достаточно, чтобы например андерхууд
Первая работа в 19, но до этого физмат лицей и это большая фора. Мы там Ray Tracing летом в лагере пилили twitter.com/RIP212/status/…
Я сферки и куба классец писал на плюсах - интересное было время=)
Я всерьез рассматриваю только 2 места для фриланса - это upwork и toptal. Сам на upwork пока twitter.com/ipelekhan/stat…
Нету ни малейшего смысла работать удаленно за рубли сейчас
@jsunderhood Я вообще к тому что вы какую-то большую проблему делаете из начать стартап. Компания у всех фрилансеров уже есть.
Я не начинаю свой стартап, потому, что текущий проект мне нравиться, конечно доля не серьезная, но тем не менее. twitter.com/freiksenet_ru/…
Стартапы идут либо вверх, либо вниз, когда корабль тонет это чувствуется. Пока все тьфу-тьфу-тьфу интересно что дальше @freiksenet_ru
@jsunderhood проект нравиться НРАВИТЬСЯ pic.twitter.com/sqPY36S6Cm
БОЖЕ, пойду сделаю харакири, мне не снести этот позор twitter.com/jabher/status/…
@mr_mig_by Я не говорил что это просто. Я говорю что надо пробовать и не боятся. @jsunderhood
Пока все стартапы побегут делать - кто работать будет?) twitter.com/freiksenet_ru/…
@jsunderhood а ты правда думаешь, что делать стартап это правда хуже чем педалить екоммерс в ентерпрайзе?
У энтерпрайза деньги, можно там поднакопить и потом двинуть на свое. Но подготовка наше все, стартап это не 2 пальца twitter.com/jabher/status/…
Мои чувства хорошо описаны в этой статье habrahabr.ru/post/282898/ . Так что я начал посматривать на альтернативы. @RIP212
Toptal не пробывал, но много советовали, может кто расскажет как там?
@jsunderhood ПРОБЫВАЛ!!1
ОГО!!!! twitter.com/sapegin/status…
@jsunderhood @RIP212 @habrahabr вот тут подробней. Нашёл каких альтернатив?
Да нет только toptal и upwork на уме из бирж. twitter.com/mkn8rd/status/…
@jsunderhood поговаривают, на топтале ок, если ты не страдаешь херней и дружишь с клиентами
Так ты в результате там не работал? twitter.com/mr_mig_by/stat…
@mr_mig_by Это вообще конечно не рейт. @jsunderhood
50$ в час не рейт? Где он у тебя начинается? twitter.com/freiksenet_ru/…
Там более платежеспособны. Одно и тоже колво, разные требования и поведение заказчика. twitter.com/dr_lexa/status…
@jsunderhood у одного знакомого рейт на топтале в районе 25, а контора за него платит 55., а выкуп стоит 30к, и естественно это все NDA
Что значит "выкуп"? @sevaisnotcow twitter.com/sevaisnotcow/s…
Не могу пройти мимо - так вот почему бабель так много весит! twitter.com/jdan/status/76…
Они запихнули в сорцы фото какого-то чувака!
Хипстеры!
cdn-images-1.medium.com/max/800/1*4UF6…

Есть так сказать нетто и брутто рабочее время. Рабочий день в офисе типа 8 часов - но это брутто. Нереально работать 8 часов подряд
О том и речь. Можете провести эксперимент и потрекать сколько вы реально работаете - и стопапть каждый раз когда отвлекаетесь
Да помодоро айс! Я уже говорил про toggle, он помодоро умеет
@jsunderhood а rubrain.com кто-нибудь пробовал? Аналог Toptal, сделанный бывшими менеджерами fl и мегаплан.
Я нет. Повторюсь, но зачем идти на отечественные биржи? Лучше подучить английский и на тот же upwork. twitter.com/kirillmadorin/…

Вторник
Утречка! Сегодня хотел поговорить про сообщества, но вначале добью вчерашнюю тему - спрашивали про платежки, советы..
@jsunderhood @dshster wakatime неплох, куча плагинов, даже терминал трекает, под хром обещают расширение. Плюс показывает стату по ЯП/файлам
Попробую,спасибо! Интересно смотреть периодически на свою стату,еще есть rescuetime.com - оно умеет все IMO twitter.com/realredknife/s…
Про платежки: я пробывал paypal, payoneer, moneygram, upwork что-то еще умеет

moneygram - средство переводов. Комиссия на стороне клиента, не знаю сколько.Идешь в сбер, говоришь данные платежа. 20 минут ждешь и в кассу
Я пару раз так получил - напряжно.Косятся,не моджахед ли ты,к тому же клиент был американец пакистанского происхождения- имя соответсвующее.
По закону, если у банка есть сомнения не террорист ли вы, они обязаны уведомить соотв. органы. Так что стремно, особенно когда СМИ истерит
payoneer - шлет тебе карту эмитированную в сша, она летит 2-3 месяца. Получаешь на почте, ходишь c ней по банкоматам и снимаешь по 400$
Приходится ходить ногами менять потом валюту, в России почему-то это всегда Советский Банк , есть какая-то ирония в этом.
Paypal - там казалось бы все просто, но вывести в валюте из него у нас вообще нельзя.1) он автоматически конвертит в рубли, если акк обычный
если 100% заверенный акк, то можно держать валюту и оплачивать на ebay, но вывести все равно нет. Конвертит он по курсу ниже центробанка
Итого: если в валюте, то payoneer - когда курс колбасило, совершенно не хотелось в рублях. Щас более менее стабильно и Paypal
Я не пробОвал, если кто-то да - расскажите @AndreyBerezhnoy
Я тут не специалист. Фриланс у меня чуть больше год, и я рассказал то, что сам знаю twitter.com/alextewpin/sta…
Юридически карта payoneer не связана с клиентом. Vasya Pupkin и Вася Пупкин гражданин России никак не связаны.
@jsunderhood ну рассказывать особо нечего, переводил небольшую сумму, без проблем зашло на украинскую карту в валюте и обналичил в кассе :)
В Украине все вообще по-другому, наверное.Думаю нет особо проблем получить валюту на руки, тем же пейпалом. twitter.com/AndreyBerezhno…
@jsunderhood ещё как есть - украинский paypal можно только пополнять с карточек украинских банков и тратить. Получать и выводить нельзя.
Ан нет twitter.com/stewardtz/stat…
На каждые 400$ снимают 10,35$ то есть 2,6% twitter.com/psYAEM/status/…
Закрываю тему фриланса - просили дать какие-то советы. Но советы в зависимости от уровня спрашивающего будут совсем разные
Если вы еще начинающий специалист я бы не советовал вообще. Но фриланс это более, чем реально особенно сейчас.
Скучно на текущей работе и подходящей работы нет в городе - попробуйте.Не всем также обязательно работать в силиконовке. Трактор не для всех
@jsunderhood уровня менеджмента или уровня разработки?
Больше уровень разработки, офис более комфортная среда для обучения, если ты только начинаешь. Менеджмент качается twitter.com/mkn8rd/status/…
Итак сегодня будем говорить про сообщества и вначале опрос.
@lapanoid я подхожу сразу под четыре ответа. Как проголосовать за всё?
Лол) Лучше объясни как это возможно twitter.com/mr_mig_by/stat…
@jsunderhood @lapanoid варианты в опросе инклюзивны. Каждый следующий включает предыдущий. Сначала ты нигде, потом слушатель, и понеслось
Да поэтому выбирай организатор. Цель опроса понять вовлеченность аудитории в сообщества @mr_mig_by @lapanoid twitter.com/mr_mig_by/stat…
Думаю соотношение дальшe примерно такое и будет.

Конечно интересно, почему 18% нигде не состоят. Это осознанный выбор или вы просто не знаете, где какие сообщества есть?
Еще наблюдение:
Если убрать из опроса тех кто не в сообществе будет другое соотношение:
7%
12%
80%
Те есть, 80% людей не активны
@jsunderhood митап, конференция... Темы где брать?
Хард метод: делаешь заявку в теме в которой ты хочешь разобраться.А потом готовишься. @dan_abramov redux так запилил twitter.com/dcromster/stat…
Я вернулся, пришлось отвлечься по работе =/
Есть офигенные 2 списка,спасибо @webstandards_ru и @mr_mig_by: комьюнити по городам goo.gl/3BaLCj и чатики goo.gl/NnhtzR
Я так или иначе не могу без комьюнити и чатеков, потому что мне становится дико скучно на удаленке и тянет болтать. твиттер все-таки не то
Есть такой момент, что мы типа как-то конкурируем между собой, но на самом деле нет - просто хочется, чтобы были крутые интересные события.
Например, если @moscowjs делает крутое событие - это никак не помешает тоже сделать крутое нам самим.
Наоборот хорошо делиться опытом и я бы очень хотел, чтобы был диалог между комьюнити и люди ездили к друг другу заводили знакомства
Кстати меня очень удивил и порадовал доклад от @olmokhov events.yandex.ru/lib/talks/3347 - про то как они строили @FrontTalks
Не помню, чтобы до этого был доклад на эту тему, как будто в этом есть большой секрет. Хотя может не интересно особо, но мне было интресно
У меня была какая-то вера в самоорганизацию, что люди будут отправлять пулл реквесты как в @brooklyn_js goo.gl/doyMyB
Но надо учитывать, что это штаты и NY. У нас культура митапов и конференций еще только развивается.
Недавно рассказывал про @spb_frontend подруге с универа и она не могла понять "Ты занимаешься этим бесплатно, это благотворительность?"
@jsunderhood @a_suschev у меня примерно такая же аргументация вести @frontflip_js :)
Когда следующий подкаст?=) twitter.com/asuschev/statu…
Flow Q&A starting now on @sideway with @lbljeffmo, @nontrivialzeros, and @thejameskyle. Send us your questions! sideway.com/room/6c
Бегу на QA с командой flow twitter.com/flowtype/statu…
Среда
Our Savior @jdan pic.twitter.com/ya0jgm5cZB
Слава богу, они убирают левого чувака из бабеля! twitter.com/left_pad/statu…
@jsunderhood @dan_abramov А если нет идей, в чем было бы круто разобраться? :)
Ты во всем уже разобрался или ничего не интересно? Расскажи, что уже знаешь) twitter.com/jabher/status/…
Сегодня хотел уже про js, react, flow программирование и тд до конца недели - гуманитарные темы закончились
Что вы думаете про dump/smart components? Делаете все чистым до самого верха или есть промежуточный стейт? Чем руководствуетесь?
Меня покидало по куче проектов, и всяких страстей насмотрелся, например люди мутейтят пропсы причем не 2-3 местах, а типа это паттерн
Реакт форсит функциональщину, но засилье ооп еще бывает, вместо данных в компонент приходят объекты которые как работают знает только клиент
Я практически везде юзаю cosmos goo.gl/Mzh3cA хочу перейти на goo.gl/iKxr1B, но он хочет 15 react, пока не можем
Подход у них один, есть ещё goo.gl/gBV0sB. Каждый раз когда делают такую штуку, открывают как в первый раз, подход не приживается
Хот релоад конечно круто, но его надо уметь готовить, когда приложение большое, его не хочется запускать вообще..
.. А иметь доступ ко всем компонентам отдельно за О(1). По мне так для фронтенда это даже лучше тестов
в-третьих полезно уметь скармливать любые данные (fixtures) и смотреть как выглядит в разных случаях @andreypopp
Полезно - это я про штуку типа cosmos, чтобы приложение не запускать, а брать смотреть нужную часть системы @zeihlis
Готовая библиотека готовых анимаций для React, чтобы легко анимировать изменения интерфейса animakit.github.io pic.twitter.com/IX3olNzAQA
Андрей обещал и сделал отличную штуку twitter.com/andrey_sitnik/…
Сегодня буду допиливать этот PR, а то уже почти год) github.com/css-modules/cs…
css-modules форсят локальные стили и я в принципе понимаю почему.Но реальность в том,что приходишь в проект, а там гора это гм.. глобального
И что-то надо с ним делать. За раз все переписать нету времени и рук, приходит бизнес хочет еще фич . Выкручиваемся БЭМом, но он бесит
В том числе поэтому, реакт кушает мир, необязательно все переписывать на него можно по кусочкам и продакшен goo.gl/sv25xJ
Окей, а что вы используете для форм? Я использую redux-form, но есть вещи которые напрягают
Да мне нужно как-то отдавать результат в редукс, чтобы коннектить формы. Но нужно ли мне генерить кучу экшенов на каждый символ - нет
Как раз тот случай когда внутренний стейт должен быть, тогда точно так же можно параллельно пилить формы и проверять без запуска приложения
Четверг
Я юзаю recompose потому, что все начинается с верстки и чистого компонента, когда он сверстан не хочется превращать из функции в класс
Те есть нужно только научиться управлять стейтом, для этого как раз можно завернуть в hoc, оставив няшные чистые компоненты без изменений
Такие HOC в 99% случаев однотипные - Recompose.withState и Recompose.withReducer, это обычно все что нужно goo.gl/348EmM
В redux-forms есть офигено удобный паттерн: если мы передаем оbj={value, onChange} - можно делать компактно:<input {...оbj}/>
В recompose к сожалению, не так и c withState, withReducer получается очень вербозно и начинаешь думать - а не проще ли классец написать?
Апи хочется такое: withSimpleState(stateName, initialState), withSimpleReducer(stateName, reducerMap(goo.gl/a7yarR), initialState)
Потом контракты очень простые получаются, least power principle youtube.com/watch?v=mVVNJK… , c setState власти гораздо больше @Sigiller
Я грубо задекориваровал и если открыть реакт тулзы идет кровь из глаз, лишние обертки- зато кода мало и оно работает goo.gl/pLKkjs
Это чисто POC конечно, там мрак под капотом
@mr_mig_by @jsunderhood и в этом есть правда, но где предел этим hoc и расширениям?
ДОКОЛЕ! twitter.com/alex_ivantsov/…
Я просто не очень понял, что ты хочешь сказать. В смысле предел?
Marc was almost ready to implement his "hello world" React app pic.twitter.com/ptdg4yteF1
Да это, что-то из разряда twitter.com/thomasfuchs/st… =)
Советует ли реакт тима использовать stateless functional components? Какие у нас на них планы? @dan_abramov
А вот крутой доклад про перф, тут правда про SSR youtube.com/watch?v=PnpfGy…
@jsunderhood как подружить css-modules с интеграционным (сценарным) тестированием? selenium, вотэвер. Что матчить если вместо классов хэши?
Вчера вопрос задавали. Нда это конечно проблема. twitter.com/ZooBestik/stat…
Когда я дружил эти вещи я пихал className дополнительный, чтобы его можно было заматчить, мне надо было немного матчить - но это так себе
Подозреваю что надо использовать то, что хеш пихается в конец класса .MyComponent__foo___1rJwx { … } и искать совпадение по началу как-то
Почему надежнее? Если договорились, что хэш пихается в конец, можно смело его выбрасывать и матчить @alextewpin
Ну это в идеале, иногда времени нет задачи горят - тогда да. Я бы так тоже сделал, особенно если не много надо тестить @max_malov
...который будет омитить хеш, тогда не надо будет писать его @boriscoder @max_malov
В идеале хотелось бы простой селектор 'Component1>Component2>Component3', но это магия @boriscoder
Тред (@lapanoid)
Node v0.10 will be completely UNSUPPORTED in just 50 days. No security fixes. It's time to update to Node v4, folks. Join us in the future.
Meanwhile.. twitter.com/feross/status/…
Пятница
Сегодня поговорим про опенсурс - расскажите про ваши безумные проекты
Я уже довольно долго упарываюсь по CI и semantic-release, как-то раз прикрутил его к RN чтобы он деплоил в стор, но это была боль
Думал что-то предложить Стефану, но когда начал переписывать понял, что там брейкингчендж, на брейкингчендже, брейкингченджом погоняет
Мне кажется очень важно, чтобы в проекте был автодеплой (разумеется не на продакшен)
Когда я настроил эту штуку, мой заказчик ходил всю неделю и приговаривал "this CI is just awesome" и делал мелкие фиксы сам на гитхабе
Но каждый новый проект это оверхед по его поддержке версионирование, деплой - настройка всего всего этого дела
Есть штуки типа github.com/lerna/lerna , но это для проектов типа бабеля - монореп(goo.gl/2yaVQv). Кто-нибудь пользуется?
Дешево и сердито от @ryanflorence - залогать все! github.com/ryanflorence/r…
@jsunderhood Воркфлови ван лав. Эффективный интерфейс – ключ к успеху для любого органайзера.
Да минимализм это очень круто. А еще чтобы был заточен под клаву. Мышь - фу фу фу twitter.com/cyril_sad/stat…
Еще пробовал - gingkoapp.com . Тоже крутая штука, помогла строгать диплом - доклады, но там я влетал в ограничение очень быстро
@andreypopp @jsunderhood автор gingko @alekseykulikov_, кстати
Респектую) twitter.com/gritzko/status…
В ком-то веки в Питере отличная погода! Еду на природу чего и вам желаю:)
@jsunderhood С Payoneer в МДМ банке можно снять сразу весь дневной лимит, $2500, комиссия только от Payoneer: 1,8% + $3,15. $2548,15 итого
Ого, не знал. А процедура запарная? Как это происходит? twitter.com/mihan007/statu…
Воскресенье
Добрался до сюда, чтобы попрощаться! Всем пока с вами был @lapanoid - это было интересно никогда столько в твиттере не сидел=)
Опросы с этой недели:




@lapanoid кто вообще тесты пишет, жесть! Как они вообще успевают фичу за три часа в продакшен выкатить? Оверинжиниринг сплошной, фу!
Не говори, они еще и снапшотят, видимо специально чтобы дедлайны фейлились! facebook.github.io/jest/blog/2016… twitter.com/mr_mig_by/stat…
@jsunderhood главное, чтобы был Senior Feature Flag Shepard. А то ж ответственность не на кого будет делегировать
А что он должен делать? twitter.com/mr_mig_by/stat…
Еще в крутом ентерпрайзе должны быть интерны, которые бегают и кричат "Норм!" или "Упал!" CI