Егор Яковишен

Егор Яковишен

Темы
Неделя
Aug 15, 2016 → Aug 21, 2016

Архив недели @yaplusplus

Понедельник


Hello world! На этой неделе с вами Егор Яковишен, @yaplusplus

В Москве как обычно все залило, через полчаса буду выбираться в офис, а пока давайте познакомимся. Расскажу пару слов о себе.

@jsunderhood @cssunderhood @abroadunderhood Поделитесь пожалуйста новостью о запуске нового англ андеграунда. RT ⬇️ twitter.com/operatino/stat…
Тем временем просят передать, что появился новый локальный аккаунт (eng), объединяющий разработчиков из Нидерландов twitter.com/operatino/stat…

Я работаю в компании Setka (setka.io), также известной как Grid. Это технологический стартап, выросший в стенах Look At Media

(Look At Media — это медиа-компания, которую вы знаете по сайтам The Village, Look At Me, Hopes and Fears, Wonderzine, FurFur)

В Сетке я работаю фронтенд-тимлидом и занимаюсь разработкой одного из наших продуктов для медиа — визуального редактора для крутой верстки

Параллельно по выходным веду курс «JavaScript человеческим языком» в Moscow Coding School: moscoding.ru/humanjs/

Вот как раз на этих выходных стартовал уже пятый набор студентов. Про обучение JS и вообще программированию мы еще поговорим.

До этого у меня был очень разный опыт, так или иначе связанный с IT. Первое рабочее место — HTML-верстальщик в маленькой студии в 2006 году

Затем в 2008-2012 годах я делал свою веб-студию, как и многие тогда. Были успехи, были провалы, но в целом время было интересное.

В 2012-2014 я переключился на тревел-стартап, где был кофаундером и отвечал за весь фронтенд и интерфейс.

Стартап был настоящий, с инвесторами, акселераторами и пивотами. Мы побывали во ФРИИ, выучили много новых слов, но...

...но превратить это в бизнес все же не удалось по многим причинам, о которых тоже можно будет поговорить.

В последние пару лет я занимался управлением проектами и развитием бизнеса в агентстве Stars Interactive (диджитал, бренды, ROI, ...)

Также делал первую версию сайта «Медиазоны» (zona.media) — первый опыт поднятия большого онлайн-СМИ

И в заключение отмечу проект «Цифровой словарь» (digitalvocabulary.ru) вместе с @alexdrozdovsky, за который мы получили Webby Honoree

В итоге в какой-то момент я понял, что занимаюсь очень многими вещами, и пора сфокусироваться на чем-то одном, что у меня получается лучше

Как можно догадаться, этим одним стала фронтенд-разработка

Таким образом, опыт у меня набрался весьма разносторонний. Буду рад поделиться им за эту неделю! А сейчас пора ехать на работу :)

Пишите вопросы, фолловьте @yaplusplus или френдите fb.com/yaplusplus. Продолжим совсем скоро.

Я добрался до офиса, хоть это и было чертовски мокро. Продолжаем.

Стартап назывался «Флайс» и был сервисом по поиску и онлайн-бронированию туров, проще говоря, агрегатором twitter.com/Addicted_fully…

@jsunderhood какие браузеры поддерживаете? pic.twitter.com/8d2a2HWEwK
По самому редактору мы изначально заняли позицию, что ориентируемся на современные браузеры. IE 11+ и прочие twitter.com/asafort/status…

Но помимо редактора есть еще верстка, которую он генерирует. Тут мы изначально ориентировались на свои издания. У нас мало IE и ~50% mobile

Поэтому мы имели возможность использовать современные технологии. Например, у нас модульная сетка сделана при помощи flexbox

@jsunderhood редактор вживую когда-нибудь покажете?
Да, скоро будет публичный релиз новой версии, которая работает на наших изданиях, а также нескольких партнерских twitter.com/bethrezen/stat…

@jsunderhood условия распространения?
SaaS. Про стоимость и другие подробности пока не могу говорить, скоро все будет опубликовано. Stay tuned. twitter.com/bethrezen/stat…

Перед тем, как перейти к большим темам, интересно мнение комьюнити по простому вопросу, который недавно поднимался в Фейсбуке:

«Кто еще остался в русском Твиттере?» По моим наблюдениям: айтишники, журналисты, некоторые политики и просто тролли.

Я помню кипящий Твиттер 2010-2011 годов. Сейчас все как-то приуныло, многие интересные люди с концами ушли в FB и/или Telegram

Поддерживаю. Я планирую в один из дней поговорит про источники информации для программиста — это один из них twitter.com/riseremi/statu…

Если он хочет стать веб-разработчиком? twitter.com/Addicted_fully…

К счастью/сожалению, практически для всего. У меня каждый курс в MCS начинается со слайда «JavaScript теперь везде» twitter.com/Addicted_fully…

@jsunderhood Как будто что-то с твитером что-то случилось или вдруг появилась хотя бы одна альтернатива.
Смотря чему альтернатива. Общению на профессиональные темы? Перепискам с друзьями? Шуткам в стиле «Усов Пескова»? twitter.com/sapegin/status…

@jsunderhood а подскажите как пользоваться ФБ? Кого читать, как подписываться?
Если про фронтенд, то в FB как минимум есть группа MoscowJS: facebook.com/groups/moscowj…. twitter.com/boriscoder/sta…

@jsunderhood Твиттер 5 лет назад? Он тогда уже был? 👻
Да, конечно. У себя в профиле вижу: Joined January 2008 twitter.com/taujavarob/sta…

@jsunderhood @sapegin альтернатива кратким сообщениям которые можно почитать в транспорте ли - короче, - почитать на бегу?
Телеграм-каналы. Например, мне очень ноавится канал Сергея Сурганова, арт-директора Медузы telegram.me/surganov_public twitter.com/taujavarob/sta…

Тем временем у нас тут прошел традиционный митинг по понедельникам. Обсуждали статус по проектам и планы на неделю.
notion image

Сегодня буду потихоньку рассказывать о том, чем мы занимаемся в Сетке, какой у нас фронтенд с бэкендом, и почему у нас интересно

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

Вот объясните мне, что за Телеграм-каналы, и для чего это нужно? twitter.com/jsunderhood/st…
Отличный вопрос. Я сам им задался в начале года, когда пошел бум на Телеграм-каналы, и все начали их создавать twitter.com/sapegin/status…

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

Сначала это кажется непривычным, но со временем начинаешь воспринимать именно как канал. Автор общается с аудиторией.

(не путать с Телеграм-чатами, там флуд и раздрай почище твиттера)

@jsunderhood Любопытно. А какая-то вообще есть обратная связь? Как понять, что читателям интересно? Может они и не заглядывают в канал.
Как правильно подсказывают, отображается кол-во просмотров каждого сообщения + часто автор предлагает писать в личку twitter.com/sapegin/status…

@jsunderhood но каждого автора нельзя читать в одной ленте и получается какой-то степбэк в технологиях
Помню, лет 5 назад я спросил одного умного человека, почему он ушел из Тви. Он ответил: «Разорванное общение» twitter.com/2j2e/status/76…


Кстати, кто любит текстовые квесты, рекомендую попробовать storebot.me/bot/questgameb…. Это чат-игра в Телеграме.

Сейчас расскажу кое-что про Setka, затем возьму небольшую паузу на кодинг, надо закрыть одну тасочку

В основе всех наших сайтов лежит собственная платформа (CMS) под названием Grid (да, с сетками у нас перебор, знаю)

Платформа написана на Ruby on Rails. Насколько я помню, ребята-бэкендеры в начале года как раз окончательно переехали на 4-е рельсы

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

На один только Вилладж ходит 3+ млн уникальных пользователей в месяц. Хостимся, в основном, на Амазоне, тут всё довольно стандартно.

У платформы есть админка, которая умеет проводить А/Б-тесты, следить за комментариями, управлять пользователями, постами... словом, CMS

На платформе работают все наши сайты + еще несколько сторонних проектов, которые захотели её использовать (в том числе два зарубежных СМИ)

Следующий большой продукт — это Workflow, сервис для управления редакционным процессом. Про него мы писали здесь: medium.com/look-at-media/…

С тех пор Workflow поменял интерфейс, получил кучу новых функций, обзавелся рядом сторонних клиентов и тоже скоро будет открыт для всех

Под капотом у Workflow все тот же RoR, а на фронте смесь Backbone + React (и идет планомерный переход с первого на второй)

Workflow помогает десяткам редакторов, корректоров, дизайнеров и менеджеров работать слаженно и выпускать посты в срок

Следующий продукт называется Waterfall, и многие из вас его видели воочию. Это сервис онлайн-трансляций, которым пользуется Meduza, VC, TJ

Вот, например, трансляция июньского Apple-эвента на VC через Waterfall: vc.ru/p/wwdc-2016-li…

Доступ к Waterfall раздается пока что по инвайтам здесь: wtrfall.com

И вишенка на торте — WYSIWYG-редактор, в котором выпускающие дизайнеры могут быстро верстать красивые посты. Это, собственно, мое детище

Предыдущая версия редактора, в которой наши редакторы работали последние 4 года, была сильно кастомизированным TinyMCE

@jsunderhood походу, все, кто работал в сми, когда-нибудь делали такую штуку
Практически так и есть :) Но далеко не у всех получалось сделать хорошо. У нас вроде получается. twitter.com/vkozulya/statu…

Новая версия, которая начала была запущена в тестирование в этом году — практически полностью разработка с нуля

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

Тем не менее постараюсь далеко не пропадать и отвечать на ваши вопросы, а также ретвитить полезные сообщения и новости

Если есть цель найти нормальную среднюю (не rocket science) работу, то JavaScript отлично подойдет twitter.com/Addicted_fully…

Если Москва и Junior Frontend Developer, то от 50000 руб., на мой взгляд (но в студиях бывает меньше) twitter.com/Addicted_fully…

@jsunderhood Расскажите тогда вкратце о технологиях - фронтенд, редактор, в чём и как храните документы
Ок, сегодня чуть позже с этого и начну twitter.com/bethrezen/stat…

@jsunderhood а он разве WYSIWYG? какие концепции у вас учитывались при разработке редактора?
Да, это и есть основная концепция. Вы получаете на выходе в точности такую же картинку, как в редакторе. twitter.com/KlonD90/status…

@jsunderhood можно ли это гарантировать в современном адаптивном медиа?
Можно. В редакторе обычно верстается десктопная версия, которая затем сама адаптируется под mobile и tablet twitter.com/KlonD90/status…

Но но при этом в редакторе есть инструменты, которые позволяет настраивать отображение конкретных элементов на мобилке

Например, есть настройка «Порядок колонок на мобильных» для сеток. Можно их располагать друг за другом, в обратном порядке или матрицей.

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

Так что я сегодня выложу некоторые примеры и может быть небольшие видео. А пока отвечу на накопившиеся вопросы

@jsunderhood т.е. вы ограничены до 1000px или что там у вас на десктопе, а остальные версии по компромисам?
У нас существует понятие «лэйаут». Он может быть фиксированным или резиновым и настраивается для каждого сайта twitter.com/KlonD90/status…

В редакторе ты работаешь с контент-областью поста, у нее определенная ширина. Например у Вилладжа: 620px (4 cols), 940px (6 cols)

Пост выстраивается в десктопной версии, а дальше по брейкпоинтам трансформируется под девайсы. Брейкпоинты тоже настраиваются под сайт.

@jsunderhood а с резиновыми макетами как дела обстоят?
У нас есть как фиксированные сетки, так и резиновые. Помогают flexbox и calc. twitter.com/denswor/status…

@jsunderhood Мне как раз нужно заменить на проекте редактор, какой посоветуешь? Думаю Summernote or TinyMCE, подскажи толковое что то?
Многое зависит от того, какая у тебя задача. Кто будет пользоваться редактором? Вообще TinyMCE неплохой вариант. twitter.com/smithua/status…

@jsunderhood можешь больше рассказать про миграцию? Особенно о местах, где нужно реакту общаться с бекбоном и обратно.
К сожалению, Workflow — не мой проект, я лишь со стороны наблюдаю за процессом, поэтому подробности не расскажу twitter.com/23ydobemos/sta…

Про переезд с Backbone на React кратко скажу, что обычно нужно выстроить реакцию рендеринга компонентов на уже имеющийся application state

@jsunderhood т.е. вы не используете ничего стороннего? (имею ввиду связанное с редактированием/отображением текста, конечно)
Кое-что используем, сейчас напишу об этом twitter.com/eden_lane/stat…

@jsunderhood пользоваться будут юзеры которые знают что такое висивуг и как он работает.
А верстка насколько сложная? Пример есть? twitter.com/smithua/status…

В конце 2015 года мы пришли к решению, что больше не имеет смысла развивать предыдущую версию редактора, основанную на TinyMCE

За время своего существования она обросла массой костылей и решений, которые работали только потому, что все знают, как они работают

Была поставлена цель спроектировать новую версию редактора, которая бы решала основную задачу: создавать контент быстрее и дешевле

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

При этом не забываем, что редактором пользуются разные люди: автор, корректор, фоторедактор, выпускающий дизайнер, арт-директор

У всех свои задачи. Самые разнообразные — у дизайнера. Ему нужно быстро и красиво превратить текст в красивый пост...

...не будучи при этом знатоком HTML и CSS (хотя у нас многие выпускающие дизайнеры знают CSS и умеют его применять)

Также помимо интервью была собрана статистика по использованию инструментов редактора при помощи Google Analytics.

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

Далее нашим продакт-дизайнером (честь и хвала ему) был создан прототип нового редактора на jQuery.

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

Прототип был нужен для того, чтобы продуктовая команда могла понять, что всё задуманное в принципе реализуемо, и пора начать разработку

(с точки зрения кода прототип был ужасен — inline CSS и JS, названия функций вроде click1 и click2, но свою задачу решал великолепно)

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

Я просмотрел на GitHub примерно 30 визивигов и отсортировал по критериям: активность контрибьюторов, зависимости, документация, лицензия

Также обращал внимание на диалект JS (ES5, ES6, CoffeeScript и т.д.) и технологию редактирования (iframe, contenteditable)

В итоге в финал вышло три проекта: Quill от SalesForce, ProseMirror от Marijn Haverbeke и ContentTools родом из UK

Quill был интересен тем, что за ним стоит SalesForce. Но после дня погружения в код стало ясно, что текущая версия мало что умеет...

...а новую версию автор пилит уже давно и не знает, когда допилит (он так и написал в ответном письме).

Получалось, что использовать текущую версию не имело смысла, а новая непонятно когда появится.

Следующий вариант — ProseMirror (prosemirror.net). Разработчик Marijn Haverbeke — автор книги Eloquent JavaScript

он же автор ряда тулов вроде Acorn, а также редактора кода codemirror.net

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

Собрал 50000 евро (indiegogo.com/projects/prose…) и сделал редактор. Но было ощущение, что в любой момент он может его бросить и заняться другим.

(и он же являлся его ключевым контрибьютором: github.com/ProseMirror/pr…)

В итоге мой выбор пал на проект ContentTools: getcontenttools.com

Он был маленький, с четким разбиением на модули и подбиблиотеки (ContentEdit, ContentSelect), хорошей докой

Разрабатывается и поддерживается небольшой британской компанией GetMe. По их словам, на нем работает более 50 клиентских сайтов.

Я списался с GetMe, получил ответы на основные волнующие вопросы, почитал доку, посмотрел код, и решил, что пора двигаться дальше.

Забегая вперед — выбор оказался правильный, новую версию редактора удалось написать примерно за 4 месяца и передать в тестирование редакции

На текущий момент от ContentTools осталось уже процентов 30. Все остальное было либо выкинуто, либо переписано под себя.

@jsunderhood ИМХО, если чётко понимать что это throwaway prototype — качество кода не важно, всё равно переписывать с нуля.
Абсолютно согласен twitter.com/Devgru/status/…

Про технологии. Большая часть кода редактора пока еще написана на CoffeeScript — это наследие ContentTools, но последние пару месяцев...

...весь новый код пишется на ES6 (когда уже четко стало понятно, что мы оставляем, а что пишем сами).

Редактор не живет внутри <iframe>, как многие другие. Он получает на вход <div> с контентом и превращает его в contenteditable

Здесь есть статья автора редактора Quill, который объясняет свой отказ от iframe: jasonchen.me/editors-and-if…

К слову, еще одним интересным проектом по пути был Trix — визуальный редактор от создателей Basecamp github.com/basecamp/trix

...но полное отсутствие документации, комментариев к коду и выбор Web Components в качестве основы остановили от использования

@jsunderhood интересно, а что в этом не так? у него хороший track record при этом
См. следующий твит. На тот момент не очень ясна была дальнейшая судьба проекта с одним основным контрибьютором. twitter.com/andreypopp/sta…

@jsunderhood про ваш крутой редактор разговоры давно идут. а где-нибудь можно его посмотреть пощупать без трудоустройства редактором? :)
Да, публичный релиз планируется через месяц-полтора twitter.com/denswor/status…

Почему в качестве основы не были выбраны CKEditor или TinyMCE? Одна из причин — лицензия GPL, которая нам не подходила.

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

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

@jsunderhood просто не понятно обоснование — человек собирает деньги на проект -> что может быть плохого?
Это не плохо. Я очень рад, что он собрал деньги и сделал продукт. Опасно то, что он в любой момент может «соскочить» twitter.com/andreypopp/sta…

Т.е. бросить поддержку проекта и заняться новым краудфандингом. А нам останется имеющийся проект как есть.

@jsunderhood вчера наткнулся на этот проект github.com/ianstormtaylor… что скажете?
Посмотрю чуть позже и отвечу. Вообще сходу напоминает фейсбуковский Draft.js, он там даже упоминается. twitter.com/eden_lane/stat…

На этом я снова возьму небольшую паузу, а вам оставлю посмотреть несколько скриншотов реальных постов из нового редактора

Здесь можно увидеть работу с сетками, стили текста, эмбеды и всякое другое
notion image
notion image
notion image

Здесь можно увидеть работу с сетками, стили текста, эмбеды и всякое другое pic.twitter.com/TsiOdAobQ5
Думаю, так оно и произойдет рано или поздно. Надо запланировать на какой-нибудь спринт :) twitter.com/jsunderhood/st…

Stack Overflow переполнен призывами авторов CKEditor и TinyMCE не пытаться писать свой собственный редактор: stackoverflow.com/a/11290082

Анатолий Буров ищет фронтендера-универсала для Главреда: facebook.com/anatoly.rr/pos…

@jsunderhood у меня алгоритмическая лента и это невозможно читать, але это твиттер че ты тут за истории строчиш
Наверное, это и есть ответ на вопрос, для чего нужны Телеграм-каналы twitter.com/i_told_ya/stat…

@jsunderhood а ты пишешь тредами?
Нет :-( Ок, я постараюсь укладывать мысли в меньшее количество твитов, а длинные объединять в треды. twitter.com/iamstarkov/sta…

Таких людей достаточно, все перечисленные технологии по факту уже стандарт, кроме Mercurial. twitter.com/Seleckis/statu…

Другое дело, что у Бюро и иже с ним требования к людям всегда особые. Думаю, им нужны не просто исполнители, а соратники по духу.

Соглашусь. На мой взгляд, грамотное именование переменных, функций, классов — базовый скилл хорошего разработчика. twitter.com/yustovskiy/sta…

«There are only two hard things in Computer Science: cache invalidation and naming things» — это ведь уже классика.

У меня когда-то давно был разработчик, который все классы и функции начинал со слова Daniil (его так звали). twitter.com/Seleckis/statu…

@jsunderhood вот это самое интересное чем руководствовался продакт дизайнер, какие принципы лежали в основе продукта
Соглашусь, но это уже тема отдельной большой истории, и она совсем не про JS :-) twitter.com/KlonD90/status…

В завершение сегодняшнего дня расскажу о том, какие фронтенд-задачи пришлось решать при разработке редактора

Кроссбраузерный и единообразный HTML-код. Как известно, contenteditable в разных браузерах может производить разный HTML.

Более того, часто это зависит не только от браузера, а от положения курсора внутри блока. Есть статья на эту тему: medium.engineering/why-contentedi…

Авторы trix-editor.org тоже пишут об этом же самом. Наше решение: Virtual DOM + генерация из него корректного единообразного HTML

@jsunderhood Веб-версия — ад, а в Твитботе всё по порядку, как и было. @i_told_ya
Всем спасибо, что указали на это, учту на будущее. Хотя у меня в веб-версии все ок. Видимо, обычный порядок ленты. twitter.com/sapegin/status…

Как правило, это следствие того, что более старая часть проекта на jQuery, а более новая — на React. Обычное дело. twitter.com/iamale_ru/stat…

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

А только у меня не открывается jsunderhood.ru ? /cc @iamstarkov

Таким образом, мы всегда имеем в наличии полное дерево элементов поста, из которого можно сгенерировать как HTML, так и что угодно другое

В принципе, виртуальным DOM'ом сейчас уже никого не удивишь. Отмечу лишь, что он и здесь нашел себе применение.

Следующая большая тема — очистка (санитайзинг) HTML и copy&paste.

В наших изданиях посты часто пишутся в Google Docs или в Word, а затем вставляются в редактор. Иногда куски текста берутся с веб-страниц.

Разумеется, всё это нужно чистить перед тем, как оно попадает в editable-область. Пока что мы используем для этого npmjs.com/package/saniti…

Он хорошо работает и имеет много настроек, но сильно утяжеляет редактор. Поэтому в дальнейшем скорее всего заменим на более легкую версию.

Copy&paste — отдельная история. Т.к. мы стараемся дать пользователям максимум удобства, наш редактор позволяет копировать целые блоки.

Т.е. можно зажать Cmd/Ctrl, выделить несколько блоков (сеток, картинок), и затем их скопировать при помощи Cmd + C

Чтобы реализовать это, пришлось воспользоваться способом, который описал разработчик Trello: stackoverflow.com/a/17528590

Вкратце: при нажатии на Cmd они открывают невидимую textarea, заполняют ее контентом и ставят туда курсор...

И когда пользователь нажимает C, то у него копируется содержимое этой textarea. Так Trello копирует карточки целиком.

У нас способ более умный, с использованием событий вроде onBeforeCopy, но в целом без хаков тоже не обошлось.

Кроссбраузерная работа с буфером обмена пока что еще остается нетривиальной задачей.

Помимо хоткеев у нас еще свое контекстное меню по правой кнопке. Тут же не обойтись без document.execCommand
notion image

🔥Тред (Егор Яковишен)
Записал короткое видео о том, как в нашем редакторе работают модульные сетки: dropbox.com/s/xt28fdbzpruw…

Вообще сетки у нас — это один из самых больших кусков кода в проекте

@jsunderhood я тогда не очень понимаю, какие могут быть гарантии “не-соскока”. У меня была такая же ситуация, и тоже с WYSIWYG.
Нанять разработчика в штат или привязать к батарее :-) А если серьезно, то 100% гарантий нет, интуиция + опыт twitter.com/rimmer333/stat…

На сегодня буду заканчивать. Если есть вопросы по редактору и не только, буду рад ответить. Завтра поговорим об образовании в IT.

@jsunderhood слился product owner, кстати, а не мейнтейнер моего компонента

Пишут, что Google ведет разработку новой ОС Fuchsia, основным языком разработки под которую будет Dart nplus1.ru/news/2016/08/1…

Вторник



@jsunderhood а что с Web Components не так?
Всё так, просто ИМХО нативная поддержка браузеров пока недостаточна для того, чтобы делать на них ставку. twitter.com/edyg/status/76…

Например, меня очень привлекает Shadow DOM, но поддержка пока слабовата caniuse.com/#feat=shadowdom

Всем привет! А Москве доброе солнечное утро. Сегодня поговорим об образовании в ИТ и про изучение JS в частности.

Так случилось, что у меня высшего образования нет. Я проучился 3 курса в МАИ, после чего бросил институт ради своего дела.

Все знания, которые у меня есть, приобрел самостоятельно: самообучение и много практики. Те самые 10 000 часов, о которых часто говорят.

Чему реально научиться в институте? Матану, алгоритмам, терверу. Это знания, которые дают возможность выйти на следующий уровень.

Кроссбраузерной верстке и Реакту в институте вряд ли научат. У института другая задача — давать фундаментальные знания.

Возможно, у вас другой опыт? Если есть люди из крутых ВУЗов вроде МГУ, МФТИ или других не-московских — расскажите.

У меня в институте большинство занятий проходило примерно так: youtube.com/watch?v=g7MDEq…

🔥Тред (Егор Яковишен)
О, тут много что можно рассказать. Я думаю завтрашний день посвятить стартапам и своему делу. twitter.com/gaserd123/stat…

Далеко не факт, что нужно все бросать. Иногда гораздо правильнее последовательно идти в одном направлении, главное не ошибиться.

With my previous team, we've been trying to build an articles hub with people ranking on materials per topic - devshelf.us.
Чтение полезных статей — часть сегодняшней темы twitter.com/LocalSourceNL/…

Спасибо, посмотрю! twitter.com/lifeasecond/st…

Уже многим очевидно, что классический подход к образованию в IT работает не слишком хорошо.

В институтах обычно учат либо фундаментальным вещам, либо устаревшим. А новой информации вокруг так много, что трудно сориентироваться.

Как уже упоминал вчера, я веду курс «JavaScript человеческим языком» в Moscow Coding School. Расскажу про свой опыт.

Курс длится 6 дней, проходит по выходным, с 15:00 до 20:00. Группы обычно состоят из 8-10 человек. Люди приходят разные:

Есть несколько четко прослеживающихся групп студентов, которые хотят получить конкретные знания.

Дизайнеры, которые рисуют статичные макеты в Photoshop или Sketch, и хотят научиться делать их интерактивными, живыми.

Особенно часто спрашивают про Framer и другие средства прототипирования, в которых можно использовать JS или CoffeeScript

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

Школьники и студенты, которые учатся на программистов или дизайнеров, и хотят прокачаться в реальной среде

🔥Тред (Егор Яковишен)
Люди, которые хотят сменить профессию.

Все в один голос рассказывают, что они слышали про JS: популярный язык, он сейчас повсюду, хочу научиться. Много вопросов по Angular и React

Вот промо-ролик курса с отзывами студентов и моими скромными комментариями: vimeo.com/165477490

Один из выпускников последнего набора — @rockbee, дизайн-директор Альфа-Банка. Вроде остался доволен, да, Иван? :)

Программа курса следующая. День 1: переменные, массивы, математические операторы, if - while - for.

День 2: функции, объекты, свойства и методы стандартных объектов JS: Array, String, Math, Date.

День 3: знакомство с DOM, селекторы, обработчики событий. Я собрал учебный прототип главной страницы Яндекса, мы на занятии пишем к ней JS.

День 4: работа с формами, клиент-сервер при помощи AJAX. Тренируемся на учебных страницах Google Sign Up и Google Sign In.

День 5: jQuery. $, когда и зачем можно использовать, анимация, easing, $.get и $.post.

День 6: либо практическая самостоятельная работа, либо мой длинный рассказ о том, что может JS: canvas, contenteditable, Web Sockets и т.д.

Для самостоятельного чтения всегда всех отправляю на learn.javascript.ru. Пока что на русском языке аналогов нет.

🔥Тред (Егор Яковишен)
@jsunderhood ну а если с полифилами?
Можно, конечно. Просто, на мой взгляд, использование фича-полифиллов должно быть оправдано реальной необходимостью. twitter.com/edyg/status/76…

Самый частый вопрос от разработчиков :) Не весь JS, разумеется. Это интенсив. Толчок в правильном направлении. twitter.com/zhyvebelarus/s…

@jsunderhood и как это помогает руководителям понять работу фронтэндеров?
Они начинают мыслить, как разработчики. И пробуют общаться с ними на одном языке: абстракции, алгоритмы и т.д. twitter.com/eljusto/status…

@jsunderhood за шесть-то дней? мне кажется, это наоборот, мешает и наполняет их ложной уверенностью в том, что они "разбираются".
Ложной уверенности обычно нет. С курса все уходят с чувством, что они сделали первый шаг, но впереди еще много. twitter.com/eljusto/status…

@jsunderhood любые знания - это стратегическая инвестиция времени. Выстрелит в будущем, если грамотно инвестировать
Так и есть. Правда, в школе и институте это не всегда понимаешь. twitter.com/mr_mig_by/stat…

@jsunderhood курсы - тема редко полезная. Надо до всего доходить самому. Довольствоваться тем, что там дают - пустая трата времени и денег
Насчет доходить самому — согласен, но иногда начинающим просто трудно понять, с чего начать. twitter.com/vbifonix/statu…

Markdown comes to Facebook! pic.twitter.com/UiQzHdAv2S
Теперь можно будет писать в FB не просто plain text? twitter.com/eugenekudashev…

@jsunderhood для этого нужен ментор. Причем, ментором может быть каждый. Мы просто об этом не знаем :\
Да, ментор — правильное слово. twitter.com/mr_mig_by/stat…

@jsunderhood pic.twitter.com/0Vmk9xUWEj
Ура, сниппеты кода в FB! twitter.com/eugenekudashev…

Падаван ищет джедая на севере галактики twitter.com/petrthepig/sta…

@jsunderhood Я тоже разрабатываю свой редактор vimeo.com/115951444
Интересно, посмотрел. А можно отредактировать код эмбеда после вставки? Или только удалить и вставить снова? twitter.com/tanraya/status…

Скоро вернусь и поговорим про то, как продолжать учиться, если ты уже опытный разработчик. А пока вопрос по терминологии:

Есть ли четкое отличие между Junior, Middle и Senior Front-end Developer? Особенно Senior — мне кажется, это очень широкое понятие.

d3js.org Комьюнити, что еще удобное и мощное? twitter.com/way2bariton/st…

А вот фоточки с WordCamp, где мы представили Wordpress-плагин для нашего редактора. Релиз в сентябре. facebook.com/setka.io/posts…

Скоро вернусь и поговорим про то, как продолжать учиться, если ты уже опытный разработчик. А пока вопрос по терминологии:
Так вот. В современной веб-разработке достаточно уйти в сторону на 2-3 года, и половина слов уже станет незнакомой. twitter.com/jsunderhood/st…

Так вот. В современной веб-разработке достаточно уйти в сторону на 2-3 года, и половина слов уже станет незнакомой. twitter.com/jsunderhood/st…
Очевидные примеры — React и Redux, за пару лет ставшие фактически стандартными инструментами фронтендеров twitter.com/jsunderhood/st…

В следующем году этот пример станет неактуальным, но я его люблю: еще не прошло 10 лет с появления первого айфона. Мы видели революцию.

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

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

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

Возникают вопросы: как успевать следить за новой инфой? как не утонуть в ней? как отделить знаковые вещи от проходных?

Сколько у вас непрочитанных статей в Pocket? Я в какой-то момент перевалил за 1000. Сейчас, наверное, около 2000. И продолжаю добавлять.

Меня давно волнуют вопросы продуктивности и непрерывного обучения. Недавно попробовал составить список источников информации по фронтенду.

Принято. А как решаешь вопрос «вижу интересную статью, надо будет почитать»? twitter.com/_sashashakun/s…

Как онлайн-источников, так и оффлайн. Цифровых и аналоговых. Короче, всех, с которыми сталкиваюсь. Поехали:

Совершенно верно. Тут скорее вопрос в том, как выставить приоритеты в употреблении внешней информации. twitter.com/_sashashakun/s…

Есть такое понятие FOMO (аббревиатура fear of missing out) — страх упустить события, происходящие в жизни знакомых или незнакомых людей.

Примером проявления FOMO может быть знакомая всем привычка без конца проверять обновления в Twitter, Инстаграм и Facebook.

Нечто подобное с «интересной инфой про разработку». Порой видишь статью с громким заголовком и становится сложно просто пройти мимо неё.

🔥Тред (Егор Яковишен)
@jsunderhood открываю в новой табе. Уже нет места под фавиконоки, но зато больше мотивация прочитать. Такая же ситуация и в телефоне :D
Ага, я тоже последнее время этим пользуюсь. Пока работает :) twitter.com/Denis_dp/statu…

Так вот, источники. 1 — RSS. Когда зачитывался, но после смерти Google Reader лично для меня отошел на второй план. Как у вас? Feedly?

2 — Твиттер. Здесь много крутых разработчиков, особенно зарубежных. Главное не подписываться на троллей и спамеров.

Особенно после запуска рекомендаций по аккаунтам стало удобно подписываться на интересных людей.

Лично меня в твиттере смущает: а) масса нерелевантной инфы б) формат твитов не всегда дает развернуться. Но зато всё очень быстро.

Тогда надо подождать еще 2-3 года, прежде чем писать на том же Реакте? A Redux вообще году к 2020 открывать? twitter.com/_sashashakun/s…

3 — Medium. Один из самых умных каналов на текущий момент. Крутые читабельные лонгриды, толковые авторы. Только кириллица страшная.

🔥Тред (Егор Яковишен)
4 — Рассылки вроде DailyJS, JavaScriptKicks, NodeWeeky и т.д. Формат хорош тем, что туда попадают подобранные материалы, и это раз в неделю.

У меня в почте они все падают сразу в отдельную папку JS, которую я просматриваю по вечерам пару раз в неделю.

5 — агрегаторы статей по предпочтениям. Недавно открыл для себя приложение MyBridge. Оно в раз неделю присылает топ-10 статей по фронтенду.

Разработчики пишут, что у них собственный AI-алгоритм, который выбирает только лучшее под твои предпочтения. itunes.apple.com/ru/app/mybridg…

По похожему пути идет Pocket со своими Recommended Articles, но лично мне от них постоянно приходят тексты про экологию и выборы в США.

6 — чатики в Telegram, в частности, те, которые продвигает @DenisIzmaylov. Там много крутых людей, но лично мне формат не подходит :(

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

Тем не менее приведу пару ссылок: telegram.me/react_js, telegram.me/nodejs_ru

🔥Тред (Егор Яковишен)
7 — GitHub. Один из самых полезных источников, но требующих мозговых усилий. Возможность почитать код, написанный в Google/Facebook — кайф.

8 — Slack, Gitter и другие «технические» чатики. Опять же, на мой взгляд, КПД таких тусовок слишком мал, чтобы постоянно там находиться.

@jsunderhood нужна помощь сообщества. Как обойти TypeError при оборачивании DOM ноды в Proxy объект. Не выходит каменный цветок(
Призываю опыт комьюнити twitter.com/slonoed/status…

9 — Google Plus. Неоднократно слышал, что там сидят гики. Сам не пробовал :) У кого-нибудь есть положительный/отрицательный опыт?

10 — Quora, StackOverflow и другие QA-проекты. И тот, и другой — отличные сайты, но кроме как из Гугла туда редко попадаешь.

Мне очень нравится Quora, но недавно читал, что они до сих пор не нашли путь монетизации. Так что будущее неясно.

🔥Тред (Егор Яковишен)
11 — сайты/блоги вроде SitePoint, Smashing Magazine, PonyFoo и др. Материалы обычно начально-среднего уровня, зато очень хорошо поданные.

у всех есть рассылки, которые могут так же тихо сыпаться в папку JS для отложенного просмотра

12 — видео-курсы. Udemy, Egghead, да и весь YouTube. На мой взгляд, очень эффективное средство, если нужно быстро в чем-то разобраться.

Видишь живой код, параллельно слушаешь автора и заодно прокачиваешь английский на слух. Лично для меня работает на ура.

Правда, на видео редко записывают решение каких-то нестандартных задач. Зато есть отличные туториалы от А до Я.

13 — подкасты. Из русскоязычных: RadioJS, Веб-стандарты. Удобный формат, чтобы слушать по пути куда-то, когда не получается читать.

14 — книги. Хорошая книга стоит десяти блогов. Пользу Флэнагана и Кроуфорда переоценить сложно.

Мне нравится то, что появляется на leanpub.com

15 — спецификации W3 и WHATWG. Это не для всех :) Требуют недюжинной усидчивости и времени, хотя написаны проще, чем многие думают.

Зато прочитав разок спеку какого-нибудь DOM Node можно открыть для себя много фундаментальных деталей

🔥Тред (Егор Яковишен)
16 — конференции и митапы. Я лично призываю выбираться на мероприятия. Это полезно как с точки зрения «людей посмотреть», так и знакомствами

Кто знает, может сегодняшний докладчик станет вашим завтрашним работодателем? Комьюнити — важная вещь, и отдельное спасибо @jsunderhood

Митапы мне еще нравятся тем, что можно посмотреть на разные офисы :) Кстати, через 10 дней лечу в Вильнюс на @frontend_union

17 — отдельным пунктом Хабр, т.к. у сообщества к нему полярное отношение. Встречаются неплохие туториалы для начинающих, но...

...но в целом не вижу особого смысла его читать сейчас. Переводы иностранных статей и блоги компаний — что там еще осталось?

18 — малопопулярные в России сообщества вроде LinkedIn Groups, Reddit, HackerNews. Какое-то время следил за JS-группой в LinkedIn, отписался

19 и последнее — Facebook. Удобен тем, кто там проводит много времени. Много лишнего и неочевидного, но зато это сеть живых людей.

🔥Тред (Егор Яковишен)
Итог. Я последнее время крайне проникся идеями фокусировки и less is more. Затачивайте пилу в чем-то одном, но не забывайте смотреть вокруг.

Не стоит фолловить 1000 человек, подписываться на 20 рассылок и 50 RSS. Ничего, кроме фрустрации и шума, не получите.

Кстати, если кто не знает — есть отличная рассылка Umar Hansa про использование Chrome Developer Tools

Там всякие хоткеи и трики. Показываются гифками прямо в письме.

🔥Тред (Егор Яковишен)
Если чувствуете, что взяли на себя больше информации, чем можете переваривать, смело убирайте все лишнее. Unsubscribe, unfollow — это просто

@jsunderhood @_sashashakun GTD и прочее управление временем и проектами вам в помощь
Ага. GTD пользуюсь последние года полтора. В качестве софта использую Omnifocus. Он дорогой, но функциональный. twitter.com/mr_mig_by/stat…

Правилами в настройках почтового интерфейса Gmail или какая у тебя почта. У меня iCloud, например. twitter.com/gearmobile/sta…

@jsunderhood Вилейдж в твиттере часто репостит древние посты. Это тоже какая-то автоматика и самописная тулза, или редакторы ручками?
Хороший вопрос. Завтра спрошу у ребят. Вообще у нас соцсетями занимаются комьюнити-менеджеры. twitter.com/zyus/status/76…

Кстати, если кто не знает — есть отличная рассылка Umar Hansa про использование Chrome Developer Tools
Вот он в тви: @umaar twitter.com/jsunderhood/st…

@jsunderhood про кпд - скажу обратное.
Интересно. Давай подробнее! twitter.com/blia/status/76…

@gearmobile @jsunderhood у гмейла есть килер-фича: знак + в адресе. Pupkin+js@gmail.com будет получить письма на pupkin@gmail.com в тег js

@mr_mig_by @gearmobile @jsunderhood у меня QA так на 1 ящик тьму учёток регают,типа user+test1@company.com и т.п.
Про тьму учеток через плюс давно знаю, а вот про автоматическое попадание писем в тег — не знал. twitter.com/de_gis/status/…

Среда


@jsunderhood можно почитать код реакта и - не кайф становится. Видна большая система с кучей технического долга.
Технический долг — это хорошо! :) Часто это неотъемлемая составляющая успешного продукта. twitter.com/vitkarpov/stat…

Я недавно общался с ребятами из российского Uber. В плане IT много неразберихи, куча сайтов, систем... зато самый дорогой стартап в мире.

Это мы потихоньку подходим к теме завтрашней беседы — свой бизнес и стартапы.

@jsunderhood Если кто-то получает мало рассылок: blog.sapegin.me/all/frontend-m…
С языка снял: someone is working hard so you have to choose one or two best articles out of just 20 instead of 100. twitter.com/sapegin/status…

@jsunderhood Фидли + Риидер.
Reeder хорош, но в какой-то момент пожалел денег на него. twitter.com/sapegin/status…

@jsunderhood У меня в RSS человек 200—300, в день редко больше 30 записей бывает.
Это всё айтишники или не только? twitter.com/sapegin/status…

@jsunderhood в gitter очень классное сообщество dev-ua. Очень прокачивает активное участие в беседах. Уверен, что многие читатели подтвердят
Читатели, подтверждайте! twitter.com/blia/status/76…

Вдогонку к вчерашней теме приведу уже классические выступления на тему анти-хайпа и гонки за новыми технологиями

Андрей Листочкин, «Анти-хайп. Как не гнаться за технологиями и начать жить» youtube.com/watch?v=xPFRUM…

Алексей Симоненко из HTML Academy, «Как я перестал верить технологиям» youtube.com/watch?v=p5g4gi…

За ссылки спасибо @alexey_m_ukolov

Привет всем! Среда — это маленькая пятница. Сегодня поговорим про свой бизнес и IT-стартапы.

(кстати, многие читатели подтвердили, что dev-ua в gitter — хороший, годный канал)

Мой предпринимательский опыт состоит из трех частей: веб-студия, digital-агентство и travel-стартап.

Веб-студия была в далеких 2008-2011 гг. Это был классический микробизнес: мы сидели в маленьком офисе и делали маленькие сайты.

По очереди. Каждый планомерно перетекал в следующий. twitter.com/kbytin/status/…

Параллельно я пытался учиться в МАИ, но в какой-то момент нужно было принимать решение, и я выбрал свое дело (и ушел из института)

Сайты делались сначала на MODx, потом на Битриксе. Бюджет проектов варьировался в пределах 10-100 тысяч рублей.

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

Во-первых, отсутствовало какое-либо понимание о ценообразовании, конкурентном преимуществе, своей нише. Мы хватались за любых клиентов.

Бюджеты проекта определялись с потолка, просто на интуиции. Называешь сумму, смотришь на реакцию заказчика. Если он просит скидку — даешь её

Хорошо помню парня, который несколько часов мне рассказывал про свой миллиардный бизнес, а в конце попросил быстро сделать сайт за 7000 р.

Продаж и маркетинга практически не существовало. Основными каналами было сарафанное радио, холодные звонки и письма, ...

...а также раздел «Для партнеров» на сайте Битрикса, куда сыпались клиентские заявки, и их нужно было успеть ухватить.

Надо отметить, что время от времени удавалось случайно продать большие проекты: 700 тыс. и даже 1 млн руб.

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

🔥Тред (Егор Яковишен)
@jsunderhood а в тендерах участвовали?
Да, бывало, но основным нашим аргументом в тендерах была цена. Один раз удалось выиграть тендер на интранет банка. twitter.com/Oleshkevich/st…

Еще одна большая ошибка — сотрудники. Во-первых, мы постоянно пытались нанять кого-то в штат. Это несло за собой доп. затраты: офис, налоги

С фрилансерами тоже не получалось по-нормальному работать: они срывали сроки работы, мы срывали сроки оплаты. Классика!

Денег на квалифицированных программистов у нас не было, поэтому мы брали дешевых, которые мало что умели.

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

В какой-то момент наш главный клиент предложил стать нашим партнером, войти в долю и отдать нам все свои проекты. Мы радостно согласились,

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

Но очень скоро выяснилось, что новый партнер хочет всё делать очень дешево и при этом участвовать во всех процессах.

В итоге через полгода мы окончательно потеряли с ним взаимопонимание, и решили расстаться. Вместе с партнером пришлось покинуть и офис.

🔥Тред (Егор Яковишен)
По прошествии времени основные ошибки того времени я для себя записал так:

Отсутствие выстроенного процесса продаж, маркетинга, рекламы, планирования. Деньги — кровеносная система бизнеса.

Лишние постоянные затраты (большой офис, юрист в штате, дорогой интернет для юр. лиц)

Оформление людей в штат, лишние налоги, превратившиеся в задолженность. Сложность вывода денег со счета ООО.

Нехватка квалифицированных сотрудников, попытка делать всё самостоятельно.

Нечеткая формулировка задач в ТЗ

Как следствие, отрицательный cash flow и постоянный стресс.

Нужна платная консультация по react native по скайпу, к кому можно обратиться? @jsunderhood
Кто готов поговорить про React Native? twitter.com/FladeX/status/…

Тем не менее, было приобретено очень много полезного опыта, как отрицательного, так и положительного, который пригодился позже.

На тему рынка веб-разработки недавно вышло хорошее исследование CMS Magazine с красноречивым названием: research.cmsmagazine.ru/web-developmen…

Если вкратце, то сегодня это сверхконкурентный рынок с крайне низким порогом входа (выучил HTML, сделал сайт, назвался студией)

Стартовать компанию, которая будет заниматься «веб-разработкой вообще» сегодня нет никакого смысла. Особенно если вы разработчик.

Во-первых, это плохо масштабируется, т.к. основной ресурс — это программисты и дизайнеры. Их мало, и у вас нет для них хорошей зарплаты.

Во-вторых, вы не предлагаете ничего уникального. Сайты сейчас делают все подряд. А с появлением конструкторов вроде WIX — тем более.

Рынок проектов до 100 тыс. руб. стремительно уходит в автоматику (конструкторы, агрегаторы), т.к. там почти всё можно поставить на поток.

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

Путь, который может работать — четкая фокусировка, серьезная компетенция и высокие цены. Примеры: @datalaboratory @evilmartians

Выбираете что-то одно, что вы делаете круто. Повышаете цены, ищете «своих» клиентов. Делаете это реально круто и всем об этом рассказываете.

🔥Тред (Егор Яковишен)
И, наверное, главное правило малого бизнеса: имеет смысл им заниматься, если он приносит денег значительно больше, чем зарплата.

Т.е. если вы получаете 100 000, а малый бизнес В ТЕОРИИ может приносить 150 — не надо. Просто найдите время на фриланс или смените работу.

А вот если есть четкая уверенность, что свое дело принесет кратно больше денег, например, 500к/месяц — можно подумать.

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

На мой взгляд, в малом бизнесе невозможно планировать на три года вперед. В лучшем случае на год, и то много. twitter.com/SheVasya/statu…

Будьте готовы к тому, что уйдя в бизнес вам придется перестать программировать. Вы будете продавать, управлять, считать, но не кодить.

Другой путь: найти партнера, который будет делать это за вас. Но тогда всегда есть риск, что вы останетесь за бортом. Деньгам нужен контроль

🔥Тред (Егор Яковишен)
Большинство компаний умирают в первые 2 года жизни. Если фирма за год не вырастет в несколько раз, ее ждет смерть. twitter.com/SheVasya/statu…

К слову, моей первой попыткой предпринимательства в 16 лет была продуктовая палатка в колледже МГКИТ (кажется, там учился @iamsapegin)

Она просуществовала 10 дней :—) Вот здесь я писал ностальгический пост с фотками про это: facebook.com/yaplusplus/pos…

Изначально все планы кажутся гениальными и прорывными. Проверить это можно только об рынок. twitter.com/SheVasya/statu…

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

...маленьких компаний или фрилансеров, которые предлагают свои услуги по верстке и программированию на подряде. Это путь в никуда.

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

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

🔥Тред (Егор Яковишен)
Как правило, это скиллы по сдаче проектов в кратчайшие сроки :) База — не факт, т.к. NDA не развивает портфолио twitter.com/serhiopascale/…

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

А вечером поговорим про стартапы, инвестиции, акселераторы и технологии.

@jsunderhood кстати, как себя можно было бы зарекомендовать, если почти все под nda или на подряде(сделал, а на какой домен залили - неизв)?
Многие талантливые люди работают анонимно. Не только программисты, в том числе дизайнеры, копирайтеры и т.д. twitter.com/PMarinchenko/s…

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

@SheVasya Я не уверен что автор говорил про не-IT бизнес. Идти новым бизнесом в место с заполненым рынком - глупо. @jsunderhood
Скажем так: делать yet another business на заполненном конкурентном рынке — глупо. twitter.com/freiksenet_ru/…

Про стартапы есть интересный телеграм-канал Аркадия Морейниса: telegram.me/temno (да и много других источников, об этом позже)

«Поглотить если что» — это классно :)) А вот про подход на голову выше — это правильно. Но это уже не yet another twitter.com/SheVasya/statu…

И еще. Уходя в бизнес, вы скорее всего перестанете кодить и начнете заниматься десятками разных других дел.

Маркетинг, бухгалтерия, управления проектами и людьми, продажи, переговоры, офисное хозяйство, налоги...

Пока у вас маленькая команда, вам придется участвовать во всех этих процессах. Это дает массу нового и интересного опыта, но это расфокус

В какой-то момент вы начнете ловить себя на том, что забываете названия CSS-свойств и методов стандартной библиотеки

Ситуация простая: вы перестаете быть программистом и становитесь предпринимателем. А предприниматель — это в первую очередь деньги.

Есть путь управленца и есть путь эксперта. Перед тем, как открывать компанию, задумайтесь: какой ваш путь?

🔥Тред (Егор Яковишен)
И последнее на этот час: лично я ни разу за свой предпринимательский опыт (~7 лет) не сталкивался с давлением госорганов.

Более того, в начале пути ГБУ МБМ даже выдал нам субсидию на развитие бизнеса (300 000 рублей, кажется).

Минутка хантинга: мы все еще ищем фронтендеров в Setka и Look At Media, а также Ruby-бэкендеров. Пишите на yakovishen@setka.io

@jsunderhood Я вообще сейчас делаю отдельный "движок" для редактора github.com/easywyg/mekong - это слой "Модель"
Ага, вот автор QuillJS тем же самым занимается: github.com/quilljs/parchm… twitter.com/tanraya/status…

Недели три назад пересел на работе на iMac 27''. Наслаждаюсь режимом Split View:
notion image

Комьюнити, кто-нибудь сталкивался с проблемами производительности CSS-calc() на мобильных устройствах? Они есть?

25 августа на MoscowJS 33 в Рамблере расскажу про наш опыт создания WYSIWYG-редактора: moscowjs.timepad.ru/event/363568/

@mr_mig_by @stewardtz у меня обратная система - ноут без внешних экранов, шрифт 24 пункта. На экране 22 строки кода и все. @jsunderhood

@dshster А я не понимаю, зачем вообще нужно 27". Был на прошлой работе — 24" удобнее. @jsunderhood
Удобно держать редактор и браузер side by side. До этого сидел на 21'', там так не получалось. twitter.com/sapegin/status…

Пока есть пару минут, расскажу про наш стек разработки — беспроигрышная тема в любом dev-сообществе.

Как я уже говорил, бэкенд на всех проектах написан на Ruby on Rails. На фронте есть исторические Backbone и jQuery, на новых проектах React

Код держим во внутреннем репозитории в GitLab, проекты ведем в Asana (а отдел спецпроектов — в Basecamp)

Но сейчас серьезно подумываем о переезде на YouTrack. Код пишем в Sublime и Atom.

🔥Тред (Егор Яковишен)
Работают все на Маках, наверное, кроме бухгалтерии. Недавно дизайнеру купили iMac 27'' retina, любовались на него часа два

@jsunderhood А что такое спец-проекты? Чем они отличаются от обычных?
Спецпроекты — это посты, которые спонсируют рекламодатели. Ими занимается отдельная команда, независимая от редакции twitter.com/alexdanilov/st…

Все такие посты помечены. Вот, например: the-village.ru/village/city/s…

@jsunderhood YouTrack какой-то деревяный в плане UI/UX :(
Да, он не очень sexy, зато мощный в плане выборок и фильтров. И вроде подешевле, чем Jira. twitter.com/lastfin/status…

Почему программирование — это долго и сложно quora.com/How-do-I-expla…

That's a nice one. List of companies using @polymer twitter.com/ebidel/status/…
Google много где использует Polymer twitter.com/LocalSourceNL/…

Here are the release notes for today’s Safari Technology Preview release 11. webkit.org/blog/6883/rele… pic.twitter.com/cKoIq2GmK6
Fixed performance issues with <marquee> with truespeed attribute. Включай бегущую строку, она больше не тормозит! twitter.com/webkit/status/…

Итак, про стартапы. В 2012 году мы с коллегой решили оставить заказную разработку и сделать свой стартап.

Мотивация была довольно стандартная: хотелось делать свой продукт, не завися от постоянно меняющихся хотелок клиентов.

Во ФРИИ говорят, что у стартапов бывает две проблемы: когда нет денег и когда они есть. Мы попали во вторую категорию.

Практически сразу мы нашли знакомых инвесторов, весьма далеких от интернета, но имеющих желание в него вложиться.

Конкретной идеи проекта у нас не было, и нам предложили её придумать. Сначала мы стали думать в сторону платформы для лидогенерации.

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

Каждый из них был заядлым путешественником и имел массу идей о том, каким должен быть сайт по продаже билетов.

В итоге после 5-10 встреч-переговоров мы пришли к следующему решению: будем делать систему планирования путешествий.

Агрегатор, который собирал бы воедино авиаперелеты, отели, бронирование авто, страховки и т.д, и помогал бы все выбрать и оплатить разом.

Мы быстро хлопнули по рукам и воодушевленно начали делать то, что мы умели лучше всего — делать сайт. Нам был предоставлен офис и зарплаты.

Доли в проекте были поделены между нами и инвесторами пополам.

Непосредственной движущей силой проекта были я и мой коллега. На его стороне был бэкенд и общий vision, на моей — фронтенд и интерфейс.

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

Мы узнали, что такое системы бронирования, GDS, депозиты, билетные кассы, субагенты, агентские комиссии, метапоиск, ваучеры и т.д.

Оказалось, что сделать глобальную систему планирования весьма сложно — нужно агрегировать данные из десятков и сотен источников

...вносить депозитные средства к разным партнерам, выполнять требования IATA и много что еще. Надо было сужать фокус.

Мы посмотрели на всё это и решили начать с одной простой и популярной ниши — бронирование туров. Комиссия от операторов составляла 10-15%.

При средней стоимости тура от 50 000 руб. и выше. По первым прикидкам даже с конверсией 1% можно было заработать много денег.

У инвесторов было понимание, что мы не сможем перебить крупных конкурентов бюджетом, и поэтому нужно было сосредоточиться на продукте.

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

И, разумеется, это должно было быть Single Page Application. Правда, тогда мы не знали такого слова и говорили просто «как во ВКонтакте»

Мы заключили партнерский договор с компанией «САМО-софт», которая уже агрегировала туры у многих операторов.

Она открыла нам шлюз для поисковых запросов на туры, а также для отправки броней прямо в систему туроператоров.

Мой коллега сел писать бэкенд на Yii framework. На его долю выпало решать сложные задачи по кэшированию, обработке отказов, парсингу

Я же довольно быстро уперся в потолок jQuery и решил выбрать подходящий инструмент для SPA. В итоге выбор пал на YUI3, библиотеку от Yahoo

YUI3 во многом очень напоминала Backbone, только была гораздо больше и включала очень много чего (что меня и привлекло)

У неё были свои методы для работы с DOM, AJAX, роутинг, MVC, анимации, утилиты... можно было практически не брать ничего другого.

🔥Тред (Егор Яковишен)
Я специально поднял несколько макетов интерфейса. Поиск туров:
notion image

Страница отеля:
notion image

Бронирование:
notion image

Проблем по ходу возникало много. Шлюз для поиска и бронирования постоянно давал сбои. Постоянно не хватало фоток и описаний отелей.

Приходилось отлаживать IE8 и старую Оперу. Но мы не сдавались и продолжали пилить, будучи уверены в том, что наш интерфейс всех покорит.

Я тогда сполна пережил все прелести разработки SPA: обработка роутов, куча отдельных View и десятки перекрестных событий, общий app state

В самом начале проекта мы планировали за 3 месяца запустить прототип, еще за 3 месяца доработать его, и через полгода уже начать продажи

Как вы думаете, сколько времени на самом деле заняла разработка?

Два года.

Два года мы пилили, допиливали и перепиливали систему. Постоянно возникали новые баги, идеи для улучшения, новые пожелания инвесторов.

Бюджет проекта продолжал расти. Когда он достиг 5 млн рублей, инвесторы сказали «Стоп». Жаль, что это не произошло годом раньше.

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

При этом ни одной продажи сделано не было. Инвесторы устали и потеряли интерес к проекту.

На собрании учредителей было принято решение: финансирование проекта приостановлено, чтобы понять, нужен ли он кому-нибудь на рынке.

К тому времени уже наступил 2014 год, грянул новый кризис, полопались десятки туроператоров, упал рубль и появились санкции.

Словом, отличное время для туристического бизнеса :)

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

Сначала дело шло вяло. Мы отправили заявку в пару стартап-акселераторов, нам прислали кучу вопросов про нишу и конкурентное преимущество

Правильных ответов на тот момент у нас не было. Мы продолжали верить, что система бронирования с красивым интерфейсом — это нужно всем

Зато в 2015 году дела пошли на подъём. Мы пропитчили наш проект на конференции TravelUP, которую устраивала QIWI, и попали в пятерку лидеров

...с которыми QIWI была готова делать совместный пилотный проект в тревел-области. Это нас воодушевило — проект был кому-то интересен!

Вот пост на VC про это мероприятие: vc.ru/n/qiwi-travel-…

Далее случилось совсем невероятное. Мы попали в Альфакэмп, совместный стартап-акселератор Альфа-Банка и ФРИИ.

В акселератор было подано около 800 заявок, из них около 1000 выступили на демо-дне, и только 30 прошли в акселератор. И мы в том числе!

Это придало сил и энергии. Мы были готовы предложить Альфа-Банку свою платформу в обмен на их трафик.

В какой-то момент мы даже стали думать, что можно вообще забыть о привлечении клиентов своими силами, достаточно иметь крутого партнера

Акселератор стартовал в июне 2015 года и длился два месяца. Это, наверное, были самые полезные два месяца для нашего проекта.

За эти два месяца мы успели познакомиться с массой умных людей, экспертов ФРИИ и Альфы, а также посмотреть на другие проекты.

Очень коротко перескажу основные идеи, которые пытаются донести до начинающих стартаперов.

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

@webholt @jsunderhood 5 лямов / 24 мес = 208 333 руб/мес. И это без налогов! Вы там за Доширак работали что ли?
Не стоит забывать, что мы были не наемными работниками, а кофаундерами проекта. twitter.com/know4sure/stat…

Большинство проектов умирают потому, что они оказались никому не нужны, и у них закончились деньги.

Если стартап не начинает зарабатывать в первые месяцы своего существования, он почти наверняка умрет. В лучшем случае через год.

Стартап должен решать реальную проблему реальных людей. Только тогда они будут готовы отдать вам свои деньги.

Далеко не каждый бизнес является венчурным. Магазин «Продукты» неинтересен инвестору, т.к. не вырастет в 10 и более раз.

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

У стартапа должен быть рынок. Для ФРИИ объем рынка должен быть от 300 млн рублей в год и более.

Стартап, застрявший на обороте в 1 млн рублей, скорее всего банкрот. Конкуренция задавит. Нужен постоянный рост.

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

Ко всем своим и чужим идеям следует относиться как к гипотезам, пока они не подтверждены метриками. Не надо работать по интуиции.

В первую очередь надо продавать новаторам, тем самым early adopters, но основные деньги — у большинства.

🔥Тред (Егор Яковишен)
Акселератор — крайне полезная среда, ставящая мозги на место и приучающая мыслить как product owner.

В заключение скажу, что мы сделали мощный пивот, сфокусировались, и ФРИИ пригласили нас очный акселератор, ...

...предложив 2,1 млн рублей за 7% компании. Но мы к тому моменту уже порядком устали и решили сделать паузу.

В настоящий момент проект заморожен, но не брошен. Мы провели более 100 интервью с клиентами, выявили боль и придумали решение.

🔥Тред (Егор Яковишен)
@webholt @jsunderhood потом директор фирмы спиздила все деньги и съебалась из страны

У Setka в этом плане есть серьезное конкурентное преимущество: рядом с нами сидит 3 редакции реальных больших проектов.

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

А библиотека YUI, кстати, была похоронена самим Yahoo в конце 2014 года.

Что бы я изменил сейчас, окажись в начале этой истории? 1) Не лез бы в туризм 2) Нашел бы нишу и сфокусировался 3) Выявил реальные проблемы

Сразу бы начинал продажи, а продукт адаптировал под изменяющуюся реальность

Как сказал один из экспертов ФРИИ, есть два типа стартаперов: одни быстро релизят говно и начинают продавать, вторые вечно пилят продукт

Говно = максимальная простая версия продукта, решающая реальные проблемы пользователей. Minimal Viable Product.

Еще одной большой ошибкой было то, что мы плохо посчитали стоимость привлечения покупателей.

В таком бизнесе, как онлайн-тревел (да и вообще e-commerce) это ключевой показатель. На нашем рынке CAC составлял 4000-8000 руб.

(CAC = customer acquisition cost)

Т.е. сначала нужно было потратить 4-8 тыс. руб. на рекламу, затем продать юзеру тур за 50-80 тыс. руб., получить свои 10% комиссии, ...

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

И что самое интересное — это проблема всех игроков на рынке, включая гигантов. Поэтому все пытаются вас удержать и не отдать.

Нашел дешевый источник качественного трафика — ты король. И при этом абсолютно неважно, на Реакте твой сайт или на YUI :)

🔥Тред (Егор Яковишен)

Четверг


Про важность Developer Experience: medium.com/@girlie_mac/de…

@jsunderhood а на что жили во время работы над проектом? Инвесторские деньги = зарплата, или как-то сложнее?
были еще второстепенные источники доходов из digital-сферы twitter.com/Oleshkevich/st…

@jsunderhood Даже если на php? 😳
Даже если на HTML twitter.com/taujavarob/sta…

Сегодня поговорим о работе программистом. Вакансии, зарплаты, умения, продуктивность, инструменты, языки, вот это всё.

Я почти ни дня не работал в области, не связанной с IT. В 17 лет полдня проработал курьером, а на след. день устроился HTML-верстальщиком

До сих пор даже существует сайт маленькой студии, где я верстал шаблонные сайты на таблицах и самописной CMS: webmedia.ru

Уже затрагивали во вторник утром. Но можно еще потрогать :) Что думаете на этот счет? twitter.com/octowed/status…

Languages you should be learning: Erlang/Elixir, Elm, OCaml, Haskell, Racket/Lisp, Go, Rust
Кто что изучает? Или уже использует в продакшне? Go так наверняка. twitter.com/unbalancedpare…

@jsunderhood @octowed сложно трудоустроиться. У нас все сеньоры -- ПТУшники, а джуниоры и начальник -- с вышкой. ПТУ -- знак качества!
Раз зашла речь про трудоустройство, скажу свое мнение. По моим наблюдением, у фронтендеров сейчас золотой век. twitter.com/rubynovich/sta…

Людей мало, толковых еще меньше, но при этом они нужны всем, т.к. все современные web apps напичканы фронтендом по самое-самое

В конце прошлого года я решил устроиться на работу. В резюме последние 7 лет: своя студия, агентство, стартап. В/о нет, в Яндексе не работал

Примерно за 2-3 недели я обошел 10 собеседований (Москва), получил 5 офферов. Мог продолжать, но пора было определяться.

В итоге выбирал между ТуТу.ру, Parallels, Mail.ru, Setka и еще парой компаний. Выбрал Сетку из-за интересных задач и драйвового духа

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

🔥Тред (Егор Яковишен)
Совсем не факт. Я почти год проработал в гос. учреждении, не имея вышки. Мне кажется, скиллы все же на первом месте. twitter.com/octowed/status…

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

@jsunderhood @octowed это не только фронта касается, но и ИТ в целом.
Соглашусь. Разработчиков заманивают, как принцесс — печеньками, соцпакетом, спортзалом и курсами английского :) twitter.com/rubynovich/sta…

Как правило, понимание того, что такое хороший разработчик, приходит уже после получения диплома :) twitter.com/octowed/status…

@jsunderhood наличие диплома ещё никого не сделало хорошим разработчиком (ах если бы всё так просто было)
Мне на одном собеседовании задали вопрос: что такое «плохой разработчик»? Вы как думаете? twitter.com/Sigiller/statu…


Про алгоритмы и математику согласен. Самому это труднее освоить (и заставить себя освоить). twitter.com/octowed/status…

@jsunderhood чем больше ответственности у спеца, тем больший вес имеет доверие. На регалии, статус и резюме там уже пофиг. Отзывы важнее
Поэтому находите время на публичную активность и пишите в опенсорс twitter.com/mr_mig_by/stat…

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

Не соглашусь. Когда долго сидишь дома тихо сам с собой, начинаешь терять ощущение реальности. Команда — это круто. twitter.com/_sashashakun/s…

Я про физическое нахождение в команде. К слову, лучший офис IT-компании, в котором я бывал в Москве — Avito. twitter.com/_sashashakun/s…

А, это да. У нас в Сетке нормально относятся к тому, если кто-то временами работает из дома. twitter.com/_sashashakun/s…

Несколько прошлогодних фотографий из офиса Авито. Очень уютно =^..^=
notion image
notion image
notion image
notion image

notion image
notion image
notion image

А вот команда Сетки полугодичной давности. Сейчас уже в два раза больше людей. (я в качестве background-image)
notion image

Она же, откластеризованная по признаку наличия бороды
notion image

@jsunderhood опенспейс? Шумно же?
Это самый тихий офис, в котором я был. Там даже разговаривают вполголоса. twitter.com/darkilfa/statu…

И вот еще несколько фоток из нашего офиса. Делаем вид, что сосредоточены на работе (позируем фотографу):
notion image

Верстальщик от бога Саня рубится на PS4 в игру про кусочек мяса:
notion image

Всеобщий любимец, тайский ориентал Старки, терпит дозу любви и нежности:
notion image

А наш проджект-менеджер Лена выращивает перчики, и недавно мы делали из них перцовку:
notion image

Тут шутка про бэкенд-разработчика на заднем плане
notion image

На самом деле это продакт-директор Сетки — Роман Худоногов. А пустующий компьютер недавно перешел ко мне.

Кстати, стену на заднем плане мы месяц назад передвинули метров на 5 вглубь, т.к. перестали помещаться. Редакции пришлось потесниться :)

Раз уж заговорили про офисы, пару слов про фриланс. Далее личный опыт: долгое время работать дома — плохо.

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

Это новые знакомства, и (часто) интересный локейшн, мероприятия, новые заказы. Я прошлое лето провел в DI Telegraph, и это окупилось стократ

Я познакомился с ребятами из Moscow Coding School и стал преподавателем. Пообщался с разработчиками Bookmate и Zvooq.

Выступил с большим докладом про фронтенд на Moscow Tech Meetup: youtube.com/watch?v=H3CtzN…

Записался в группу занятий английским с крутым 68-летним нейтив-спикером. Ну и еще много чего. Главное — встать и выйти из дома.

🔥Тред (Егор Яковишен)
Маркетолога — нет. Найти человека, который знает инсайты индустрии — да. Ну и не факт, что нужно было лезть в тревел twitter.com/Addicted_fully…

@octowed @jsunderhood об ужасах зарплаты в маленьких городах)
Давай! Мне, к сожалению, тут нечего сказать, всю жизнь живу в Москве. twitter.com/demiurg/stat…

@jsunderhood куда пойти работать если кайф хайпить в 2к16?
Хороший вопрос. У кого какие мысли? twitter.com/jeetiss/status…

Я общался с одним стартапом год назад, они говорили так: React — это мода, она скоро уйдет, мы сразу все делаем на Polymer

@jsunderhood хм, на моей первой работе без опыта, лишь после месяца курсов платили 20к, а за декабрь получил в январе. Москва
А что за работа была? twitter.com/alpengol/statu…

Недавно в Телеграм-чатике про JS-вакансии @chicoxyzzy, кажется, звал писать внутренний апп на ES6 без babel

(ES6 без babel звучит как секс без презерватива...)

Удобно, когда сайт можно скачать с гитхаба и запустить локально. Это я про jsunderhood.ru, который у меня не открывается из-за происков РКН

@jsunderhood для разработки в современных браузерах норм, перед релизом билдить с babeljs
Кстати, а кто-нибудь уже задумывается о том, чтобы совсем исключить транспиляцию ES6 из pipeline сборки? twitter.com/iamstarkov/sta…

(я сейчас не про закрытые проекты, где все сидят на последнем Chrome, а публичные)

В тему транспайлинга: кто-то нибудь использует альтернативы babel, например, traceur? Если да, то почему?

@jsunderhood а разве traceur c es5to6 не объединялись в babel еще год назад?
Признаться, не слежу внимательно за traceur. Насчет es6to5 — да, помню, было дело. twitter.com/hellbeast92/st…

@jsunderhood неа, а про rollup уже обсуждали?
Давайте обсудим twitter.com/marinintim/sta…

Сорри за оффтоп, но пришел эпический спам только что. Вдруг кому нужны контакты Джона? :)
notion image

@jsunderhood то есть 50% собеседований было вами провалено? twitter.com/jsunderhood/st…
Одно я действительно завалил. Еще в одном дали тестовое, которое не стал делать, т.к. устроился в Сетку. И т.д. twitter.com/taujavarob/sta…

@jsunderhood устраивался в большую компанию (300+чел), позвонили, пришел. Оказалось, сетевые маркетологи перехватили мой телефон и врали...

А вот описание наших фронтенд-вакансий. Разработчик в Сетку: specials.lookatme.ru/workwithus/job…

И в спецпроекты (там больше верстки, анимаций и т.д.): specials.lookatme.ru/workwithus/job…

@jsunderhood А какая у сетки вилка? :P
Сетка-вилка :) Это к HR: asya.solntseva@lookatme.ru twitter.com/freiksenet_ru/…

@jsunderhood То есть все так плохо, что не озвучишь? :)
Нет, наоборот, всё очень неплохо. Правда. Просто это не моя зона ответственности. twitter.com/freiksenet_ru/…

@jsunderhood Так почему не опубликовать туда или сюда?)
Формулировка стандартная: зарплаты рыночные по итогам собеседования. Повышение за упорство довольно быстро. twitter.com/webholt/status…

@freiksenet_ru @jsunderhood нет вилки — нет вакансии? Или настолько всё, что даже примерно назвать стыдно?
Странные догадки. Если бы вакансии не было, зачем я четвертый день о ней упоминаю? twitter.com/SiliconBangalo…

Кто заинтересован в работе, а не в троллинге — знает что делать.

@jsunderhood Как быть, если Москва не влечет, а в своем городе караул в плане работы и зарплат?
Удаленная фултайм работа? twitter.com/ivkinovich/sta…

@jsunderhood Почему не выключить компьютер по окончании рабочего времени и не пойти на стадион?
У пространств для работы и для отдыха разная конфигурация. Объединить их сложно и обычно незачем. twitter.com/ivkinovich/sta…

Фронтендеры, у кого-нибудь есть опыт переезда с Mac OS на Linux? Яблочные устройства в России стали стоить непомерных денег.

@jsunderhood Давно пользуюсь и тем, и тем. Отлично себя чувствую. Какие вопросы?
Пишешь JS или верстаешь тоже? Есть проблемы с рендерингом страниц, шрифтов и т.д.? twitter.com/webholt/status…

@jsunderhood Вы же говорите, что работа дома долгое время - это плохо. А какие тогда варианты? Удаленная фултайм - это же тоже дома.
Я считаю, что плохо, да. Но вариантов-то в целом немного: офис, удаленка, переезд, свое дело. twitter.com/ivkinovich/sta…

Последнее время очень редко запускаю, но вообще да, что Фотошоп, что Скетч — под Linux это проблема. twitter.com/kostyandrew/st…

Я ими немного интересовался. Насколько понимаю, интерфейс должен быть в них сделан. Или они читают PSD/Sketch? twitter.com/gearmobile/sta…

Ага, вижу, в них можно экспортнуть файлы. А ничего не теряется при экспорте?

Другое дело, что ноутбук, на который можно поставить Linux и нормально работать, стоит как MacBook 15'' года 2012-2013 (~70-80к)

Согласен. После ретины переходить на безретинье туго. Но есть нормальные мониторы и не эппловские. Правда, дорогие twitter.com/alextewpin/sta…

@jsunderhood а зачем их постоянно обновлять?
У меня MacBook Pro 13'' mid-2009. Так что я бы не назвал это «постоянно» :) twitter.com/unel86/status/…

Только что закончился первый скайп-прогон моего доклада про WYSIWYG для MoscowJS 33. Получил много полезных комментариев. Увидимся 25.08.16

@jsunderhood Хакинтош. 3 года, никаких проблем.
Это не наш метод twitter.com/TimurMalikin/s…

@jsunderhood смотри чтобы глаза не кровоточили от линукса :)
Вот я и опасаюсь. После 7 лет на Маке... к хорошему привыкаешь. twitter.com/stepan_romanko…

Пятница


Честно говоря, после Макбука ощущение как от куска пластика с кучей портов :-( IMHO. twitter.com/yustovskiy/sta…

И дисководом!

Всем привет. Сегодня пятница — день искрометного юмора и тонкой иронии.

Хочу с вами поделиться своим фаворитом — сайтом, которые я наблюдаю года с 2008, хотя существует он раньше: web-league.ru

По всей видимости, в этом году они сделали редизайн, но все ключевые моменты остались: цитата из Евангелия, цены от 3000 руб. и пАртфолио

@jsunderhood мне кажется яблоководам да и всем остальным стоит посмотреть на Xiaomi Mi Notebook Air

Буквально несколько месяцев назад сайт выглядел вот так: web.archive.org/web/2016030617… Люблю их!

Есть странная история про мой никнейм: @yaplusplus. Я придумал лет 15 назад по первой букве фамилии и первому языку программирования.

И долгое время хотел зарегистрировать домен yaplusplus.ru, но почему-то этого не делал (студенческие годы...)

А потом ВНЕЗАПНО его зарегистрировал думаете кто? YANDEX, LLC: nic.ru/whois/?domain=…

И держит за собой до сих пор. Кто знает, может быть, мы когда-нибудь будем писать на языке Я++? Или даже Йа++ :)

🔥Тред (Егор Яковишен)
@jsunderhood как ни крути а они застряли где-то в 90-х :)
Судя по всему, они уверенно в них существуют! twitter.com/POS_troi/statu…

@jsunderhood и у меня такой сайт есть bel-design.ru с 2006 посматриваю.
Флэш! Музыка! Анимированный «мокрый пол»! Птицы, рыбы! Да это же услада для взора. twitter.com/gladkih_m/stat…

@jsunderhood lingscars.com ребята скинули сейчас
Сразу настроение поднимается! twitter.com/alpengol/statu…

@jsunderhood @yaplusplus есть хорошая книга на эту тему store.artlebedev.ru/book/urban-pla…
О, класс, не знал. Спасибо! twitter.com/zeihlis/status…

А вы как придумали свой никнейм? Один на всю жизнь или менялся со временем? Или вообще используете несколько?

Кстати, про редакторы. Ребята из W-O-S недавно зарелизили свой почти что фотошоп в браузере: verstka.io

Похоже на то, что делают Tilda и Readymag

@jsunderhood В паспорте прочитал. В конце 1990-х у меня был ник Виртуальный вампир, но потом отпустило.
Ага, я когда-то в компьютерных клубах тоже был orka (потому что любил Warcraft) twitter.com/sapegin/status…

Как у многих, мое погружение в IT началось с компьютерных игр. Мы с другом прогуливали школу и копались в консоли Counter-Strike.

Нашли много чего интересного, в том числе способ подвесить любой сервер одной командой из консоли клиента (CS 1.4-1.5)

Закончилось это тем, что мы сделали свой первый сайт в Microsoft FrontPage на narod.ru, на который выложили все свои познания.

И он даже неплохо неплохо сохранился в веб-архиве: web.archive.org/web/2003090521…

🔥Тред (Егор Яковишен)
@jsunderhood Я ещё писал его вот так вот: ViRTUAL VAMPiRE — полный конец обеда :-/ museum.sapegin.ru/tsott/index1.h…
«Феньки на JavaScript»! Да, долгое время JS воспринимался исключительно как «скрипты для сайта» twitter.com/sapegin/status…

Оригинально twitter.com/way2bariton/st…

@jsunderhood Лет в 13 нужен был никнейм для "первой русской ММОРПГ" Сфера. Взял персонажа из Сапковского.
Сфера, БК... были времена. twitter.com/freiksenet_ru/…

@jsunderhood щас проверим какие были времена - кто такая Крошка Зёма? :) и кто такие PPP from PNG?
Кто знает? :) twitter.com/stewardtz/stat…

Загрузчик модулей, работает. Какие подводные камни? Что не учел? Может не безопасно? Подскажите. gist.github.com/ymatuhin/28bb5… @jsunderhood
Комьюнити, нужно code review twitter.com/ymatuhin/statu…

Мы недавно придумывали кодовые названия для этапов работы по редактору. Сначала был этап 1 и этап 2. Потом все стали путаться.

@dshster @jsunderhood Они будут по наследству передаваться.
Вписываться в завещание вместе с паролем к твиттеру? twitter.com/webholt/status…

Завязалась дискуссия в Slack, продолжавшаяся около часа. В итоге у нас теперь фаза «Геннадий» и фаза «Педро». По Геннадию уже скоро дедлайн.

И мы с абсолютно серьезными рожами сидим в переговорках и обсуждаем, какие фичи у нас в Геннадии, а какие уходят в Педро.

А у вас в компании какие есть свои локальные словечки, мемы?

Пруф скриншот:
notion image

🔥Тред (Егор Яковишен)
А еще с недавних пор в редакционном чатике локальный мем: «Автопрефиксер перестал дописывать вендорные префиксы для старых вебкитов»

(ответ отдела разработки на вопрос, почему верстка поехала)

(для редакции звучит примерно как заклинание)

При входе в офис у нас сидит самый настоящий Упоротый Лис
notion image

@jsunderhood аутентичный или реплика?
Скорее реплика, но выглядит весьма реалистично. twitter.com/iamstarkov/sta…

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

А теперь минутка холивара, т.е. я хотел сказать, плюрализма мнений. Для JS: TDD или BDD?

У нас, как вы понимаете, Gennady Driven Development

Поговорим немного об еще одной прекрасной пятничной теме — рабочих эпик фейлах. Расскажите о своём опыте :—)

У меня в 2009 году была история, когда я вечером перед сдачей проекта клиенту убил сервер с релизной версией проекта.

Сервер был большой и железный, и лежал передо мной. А клиент был в городе Сыктывкар, и туда нужно было лететь утром вместе с сервером.

В итоге пришлось слетать два раза :-) Проект в конце концов успешно сдали, так что история со счастливым концом.

Но до сих пор помню, как включаем сервер перед приемочной комиссией, а там kernel panic и всё такое

🔥Тред (Егор Яковишен)
@webholt @webholt-junior @jsunderhood
От senior'а к junior'у! twitter.com/dshster/status…

У нас в гостях была самая красивая Планета галактики, а теперь, дорогие, перейдем к дискуссии. Как спасти наши задницы от гнева Матери?
Тем временем в дружественном коллективном твиттере происходит нечто прекрасное twitter.com/spbunderhood/s…

Знакомый из Питера рассказывал мне, что состояться в Питере === открыть свой бар. Такая система ценностей. @spbunderhood

Офисный кот Старки погребен под шевронами Сетки
notion image

Суббота


@tishkova @abroadunderhood @jsunderhood @backendsecret а много уже таких коллективных лент есть?

Воскресенье


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

Зато я с удивлением обнаружил, что установил рекорд по количество самостоятельно написанных твитов: jsunderhood.ru/stats/

Надеюсь, вам было интересно их читать. Делайте стартапы, занимайтесь бизнесом, любите JS

Увидимся 25 августа в Рамблере на MoscowJS 33. И если кто-то едет в Вильнюс на Frontend Union — напишите, увидимся

Спасибо @iamstarkov и @shuvalov_anton за любезное разрешение занять этот эфир на неделю

Не забывайте про наши фронтенд-вакансии в Setka. Фолловьте @yaplusplus, френдите fb.com/yaplusplus. П А К А !
notion image

🔥Тред (Егор Яковишен)

Ссылки