• Как выстроить процессы и перестать издеваться над командой

      Всем привет! Сегодня хотел поговорить о процессах разработки. По мере роста компании не только развивается сам бизнес, но и копятся проблемы внутри, в частности в процессе разработки. Часто их пытаются решить внедрением каких-то практик и новомодных методологий. Увы, это насильное перестраивание процесса по книжкам и тренингам нередко это приводит к ещё большим проблемам — издевательству над людьми.

      Недавно я выступал на конференции Saint TeamLead Conf 2019, в докладе я рассказал о том, как смог найти ряд проблем в рабочем процессе и потом постепенно поборол их. Здесь я постараюсь описать наиболее ценные практики, которые мне помогли не только наладить рабочий процесс, но и перестать издеваться над разработчиками. У сотрудников изменилось отношение к компании в целом и рабочему процессу.
      Читать дальше →
    • Как мы в Канадские акселераторы подавались и интервью проходили

        Краткая предистория

        Кто-то из Вас помнит о запуске первого интернет-магазина со случайными ценами в сентябре — пост на хабре.

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

        Прошло 5 месяцев со дня открытия

        Результаты и предпосылки к инкубации, которые у нас имелись:


        Почему акселерация и почему Канада

        Уже первый наш клиент принес доход, у нас есть работающая бизнес-модель, возможность перенаправлять некоторое количество средств с предыдущего бизнеса в новый проект. Наверняка, мы могли бы обойтись без инкубации. Но, рынок e-commerce очень стремительный, а идея случайных цен и монетизации тороговой площадки через рекламу хоть и новая, но достаточно сильно подвержена клонированию. В США торговые площадки собирают очень большую комиссию за свои услуги, а у нас этот рынок уже сильно обвален, хотя и очень молод. Перенос бизнеса в Канаду открыл бы для нас рынок Северной Америки. Более того, я и мой новоиспеченный партнер Коля давно задумывались о переезде в Канаду. Весной прошлого года там запустили Startup Visa Program, а осенью вступили в действие изменения позволяющие перенести свой бизнес в Канаду путем вступления в один из 6 инкубаторов. Мы просмотрели все доступные варианты и остановились на двух:
        Читать дальше →
      • Как понять, что происходит на сервере



          Александр Крижановский ( krizhanovsky, NatSys Lab.)


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


          Читать дальше →
        • Серьезное проектирование серьезных сайтов. Часть 2. Визуализация

          • Tutorial
          Это вторая часть статьи про проектирование больших сайтов. В ней мы расскажем про визуальную часть проектирования, про интерфейсы. Если вы не читали первую часть, то рекомендую это сделать тут.

          Динамический прототип



          Рис. 9. Демонстрация динамического прототипа для проекта «Маркетплейс».

          На этом этапе мы переходим от аналитики к интерфейсам, к визуальной части. На основе Mind map необходимо спроектировать интерфейсы для каждой функции и страницы. Таких интерфейсов у нас будет много, от нескольких десятков до нескольких сотен уникальных прототипов, а еще есть раскадровки, когда одна страница может иметь ряд состояний, всплывающих окон, выпадающих блоков и т.д. В процессе все прототипы объединяются в один большой динамический прототип и связываются между собой.
          Читать дальше →
          • +19
          • 26k
          • 6
        • Нянчим проект на React-redux с пелёнок

            intro
            В начале этого года мы в HeadHunter начали проект, нацеленный на автоматизацию различных HR-процессов у компаний-клиентов. Архитектурой этого проекта на фронте выбрали React-Redux стек.

            За 9 месяцев он вырос из небольшого приложения для тестирования сотрудников в многомодульный проект, который сегодня называется “Оценка талантов”. По мере его роста мы сталкивались с вопросами:

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

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

            Давайте поговорим о том, как мы развивали проект и какие решения принимали. Некоторые из них могут оказаться “холиварными”, а другие, напротив, “классикой” в построении большого проекта на redux. Надеюсь, что описанные ниже практики помогут вам при построении react-redux приложений, а живые примеры помогут разобраться, как работает тот или иной подход.
            Читать дальше →
          • React.js: собираем с нуля изоморфное / универсальное приложение. Часть 1: собираем стек

            image

            Лицо моей жены, когда она вычитывала эту статью


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


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

            Читать дальше →
          • Умоляю, не тратьте время на чтение плохих книг! И балансируйте-балансируйте-балансируйте…

              Давайте так – я не буду строить из себя гуру GTD и прочее-прочее. Я простой любитель железок, который получает кайф от написания топиков на Хабр/Гиктаймс (к сожалению, количество комментариев на Гиктаймс очень маленькое, но возврат Мегамозга сюда позволяет снова надеяться на нормальное общение).



              Так вот, я не гуру и не коуч. Однако, в свои овер 35 лет, я понял одну простую штуку – не стоит дочитывать плохие книги. Этот потрясающий по своей новизне вывод следует из простого математического расчета:
              Читать дальше →
            • Как мы разрабатываем новый фронтенд Tinkoff.ru

                Tinkoff.ru


                В апреле этого года мы перезапустили tinkoff.ru. Банк превратился в финансовый супермакет. Теперь не только клиент банка, но и любой посетитель оплатит мобильный, проверит налоги и оформит ипотеку — всё на одной платформе. В этой статье я поделюсь опытом и технологическими решениями, к которым мы пришли за год разработки.

                Читать дальше →
              • Как стать профессиональным веб-разработчиком: практическое руководство

                • Translation
                • Tutorial

                Дорога длинна и трудна, но интересна и полезна!

                Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

                По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

                Что нужно помнить:

                1. Статью разрешается пролистывать

                Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

                Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
                Читать дальше →
              • 7 правил создания красивых интерфейсов. Часть 2

                • Translation


                Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

                Мы говорили о правилах создания чистых и красивых интерфейсов.

                Вот эти правила:
                1. Свет падает сверху (Часть 1)
                2. Сначала черное и белое (Часть 1)
                3. Увеличьте белое пространство (Часть 1)
                4. Научитесь накладывать текст на изображения
                5. Научитесь выделять и утапливать текст
                6. Используйте только хорошие шрифты
                7. Крадите как художник

                Читать дальше →
              • Подборка: 115 полезных почтовых рассылок о технологиях, на которые стоит подписаться



                  В нашем блоге мы много пишем о создании почтовых рассылок — их верстке, дизайне и интересных статистических фактах. К сожалению, до сих пор многие пользователи сети рассматривают рассылки, как нечто плохое — инструмент, который маркетологи используют для того, чтобы «впарить» людям то, что они не просили, и что вообще им не нужно. На самом же деле email-рассылки — это мощный информационный канал, который может быть исключительно полезным и с профессиональной точки зрения. В доказательство этого факта сегодня мы представляем вашему вниманию подборку из 115 полезных почтовых рассылок о самых разных технологиях.
                  Читать дальше →
                  • +13
                  • 34.2k
                  • 4
                • Тестирование мобильных приложений: tips & tricks

                    Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:

                    • как облегчить процесс тестирования мобильных приложений в целом;
                    • о специфике работы с сетью, внутренними и внешними сервисами, платформах iOS и Android;
                    • какие процессные решения и изменения позволят вам развиваться быстрее и вводить культуру тестирования в отделе разработки;
                    • какие существуют полезные инструменты и решения для тестирования, отладки, мониторинга и миграции пользователей.

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

                    Как облегчить процесс тестирования?


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

                    2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
                    К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
                    Читать дальше →
                  • Шлифуем CSS-анимацию

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

                    Использование значений отрицательной задержки


                    Скажем, у вас есть несколько анимаций, которые запускаются одновременно, и вам нужно выстроить их в шахматном порядке. Можно использовать animation-delay, но вы не хотите, чтобы пользователь при посещении страницы ждал, пока запустятся некоторые недвижимые части.
                    Читать дальше →
                    • +10
                    • 25.7k
                    • 3
                  • 5 инструментов в помощь аналитику

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



                      Содержание
                      1. MS Excel Power Query
                      2. MS Power BI
                      3. Pyramid Analytics
                      4. Компоненты аналитики MS SQL server (MDS, SSIS, SSAS)
                      5. Главный инструмент аналитика

                      Читать дальше →
                      • +7
                      • 77.8k
                      • 5
                    • Gauges: стоит ли их использовать для визуализации данных


                        Визуализация данных — эффективный способ представления информации, содержащий в себе большое количество различных инструментов. Gauges (шкалы, индикаторы) — один из видов таких инструментов, который является если не популярным, то точно часто применяемым. Но насколько такой вид визуализации полезен и стоит ли его использовать?
                        Использовать или нет?
                        • +22
                        • 11.9k
                        • 5
                      • Оптимизация ASP.NET — практические советы по работе с IIS

                        В данной публикации речь пойдёт о настройке важных параметров пула ASP.NET-приложений при вызове удалённых веб-сервисов и активной работе с сетью на стороне сервера через стандартные классы .NET.



                        Введение


                        Приходилось ли вам когда-нибудь самим настраивать производственные веб-сервера (production servers) под управлением ОС Windows Server 2008 R2/IIS 7.5 и выше? Для системных администраторов, имеющих большой опыт работы с IIS, скорее всего, это тривиальная задача, но вот для веб-разработчиков, которым по различным причинам порой приходится самим участвовать в настройке «боевых» серверов, данная информация может оказаться весьма полезной.

                        Итак, приступаем. Ускоряем сайт на ASP.NET — экономим деньги предприятия и нервы администратора.
                        Читать дальше →
                        • +24
                        • 78k
                        • 6
                      • Node.js в огне

                        • Translation
                        Мы создаем новое поколение веб-приложения Netflix.com, использующего node.js. Вы можете узнать больше о нашем походе из презентации, которую мы представили на NodeConf.eu несколько месяцев назад. Сегодня я хочу поделиться накопленным опытом в настройке производительности нового стека нашего приложения.

                        Мы впервые столкнулись с проблемами, когда заметили, что задержка запроса в нашем node.js приложении со временем увеличивается. К тому же оно использовало больше ресурсов процессора, чем мы ожидали, и это коррелировало с временем задержки. Нам приходилось использовать перезагрузку как временное решение, пока мы искали причину с помощью новых инструментов и техник аналитики производительности в нашей Linux EC2 среде.

                        Читать дальше →
                      • Тонкости nodejs. Часть I: пресловутый app.js

                        • Tutorial
                        Я работаю с node.js более трех лет и за это время успел хорошо познакомиться с платформой, ее сильными и слабыми сторонами. За это время платформа сильно изменилась, как, собственно, и сам javascript. Идея использовать одну среду и на сервере и на клиенте пришлась многим по душе. Еще бы! Это удобно и просто! Но, к сожалению, на практике все оказалось не так радужно, вместе с плюсами платформа впитала в себя и минусы используемого языка, а разный подход к реализации практически свел на нет плюсы от использования единой среды. Так все попытки реализовать серверный js до ноды не взлетели, взять тот же Rhino. И, скорее всего, node ждала та же участь, если бы не легендарный V8, неблокирующий код и потрясающая производительность. Именно за это его так любят разработчики. В этой серии статей, я постараюсь рассказать о неочевидных на первый взгляд проблемах и тонкостях работы, с которыми вы столкнетесь в разработке на nodejs.

                        Читать дальше →
                      • Я хочу работать в Google! Телефонное интервью (часть 2)

                          Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
                          Читать дальше →
                        • Я хочу работать в Google! Телефонное интервью (часть 1)

                            Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
                            Читать дальше →