Сережа Лапин

Сережа Лапин

Темы
Неделя
Aug 8, 2016 → Aug 14, 2016

Архив недели @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

@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…
notion image

Есть так сказать нетто и брутто рабочее время. Рабочий день в офисе типа 8 часов - но это брутто. Нереально работать 8 часов подряд

О том и речь. Можете провести эксперимент и потрекать сколько вы реально работаете - и стопапть каждый раз когда отвлекаетесь

Да помодоро айс! Я уже говорил про toggle, он помодоро умеет

@jsunderhood а rubrain.com кто-нибудь пробовал? Аналог Toptal, сделанный бывшими менеджерами fl и мегаплан.
Я нет. Повторюсь, но зачем идти на отечественные биржи? Лучше подучить английский и на тот же upwork. twitter.com/kirillmadorin/…

Советы попозже будут, пока у нас военный совет @HolyJSconf . Привет от @Zmoki и @jabher !
notion image

Вторник


Утречка! Сегодня хотел поговорить про сообщества, но вначале добью вчерашнюю тему - спрашивали про платежки, советы..

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

Про платежки: я пробывал paypal, payoneer, moneygram, upwork что-то еще умеет
notion image

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 можно только пополнять с карточек украинских банков и тратить. Получать и выводить нельзя.

На каждые 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 примерно такое и будет.
notion image

Конечно интересно, почему 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 и расширениям?

Я просто не очень понял, что ты хочешь сказать. В смысле предел?

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.

Пятница


Сегодня поговорим про опенсурс - расскажите про ваши безумные проекты

Я уже довольно долго упарываюсь по 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 - это было интересно никогда столько в твиттере не сидел=)

Опросы с этой недели:
notion image
notion image
notion image
notion image

@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

Ссылки